+2 szavazat
(3,3e pont) által 
által szerkesztett

Ennél a leckénél játok a Codeberry-n: Az alapok gyakorlása / Haladó gyakorlatok / drawCheckeredPattern()

Egy sakktáblát kellene rajzolnom, de nem tudom, hogy hogyan induljak el. Tudna valaki segíteni?

1 válasz

+1 szavazat
(15,8e pont) által 
által kiválasztott
 
Legjobb válasz

https://jsbin.com/yunebosuci/edit?js,console,output
A függvény összességében azt csinálja, hogy ha fehér négyzetet kell tenni, akkor 1-et ad vissza, ha feketét, akkor 0-át.
Úgyhogy először megírtam if (x==0 && y==1) { return 1; } módon néhány sorra, hogy lássam a logikát.
Láttam, hogy kell hozzá valami "ez a sor vajon páros vagy páratlan számú" gondolat, úgyhogy rákerestem, hogy hogyan lehet JavaScriptben ezt megoldani: Google javascript odd even. Találtam egy pici függvényt, amelyet betettem szamParosE() néven.
Aztán megpróbáltam leírni if-ek segítségével, amit korábban megcsináltam a sorok egyesével másolgatásával - ha páros a sor, akkor fehér minden páratlan, ha páratlan a sor, akkor fehér minden páros.
Hát, ennyi volt a gondolatmenet, remélem, segített.

(3,3e pont) által 
Nagyon köszi, hogy leírtad az egész gondolatmenetet!
Az rendben van, hogy ilyen sok sor és függvényből áll a megoldásod?
(15,8e pont) által 
A feladatot természetesen meg lehet oldani máshogy is, sokkal egyszerűbben is (kevesebb sorból és függvényből), csak szerettem volna jobban megvilágítani, hogy hogyan gondolkodok. Egyébként az amúgy is egy jó gyakorlat, ha a logikailag jól elkülöníthető blokkokat külön függvényekbe "teszed ki", amiknek - és ez lehet, hogy még fontosabb - beszédes nevük van. Jelen példámban a `variable` talán nem a legjobb névválasztás.
...