DavidErikMollberg/kennsluromur huggingface dataset:
streng fyrir leikmanninn þannig að við sjáum hérna þegar verið að bæta við s t r á player Þá fáum við fyrir fyrsta leikmanninn fáum við number einn point sex
en bætum svo við number tveir points tíu við þann streng án þess að það sé nokkuð new line þarna á milli
að við skrifum út points þá setjum við bara new line hérna inni í format strenginn
Prófum þetta svona
Chicago Bulls scoring number einn point sex number tveir points tíu number þrjú points tólf og svo framvegis
Við tökum þessar tvær hérna
prentum það út
Þarna fæ ég LA Lakers scoring Áður fékk ég Chicago Bulls scoring
og það á nú að koma eitthvað bil á milli er það ekki
Sjið þið það bil hérna eftir að liðin tvö sem búið er að prenta út liðin tvö með fjölda stiga þeirra
Þá ætti að koma bil þannig að við gætum sett
eitt bil hérna
Og jafnframt á
í lagi svona prófum þetta
þarna fáum við bil Já eftir LA Lakers won hérna þá á að koma bil þannig að ef við skjótum inn eða það er að segja ný lína skjótum inn einni Print setningu hérna í upphafi líka
Þá fáum við hérna
bil hér á milli eftir að vera búinn að segja hver vann kemur bil svo áður en við skrifuðum út score sérhvers leikmanns þá koma líka bil
Og þá er hvað
hvað er eftir Það á eftir að segja hérna í lokin Chicago Bulls highest scoring player og LA Lakers highest scoring player
Þannig það getum við sett hérna í lokin
að prentum út
það hér á koma nafnið og skrifar síðan highest scoring player
format um það síðan með team a punktur get
skrifum síðan út team
Þarf ekkert að útfæra það
sama hérna
sækjum nafnið á liði b og köllum á get player with highest score fyrir b
Svona á prófum
Já þá lendum við í því
að hérna segir type error stærra en not supported between instances of basket player and basketball player
Það er að segja ég reyni að bera saman
það tilvik basketball player með stærra en
það er eina sem ég á eftir
inn í basketball player sjálfu
hér þarf ég að útfæra fallið
stærri en greater than
Það tekur self og other muni þið af því við erum að bera saman tvö tilvik af
basketball player og
lógíkin er sú að self sko basketball player er einn basketball player er stærri en annar ef hann hefur skorað fleiri stig
er self points
stærra heldur en other points
Ef svo er
Chicago Bulls highest scoring player er númer þrjú með tólf stig og LA hækest highest scoring player er númer fjögur með sextán stig
Og það passar hérna miðað við það sem ég átti að fá þrjú með tólf stig og fjögur með sextán stig
í þessu verkefni til þess að geta gert þetta þá þurftu við raunverulega að átta okkur á því
er að eða skilja kóðann sem var gefinn það er að segja team klasann fari í gegnum sérhvert fall í honum og átta sig á hvað hann er að gera og sérstaklega átta sig á samskiptum þess klasa við klasann sem við áttum útfæra sem varð þessi basketball player
Þegar við sáum þessa línu þá hefðu átt að átta okkur á því að ja við þurfum greinilega smið þarna sem tekur inn eitt númer
þannig init fallið á að taka inn númer
þegar við komum hingað í play offense
basketball player í lista af þannig leikmönnum
og shoot ball er fall í basketball player sem við þurftum að útfæra Það var reyndar gefið upp í lýsingunni
Þegar við kölluðum á get player with highest score Þá lentum við í því einmitt að við vorum ekki búnir að útfæra stærra en merki milli tveggja tilvika af basketball player þannig að þá þurftu útfæra greater than fallið
og að síðustu var eitt fall í viðbót í basketball player sem var s t r fallið
við þurftum þegar að
team er skrifað út þannig að þegar kallað er á print fyrir team þá sér þá verður kallað í s t r fallið fyrir team og það fall kallar á s t r fallið fyrir basketball player
Ég ætla að halda áfram hérna að fara yfir útfærslu á verkefnum í lokaprófinu haustið tvö þúsund og átján
dæmið sem ég ætla að skoða hér eða verkefnið heitir grid að það hefur haft allt hérna fjörutíu og fimm prósenta vægi í lokaprófinu
Notandinn ge gefur færslu til kynna með eftirfarandi bókstöfum
Nú svo segi ég notandi færist aldrei út úr hnitakerfinu notand Notandi er til dæmis staddur í dálki lengst til vinstri og ýtir á l fyrir vinstri þá færist hann í dálkinn lengst til hægri
Staða notandans er táknuð með o á skjánum en önnur hnit í kerfinu eru táknuð með ex Og svo segir hérna ákveðin föll og fastar eru gefnir sem að þið eigið að nota en þið þurfið að útfæra aðalforrit og önnur nauðsynleg föll
Svo kemur hérna ensk lýsing sleppum henni og skoðum bara hérna dæmi um inntak úttak þá sjáum við hér að hérna er búið að prenta út fimm sinnum fimm hnitakerfi þar sem að notandinn byrjar í punktinum núll komma núll og við lítum semsagt á svo að
ja vi
það er svo sem hægt að líta á þetta á á marga vegu en ég ætla að líta á þetta þannig að staðan lengst til vinstri uppi er núll núll
punkturinn lengst til vinstri uppi er
hefur hnitin núll komma núll
Þannig að það er greinilegt að hérna skrifast út staðan eins og hún lítur út í upphafi Síðan er notandanum gef gert kleift að slá inn einhverja færslu r hérna fyrir right og þá færist o ið hérna til hægri
Ef að notandi slær inn aftur r þá færist hann aftur til hægri og er kominn hingað
þá færist o ið niður skjáinn takið eftir niður skjáinn hérna o
aftur down förum við niður
förum svo til hægri
förum svo til hægri og er þá er ég kominn út á enda hérna
hægra megin
þannig að þegar ég færi mig aftur til hægri
þá dett ég ekki út af
égáþarf segir í lýsingunni ég þurfi að vera áfram inni í hnitakerfinu en þá færist ég yfir hérna vinstra megin þannig að ég fer eiginlega hringinn má segja
þegar ég færist til hægri ef ég staddur hérna á endanum
þá færist ég kemst ég hringinn og er kominn út á endann vinstra megin þá og q fyrir quit
skrifa út borðið í upphafi
bjóða svo notandanum upp endurtekið að slá inn færslu og eftir sérhvern leik þarf að prenta út borðið upp á nýtt
hvernig algrímið okkar á að líta út
og það sem gefur reyndar líka var að
ákveðið aðalforrit eða kóði var gefin í dæminu og han ég er kominn með hann hér inn í
skrá sem heitir grid punktur pé ypsílon Og þetta var gefið að ákveðnir fastar sem átti að nota í útfærslunni fyrsta lagið dim hérna sem stendur þá fyrir dimension er fimm
og þetta þýðir það þá að sko ástæðan fyrir því að við erum með þetta sem fasta er að ef við viljum breyta þessu í sex sinnum sex kerfi eða fjórum sinnum fjórir þá get ég einfaldlega breytt þessu hérna í sex og allt á að virka það er akkúrat tilgangurinn með föstum
empty er táknaður með ex það er segja þar sem hann er ekki staddur
að fara til vinstri hægri upp og niður er táknað með ell err u
Þannig að þetta eru fastar sem átti að nota Síðan var hérna fall gefið sem heitir get move og hérna sjáum við doc strenginn þar sem segir returns a move corresponding to the user input direction
Þannig að notandinn er spurður hérna með input setningu hvert hann vill færa sig
það er að segja til vinstri hægri upp eða niður
right fyrir err
ef hann er ekki einhver af þessum fjórum þá er ég bara að skila til baka quit Hvað er quit Quit er q hérna
Og þetta var það að var sagt í lýsingunni ef þetta er ekki einhver af þessum stöfum þá hættir
forritið keyrslu
Nú ef ég slæ inn q til dæmis þá er hann ekki eitt af þessu og þá hætti ég sjálfkrafa Það er að
Það er að segja þá skilum við reyndar hérna quit annars skilum við move takið eftir því að þetta fall það hættir ekki keyrslunni
Að skila leiknum til baka þannig að þetta var gefið get move Svo var annað fall gefið sem heitir initalize grid
Það er að segja það er skilað til baka upphafsstilltu borði fyrir
þessa dimension sem um ræðir Og hvernig er það gert hérna Ja upphaflega er grid tómt
svo er hlaupið frá núlli upp í dim mínus einn þá
Það er að segja ef að dim er fimm hjá okkur þá er þetta
þá er þetta range ið núll upp í fjóra búinn til tómur sublist i síðan hlaupið aftur núna frá joð frá núll upp í fjórir og
append a eða bætt við sublist ann empty
hvað var empty
Empty var x
hefur fimm dálka þannig að þetta er listi af listum
Þannig að þegar búið er að búa til þetta grid þá er að lokum
sett í núll komma núll
position Hvað var position
og svo er grid inu skilað
Þannig að þessi þessum tveimur þessi tvö föll voru gefin það þurfti
Svo kom bara bara hérna
main program starts here in your implementation you have to use the functions and the constant given above Þannig að
það er krafa um að þyrfti að nota þetta sem var gefið
Nú þá er spurningin sem sagt hvernig komumst við af stað með þetta Jú eins og alltaf þá er mikilvægt að reyna að skrifa upp algrímið að lausninni fyrst í grófum dráttum
og við getum sagt sem svo hvað er það sem við þurfum að gera í upphafi hér
Við þurfum að
upphafsstilla grid ið Og það er reyndar búið að gera það fyrir okkur Það er búið að skrifa það fall sem gerir það
Við þurfum síðan að
read input from user
Hvernig veit ég
þá gæti ég sagt sem svo hér
not quit
hvað gerum við þá
from user aftur
og display grid
nei þetta er í öfugri röð hjá mér
Ég ætlaði að hafa þetta svona
við sýnum borðið og lesum svo næsta frá notanda og þetta gerum við sem sagt endurtekið
þannig að þegar við vorum búin að skrifa þetta svona upp semsagt algrímið sjálft Þá getum við lagt af stað með með útfærsluna
og munum
og þetta er mjög mikilvægt eins og ég er búinn að segja margoft
Þannig að fyrsta sem við þurfum að gera er að upphafsstilla borðið okkar
Nú það vill svo til eins og ég sagði áðan að það er búið að útfæra það
þannig að við getum eiginlega bara kallað á það
og ef við skoðum það aðeins aftur hérna
UNK þá heitir það initalize grid og það skilar grid eða borðinu til baka
þannig að þá bara tek ég við því hérna og segi bara grid er samasem initialize grid og það tekur ekkert inn
Hvernig get ég séð hvort eitthvað hefur gerst við þetta Ja ég gæti hreinlega bara prentað þetta grid út er það ekki
Eigum við ekki bara að prófa þetta svona
Sjáið þið hérna fáum við lista af listum og upphafs staða notandans er hérna tilgreind með o
ákkúrat það sem við vildum
Þannig að þarna er ég búinn að fullvissa mig um það að fallið initialize grid virkar og ég forritaði ekkert annað en þetta í upphafi en prófaði strax að keyra forritið
Þá erum við búin með þetta hérna initalize grid en við þurfum að sýna það
Það tekur þetta borð eða þetta grid inn en þá verð ég náttúrulega að upphafsstilla þetta
Ég ætla að eiga mér hérna fall sem heitir display grid
tekur þetta inn
Og ég get búið til hérna streng sem segir
það er ekkert flóknara en þetta er ósköp einfalt fall
Hvað þarf það að gera þa Það við erum með
Það er að segja við erum með raðir og dálka
þannig að við hlaupum í gegnum
raðirnar for i in range dim for i
hleyp í gegnum raðirnar og fyrir sérhverja röð þá þarf ég að hlaupa í gegnum
dálkana Fyrir sérhvern innri lista þarf ég að hlaupa í gegnum dálkana
og ég þarf að prenta eitthvað út hérna ég prenta þá út stakið sem er í sem sagt
í röð i og dálki j og eigum við ekki hafa eitt bil hérna á milli
Þess vegna hef ég end samasem hérna eitt bil
þannig ef við aðeins kíkjum aðeins á þessa tvöföldu for lykkju upphaflega er i núll og j núll þá mun ég prenta út stak númer núll núll
Síðan verður j einn og þá mun ég í prenta út stak númer núll einn og svo framvegis
Og þegar að
ja segjum bara að ég geri ekkert meira í augnablikinu
Hvað mundi þá gerast núna Ef ég bara að prófa þetta
ja þá sé ég að það prentast vissulega rétta rétt stök en þau prentast ekki í svona hnitakerfi vegna þess að ég er alltaf með
end samasem UNK eitt bil sem þýðir það það verður aldrei til new line þannig mig vantar er það ekki eina nýja línu eitt new line eftir það búið er að prenta út einn
eina röðina þannig að þegar þessi innri for lykkja er búin þá get ég prentað bara tóma línu prófað þetta aftur
Og nú fæ ég raunverulega það sem ég vildi sjá
Nú fæ ég einmitt fimm sinnum fimm hnitakerfi
Þannig að þá erum við búin með þennan hluta hérna display grid
nú read input from user Eigum við ekki bara að hafa það sem sér fall hérna
Ég ætla að kalla það bara get move svona Og hvað á það að gera
Nei bíðum nú við get move var það ekki gefið Jú get move var gefið ég þarf ekkert að forrita það
Það kemur sér nú vel Þá þarf ég bara aðeins að skoða það Returns a move corresponding to the user input direction Það tekur ekkert inn og það skilar leiknum til baka annað hvort skilar það quit eða move
og move er þá left right up eða down Þá er það nú einfalt
Þá getum við bara í okkar aðalforriti hér sagt move er samasem get move
Þá erum við hreinlega bara búin með þennan hluta hérna read input from user þá er það bara þessi while lykkja
Move hérna ef ég ýti á l þá hættir hann já vegna þess að ég sótti bara leikinn og gerði ekki neitt hérna til að sjá hvort raunverulega að þetta sé rétt Þá gæti ég auðvitað prentað út leikinn
keyrt þetta aftur move er segjum err fyrir right og það skrifast út err Þannig að þetta virðist vera allt í fína með get move enda var UNK það fall sem gefið
Þannig að ég get þá sagt hérna á meðan að leikurinn minn er ekki samasem quit þetta fallið þetta er fastinn quit sem að stendur fyrir q
Þá geri ég eitthvað Ja hvað stendur hérna Make a move
já make a move þannig að við þurfum eitthvað fall sem heitir
Gerum það bara svona
í augnablikinu
Svo kemur display grid er það næsta
Og svo kemur hérna read input from user aftur Það er raunverulega þetta hérna sem ég var búinn að skrifa
Svona Þannig að sko ég veit að þetta fall virkar
Nú ég gæti náttúrulega bara
Ég vil bara vera viss um að aðalforritið mitt virki þrátt fyrir það að ég sé ekki búinn að útfæra make move
Þannig að ég vil sjá heildina virka
Ef að move er ell þá biður hann mig aftur um move ef að move er right þá biður hún mig aftur um move og takið eftir að UNK færir enga færslu hérna framkvæmir engar færslur vegna þess að ég er náttúrulega ekki búinn að forrita þá virkni
Ef ég geri up ef ég geri down allt í fína þetta virkar ef ég geri q þá hættir hún það passar
hérna sjáum við reyndar að það er svona auka bil sem að auð lína sem kemur áður en að
næsti leikur er sleginn inn
Við gætum það er ekki það sem gerist hérna hjá mér í útfærslunni þannig við gætum þá bara til þess að laga það strax gætum við bara sett eina print setningu hérna í lokin sem gefur okkur þá auka línu
eigum við að prófa það Þetta yrði sem sagt í display grid fallinu
sjáðu nú fæ ég aukalínu ef ég segi r það kemur alltaf aukalína þarna það er það sem að svoleiðis áttu úrtakið að líta út
Ef ég ýti á einhvern eins og bara einhvern lykil sem er hvorki left right up eða down eins og ex þá hættir forritið líka
Já þannig að eina sem eftir er það er þetta fall make move Ja eina segi ég þarna er nú aðalflækjan að framkvæma leikinn
Hvað þarf ég til að framkvæma leikinn Ja ég þarf að geta tekið við ég framkvæmi leikinn i þessu grid i hérna ja ég framkvæmi hvaða leik
Ég framkvæmi move þennan leik
Að auki
þetta er leikurinn sem ég framkvæmi Að auki vantar mig hérna hvar er ég staddur Hvar er leikmaðurinn staddur hverju sinni
Þannig ég ætla að halda utan um það
með því að vera hérna með eitthvað sem ég kalla column komma row
eða öllu heldur row koma column að það sé túpla sem hefur þetta hérna gildi núll komma núll
Eigum við ekki að hafa þetta svona aðeins læsilegra svona Þannig að þe sko row komma column eru semsagt tvær breytur í
aðalforritinu sem að standa fyrir staðsetningu leikmannsins hverju sinni Þannig að upphaflega er það í núll komma núll og
Hérna gerði ég einhverja vitleysu ég fór að breyta hérna display grid en ætlaði að breyta make move ég ætlaði að fá hérna grid og move hér inn og
þá þarf ég að senda aftur sný ég þessu við Við skulum hafa þetta row komma column frekar hérna
Þá þarf ég að senda núverandi row og column inn hérna í make move þannig að make taki hérna líka row og column
og nú gerði ég dálitlar breytingar og þá er skynsamlegt að keyra þetta bara aftur
UNK sjá keyrir þetta örugglega Right nei nú keyrir þetta ekki vegna þess að
ég er að reyna að skila til baka row og column út úr eða taka við row komma column UNK make move en make move það gerir pass það skilar þá engu Hvað ef ég geri þá bara ég skilum þá bara til baka row komma column hér
borðið kemur inn leikurinn sem notandinn vill framkvæma kemur inn núverandi row og column kemur inn og ég skila til baka breyttu row og column
þannig að hérna þurfum við að útfæra eitthvað
Og þá skiptir máli er það ekki hver leikurinn er Þannig að sem sagt spurningin er er ég að fara til vinstri hægri upp eða niður
left þá geri ég eitthvað
up þá geri ég eitthvað
og í síðasta lagi ef hann er
down þá geri ég eitthvað það má nú segja sko að ef hann er hvorki left right UNK hvorki left né right né up þá hljóti hann að vera down
þá hlýt ég að þurfa að minnka dálkinn
ef ég á að færa mig til vinstri ef ég er staddur hér og færi mig til vinstri þetta o eigi að koma hérna einum til vinstri þá á ég að minnka dálkinn
þannig að ég gæti sagt hérna ef ég fer til vi vinstri þá segi ég call er samasem call mínus einn
Nú ætla ég sem sagt í augnablikinu ekki neitt að hugsa um það að ég geti farið hringinn bara til þess að taka svona eitt skref í einu ekki forrita alveg alla virknina í upphafi
Ef ég er að fara til hægri þá hlýt ég að þurfa að segja að call er sama sem call plús einn
Ef ég er að fara upp ef ég er staddur einhvers staðar hér og ég fari upp það að o ið á að koma einu upp þá þarf ég að minnka röðina
Þá segi ég row er samasem row mínus einn ef ég er að fara niður þá segi ég row er samasem row plús einn
munið þið það semsagt að af því að við erum byrjum hérna í núll komma núlli uppi til vinstri þannig að þegar ég fer niður skjáinn þá er ég að hækka röðina
og að lokum skila ég breyttu row komma column til baka
Ef ég forrita ekkert meira heldur en bara þetta í upphafi
þá er mikilvægt að prófa
og ef ég geri núna right
þá gerðist ekkert það keyrði hins vegar Það gerðist ekki neitt vegna þess að
vegna þess að ég skilaði row komma column til baka en ég er ekki búinn að uppfæra nýju stöðuna
Segjum ég segi bara hérna quit
þannig að þetta hér sem heitir make move það vissulega breytti þessu hérna
En það uppfærði ekki stöðuna mína
þannig að þegar þetta er búið
þarf ég að uppfæra stöðuna og það er þá sem ég kannski átta mig á því að make move fallið mitt sem ég er að skrifa hér
það er UNK ekki að framkvæma leikinn Það er að finna út nýja stöðu
Þannig að frek kannski ætti þetta frekar að heita
sem að ég var byrjaður að ætlaði mér að skrifa
það sem heitir make move
make move það er það sem að
in the given grid og
returns new row komma col
Þetta fall
það nýtir sér síðan þetta hérna fall sem heitir find new position
Þannig að ég gæti sagt sem svo
row komma col er samasem find new position af
hvað á að koma inn Það er grid það er kom það er move það er row komma col sem kemur inn
og svo þarf ég að framkvæma þann leik ja
það fyrsta sem ég þarf að gera
er að láta x í núverandi stöðu vegna þess að ég er að færa mig
þá verður gamla staðan að x i en nýja staðan verður að o i þannig að gamla staðað þarf að verða að x i hvernig geti látið hana verða x i Jú grid af núverandi stöðu áður en ég geri nokkra breytingu
segja grid af þessu
og þessu
Það verður empty er það ekki Sem okkar x
Síðan finn ég nýju stöðuna
og breyti þá
nýju stöðunni
í position
Muniði empty var fasti fyrir xm position var fasti fyrir o Þannig ég
breyti núverandi stöðu í x breyti nýju stöðunni í o
og skila þá til baka
skýr og afmörkuð hlutverk make move
framkvæmir leikinn
en nýtir sér fall sem heitir find new position sem hefur eingöngu það hlutverk að finna
nýju stöðuna sem er þá nýtt row og nýtt column Og þ
á ættum við nú kannski að skrifa það hér
returns the new row komma col
and the current
ég þarf ekkert þetta grid hérna
sem þýðir þá að þegar við köllum hérna á find new position þá þurfum við ekkert grid
Já þá fæ ég hvað
indentation er rangt hjá mér
það keyrir ef ég færi mig til hægri núna
sjáið þið þá fer o ið til hægri
X ið o ið var hér við breyttum því í x og vi við breyttum við hækkuðum column um einn ef ég færi aftur til hægri
hækka column um einn ef ég fer niður down
þá hækkum við röðina um einn ég fer down
segjum að ég fari aftur núna right
Og ef ég geri aftur núna right
list assignments index out of range Í þessari setningu grid row komma col er samasem position í line sextíu
Ég fékk eitthvað row komma column til baka og reyni að setja position í það row komma column en ég fór út fyrir Ég var nefnilega komin út á enda
ég var komin út enda hér og ætlaði að hækka column um einn
þannig að þá fór ég of langt
Nú þá erum við bara komin með það vandamál að að
við þurfum að passa okkur að fara ekki út fyrir hnitakerfið Það var líka það sem stóð í lýsinguna Að við þurftum alltaf að vera innan hnitakerfisins
Og hvað er það sem ég þarf þá að passa
Ef að move er left
að ef að
hvenær má ég ekki draga einn frá Ef að
col er stærri en núll
draga einn frá
sem sagt ef að ég ef column sko ef ég er staddur hérna lengst til vinstri og ég geri left þá
má ég ekki fara út fyrir Þá má ég ekki draga einn frá vegna þess að þá fæ ég mínus einn
þannig að ef col er stærri núll þá dreg ég frá
læt ég col vera
dim mínus einn
Af hverju dim mínus einn
Vegna þess að ef ég fer til vinstri og ég hér þá á ég enda hérna hægra megin og það er einmitt dim mínus einn Dim er fimm í okkar dæmi en það verður þó fjórir dim mínus einn
Hvað gerist ef ég vill fara til hægri
nema að ef að col
er minna
ef að col er minna heldur en dim
mínus einn er það ekki
Ef að col er minna en dim mínus einn
þannig að þá segi ég ef að col er minna heldur en dim mínus einn þannig eins og ég hef til dæmis þrír þá má ég fara til hægri
col er samasem col plús einn
Ef hins vegar það er ekki svo
Þannig að ef ég er staddur hérna lengst til hægri og ég fer til hægri
þá á ég að fara hringinn og koma hingað
Það er að segja gera kol samasem núll
Nú höldum áfram ef að
ég er að fara upp
þá má ég ekki fara upp
förum til baka
ef ég er staddur hérna
segjum hér og ég ýti á u þá má ég ekki fara upp skjáinn hérna
vegna þess að ég kemst ekki upp ég á að fara hringinn ég á að fara hérna niður
er stærri en núll þá má ég fara upp
annars fer ég hringinn og
dim er hérna munið þið
fimm Það verður þá row verður þá fjórir
nú síðasta ef ég fara niður
er minna en dim mínus einn
sem sagt ef ég er staddur hérna neðst
ef ég er staddur í hérna núll einn tveir þrír þá get ég farið niður En um leið og ég staddur í fjórir þá get ég ekki farið niður lengur þá UNK enda hérna uppi
Þannig að ef að row er minna en dim mínus einn
á ég að setja row samasem núll er það ekki
Jú ef ég fer niður og út fyrir þá verður row núll
Hérna vantar tvípunkt
UNK einhversstaðar tvípunkt Nei allt í lagi
þannig þetta er nú dálítil flækja hférna
nú finnst mér einhvern veginn kóðinn sé orðin dálítið ólæsilegur hjá mér
En alla vega áður en ég fer að gera einhverjar breytingar á því þá vil ég nú vera viss um að þetta virki
Ef ég fer til hægri
þá fer ég það er rétt ég fer aftur til hægri ég fer þriðja sinn til hægri
hvað gerist núna ef ég fer í fimmta sinn til hægri
Já nú fór ég hringinn
förum niður
hann virkar hann virkar fer í þriðja sinn niður fer í fjórða sinn niður fer í fimmta sinn niður Já þá fór ég upp
hvað gerist ef ég fer upp núna
Já þá fór ég raunverulega hringinn
Hvað gerist ef ég fer til vinstri núna
fer ég hinum megin
Þannig þetta virkar
Þannig að núna er ég í sjálfu sér búin að leysa vandamálið
en það sem að plagar mig hérna
er það að mér finnst kóðinn minn ekki nógu læsilegur núna ef við skoðum aðeins þetta fall hérna
Find new position þá er það orðið hérna ég þarf dálítið að scroll a hérna niður til að sjá sko allt fallið
og þetta eru einhverjar fjórar if setningar if með elif hérna og innan sérhverrar if setningar er líka með aðra if else setningu
Þetta er orðið dálítið ólæsilegt
Þannig að það sem ég ætla að gera í staðinn ég ætla að nýta mér það
að ég er með dálítið þann sama kóða hérna Ef við sjáum til dæmis
hérna stendur if row er stærri en núll þá er row minnkað annars er row samasem dimm mínus einn
Hérna stendur ef col er stærra en núll þá er col minnkað annars verður col dim mínus einn Þetta er sami góði raunverulega bara mismunandi breytur
Hérna stendur ef col er minni nefndi mínus einn er kol hækkað annars er col núll
Þannig að það sem ég ætla að gera ég ætla að búa mér til tvö föll sem eru inni í þessu falli
það er allt í lagi við getum verið með föll inni í föllum
Þetta á að lækka minnka eitthvað gildi decrease á þetta að vera
Það tekur inn eitthvað gildi
og það sem það segir hér
það sem það gerir
er að og nú ætla ég að gera þetta í einni setningu
sem við höfum reyndar ekki mikið notað en það er ágætt að benda á þetta
Ég ætla að segja hérna
Value verður value mínus einn af því að þetta á að lækka gildið
annars dim mínus einn