Egy tetris játékot nehéz megcsinálni, hogyan álljak neki c++ ban?
Hogyan csináljam meg,hogy menjenek lefelé az idomsíkok?
És,hogyan forgassam?
És mit tegyek az if be,hogy le ellenőrizem ,hogy el e kell tűnnie egy csíknak?
Ezek a kérdések mind arra vezethetők vissza, hogy mi az ábrázolás. Nem írtál semmit arról, hogy hogy tervezted ábrázolni a játék állapotát.
Ugye mi van egy tetris játékban: van a pálya, ami egy NxM-es mező, van a "következő elem", és van a pontszám.
Ha a mezőnek mondjuk választasz egy kétdimenziós tömböt, akkor viszonylag egyszerű a kérdéseidre a válasz. Gondolkodni próbáltál már rajtuk, vagy csak várod, hogy valaki megoldja helyetted?
Próbáltam de fogalmam sincs pedig tudom a c++ nyelvi elemeit .Kétdimenziós tömb helyett még mit lehet használni?
Én nem értem ezt az egészet,hogy az istenbe programozzam le.
A pályát,hogyan oldjam meg minek hatására fog odébb tolódni a síkidom a pályába?
Segítsetek?
És a feltételvizsgálatba hogyan ellenőrizzem le?
Én arra gondoltam,hogy a kétdimenziós tömbben ha egymás után vízszintes elemeiben megtalálható akkor így.
Rossz a beszélőkém bocsi.
Akkor néhány megoldás.
Ugye a pálya az egy kétdimenziós tömb, egyszerűség kedvéért int-ekből, 0 ha üres, 1 ha foglalt.
Az aktuális alakzatot mint koordináták (két int, amivel indexeled a tömböt) sorozatát tárolod (javaslom pl a vector-t, mint tárolót). Amikor lejjebb mozgatod, akkor ellenőrzöd minden tárolt koordinátára, hogy az eggyel lejjebb lévő (tehát a sort jelölő koordinátát csökkented eggyel) mező létezik-e (azaz leértél-e az aljára, vagy sem), üres-e, ha nem, akkor megnézed, hogy szerepel-e az alakzatban. Ha leértél az aljára, vagy olyan foglalt mező van alatta, ami nem szerepel az alakzatban, akkor az alakzat megállt. Ekkor törlöd a vectort, amiben tároltad, és feltöltöd a következő alakzattal.
Az ellenőrzés pedig egyszerű: ha van egy sor, amiben mindegyik mező foglalt, azt törlöd, és a fölötte lévőket lejjebb csúsztatod eggyel.
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!