Kezdőoldal » Számítástechnika » Programozás » Egy tetris játékot nehéz...

Egy tetris játékot nehéz megcsinálni, hogyan álljak neki c++ ban?

Figyelt kérdés

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?


2012. jún. 1. 02:07
 1/4 iostream ***** válasza:
100%

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?

2012. jún. 1. 08:26
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

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.

2012. jún. 1. 12:20
 3/4 anonim ***** válasza:
A tetris látszólag könnyű feladat, de vannak benne buktatók, ha az ember rossz megvalósítást használ. Ahogy gondolom, nagyon nem vagy tapasztalt programok tervezésében és írásában. Ha sürgősen kell megoldás, akkor azt ajánlom keresgélj a neten forráskód részelteket (biztos rengeteg van, mert gyakori példa), és próbáld meg megérteni, mit miért csináltak, és miért olyan osztály-hierarchiát használnak, mint amilyet.
2012. jún. 1. 13:40
Hasznos számodra ez a válasz?
 4/4 iostream ***** válasza:

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.

2012. jún. 1. 13:51
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!