Ti hogyan fognátok a CandyCrush program java nyelven való megírásához?
Sziasztok! SZTE-n vagyok első éves programtervező informatikus, kb 2 hónapja próbálok ismerkedni a JAVA-val, de már nyakamon lassan a kötelező program leadásának ideje és tanácsokat szeretnék kérni, hogyan fussak neki a programnak?
Itt a link, CandyCrush a neve, egy lebutított változat, de fogalmam sincs hogyan fussak neki. Nem forráskódra vagyok kíváncsi, csak tanácsok után érdeklődök hogy mit, hogyan csináljak, mert még nem értem 100%-san a JAVA programozást. :| Köszönöm előre is!
Tűzd ki a célokat: grafikusan akarod megcsinálni v. konzolosan? (utóbbit javaslom)
Tervezd meg mire lesz szükség: valószínűleg kell egy tábla osztály, kell egy cukorka ősosztály és kellenek a cukorkából származó gyermekek, amik speciális tulajdonsággal bírnak.
Ezen kívül kell még egy fő osztály, ami elindítja és vezérli a játékot, kapja az inputot, mozgatja a cukorkákat.
Utána ezeket kösd össze és nagyjából kész is!
Én először a logikát csinálnám meg, GUI nélkül. Első lépésként a tábla (mátrix) generálását a megadott arányokkal. Utána az egyes lépések logikáját csinálnám meg, mindegyiket akár beégetett lépéssorozattal tesztelném, egy tesztesetre összerakott mátrixban. Persze mindezt úgy, hogy kiprinteli mindig a mátrixot konzolra.
Lehet, érdemes az egyes cukroknak külön osztályokat írni (mert vannak speckó cukrok, meg van szín tulajdonság, stb.), ami mondjuk egy Cukor ősosztályból származik és a mátrix Cukor elemekből áll.
Ha a logika kész, akkor a GUI-t kell hozzá megcsinálni és hozzádrótozni.
Egy olyan problémám lenne még, hogy hogyan tudom a Tabla osztályba generálni véletlenszerűen a különböző cukorkákat?
Am. valahogy így tervezem:
- Megkérdezem a játékostól hogy mekkora méretű táblán akar játszani (legyen pl. 20, tehát egy 20x20-as cukorkákból álló táblázatot fogok legenerálni)
- Megkérdezem a nehézségi szintet (egy számláló változó ami 0-ig fog majd csökkenni egyesével és eddig lehet a cukrokat majd helyezgetni)
- A cukrokat legenerálom véletlenszerűen (vagyis annyira nem is véletlenszerűen mert meg van adva hogy milyen valószínűséggel jelenhet meg, inkább csak a megjelenés helye a véletlenszerű)
- Összehasonlítom a cukrokat és ha legalább 3 azonos színű egymás mellett van akkor azok eltűnnek, a többiek lejjebb jönnek és az első sorban újabbak generálódnak, esetleg ha speciális cukor is volt azok a cukrok is eltűnnek ami miatt speciális a cukor
- Közben adogatom a pontokat egy másik változóhoz, attól függően hogy hány és milyen cukor tűnt el
- Amikor a 0-hoz ért a számláló változó akkor a játék véget ért, ha a játékos elérte a 800 pontot akkor nyert ellenkező esetben nem, illetve felajánlom az újrakezdést vagy épp a kilépést.
Ez így jó gondolatmenet?
"hogyan tudom a Tabla osztályba generálni véletlenszerűen a különböző cukorkákat?"
Generálsz egy véletlenszámot (Math.random()). Ha ez kisebb mint 0.7, akkor az egyik típusú cukrot generálod, ha 0.7-0.8 közé esik, akkor a másodikat, stb.
int N = 10;
Cukor[][] tabla = new Cukor[N][N];
// viszont az egyes cukrok konstruktorait még külön meg kell hívni
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!