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

  • kovisoft

    őstag

    válasz t256 #15555 üzenetére

    Azt is csinálhatod, hogy az eredeti megoldásodat annyiban módosítod, hogy a bekertSor és bekertOszlop értékadást ismételgeted, ha olyan értékeket kaptál, hogy az adott helyen a jatekter-ben van már valami. Pl.:

    int bekertSor;
    int bekertOszlop;
    do {
    bekertSor = rnd.Next(0, 3);
    bekertOszlop = rnd.Next(0, 3);
    } while (jatekter[bekertSor, bekertOszlop] != '_');

    Itt lehetne ugye végtelen ciklus akkor, ha már minden mező ki van töltve (vagy ha annyira rossz a véletlenszám-generátor, hogy bizonyos kombinációt soha nem dob ki). A korrekt megoldáshoz ezt az esetet is le kellene kezelned valahogy (pl. megnézed, van-e még egyáltalán üres mező, vagy csak szimplán kilépsz kellően sok lépés után, stb.).

    De mivel ez egy beadandó, és a legegyszerűbb megoldás elkészítése is gondot okoz, ezért szerintem a korábbi értekezést a tökéletes megoldásról most javarészt figyelmen kívül hagyhatod, feltéve, hogy nem hívod meg a függvényedet azután is, hogy már betelt a jatekter. De azért nem árt, ha tisztában vagy ennek a megoldásnak a buktatóival.

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