Hirdetés

Új hozzászólás Aktív témák

  • andriscs
    aktív tag

    Hi!

    Azt hiszem, hogy egy ilyen, viszonylag egyszerű kódot nem kell agyonkommentezni. A lényege az, hogy minden egyes elemtől indulva végigmegy az irányokon. amit mondazs, azt más is ajánlotta már, de nem tudom, hogy miért jobb az, ah a for ciklusok feltételében ez van, hogy a következő elem 0 (ami a keretező tömbelemeket jelentené), vagy hogy ne lépje túl a tömb htaárait. Ennek így is működnie kellene. Amit te ajánlasz, az annyiban változtatná meg a kódot, hogy for(count=1;game[row+count][col]!=''0'';count++). De ez pontosan azt csinálná, mint hogy elér az eredeti tömb széléhez, ami az én feltételeimben van.

    Hi!

    Úgy látom, hogy tényleg el kell megyaráznom, hogy hogyan működik a függvény. Szóval a külső 'for' ciklus a tömb oszlopain lépdes egyesével, az abba beágyazott 'for' pedig a sorokon lépked, magyarul a két 'for' bejárja a 2D-s hálót. A kis 'for' ciklusok az adott elem (game[row][col]) értékét hasonlítják össze egy bizonyos irányban a többi tömbelemmel (tehát mikor pl- game[row+count][col] van, akkor egy soron megy végig addig, amíg el nem éri a tömb szélét). Minden irányban más változó tárolja az azonos elemek számát. Mikor ez a változó elérte a 3-at, akkor van 4 egyforma elem ugyanabban az irányban. Ilyenkor lesz a return true. Egyébként pedig false. Szóval egy elég primitív algoritmus. Csak ezt nem értem, hogy miért nem működik a széleken. Ha valaki rájön a megoldásra, szóljon!

Új hozzászólás Aktív témák