Prikaz jedne poruke
Stara 30.6.2009, 13:23   #18
Patton
Deo inventara foruma
 
Avatar korisnika Patton
 
Član od: 1.11.2005.
Lokacija: Silent Hill
Poruke: 4.647
Zahvalnice: 157
Zahvaljeno 904 puta na 493 poruka
Slanje poruke preko ICQ-a korisniku Patton Slanje poruke preko MSN-a korisniku Patton Slanje poruke preko Yahooa korisniku Patton
Određen forumom Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)

Par stvari da kazem...

Hvala Saletu za odlicnu temu... ucinio sam je lepljivom i samo malo pobrisao offtopic (poruke tipa: hvala, bravo)

Sto se tice tetrisa... onaj ko ne uspe da ga sklepa za dan, treba da batali programiranje. Dobro ajde, meni je trebalo dva dana, posto je to bio moj prvi C program I od toga je napravljena komercijalna igra: http://indus3.org/sugatris/screenshots.html

Ne vidim nikakav problem u logici ove igre, samo treba razmisliti malo.

1. Zamislite tablu za tetris kao niz nula. Ivice table cemo oznaciti sa jedinicama, tako da se na kraju dobije nesto ovako:

Kod:
1,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,1,
... itd...
1,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,1,
1,1,1,1,1,1,1,1,1,1,1,1,1
2. Zamislite tileove za tetris opet kao nizove, ali dovoljno siroke da u njih moze stati ceo tile sa sve 4 moguce rotacije i da bi se razlikovali od niza table, oznacicemo ih sa 2:

Kod:
0,0,0,0,   0,0,0,0,   0,0,0,0,   0,0,0,0,
0,2,0,0,   2,2,2,0,   0,2,2,0,   0,0,0,2,
0,2,0,0,   2,0,0,0,   0,0,2,0,   0,2,2,2,
0,2,2,0    0,0,0,0    0,0,2,0    0,0,0,0
3. Logika igre:
  • generisati random tile
  • prekopirati tile na tablu negde na vrh na sredinu
  • testirati da li je doslo do kolizije sa ostalim tileovima na tabli... tj da li se neka jedinica iz tile niza poklopila sa jedinicom na tabli
  • ako se poklopila to je ocigledno kraj igre... ako nije za odredjeni broj milisekundi (zavisi od nivoa tezine) tile se spusta polako dole (obrise se sa trenutne pozicije i prekopira na istu x poziciju samo na y+1 poziciju)
  • u istom trenutku testirati kursorske tastere i dugme za rotaciju i reagovati na njih (pomerati tile po tabli)
  • ako dodje do sudara tile-a po x osi sa ostalim tileovima ili zidom table ne dozvoliti da se tile dalje pomera
  • ako dodje do sudara tile-a po y osi, onda ga je igrac ugasio, generisati novi tile, na vrhu table i krenuti sve ispocetka
  • dodati uslov da svaki put pre generisanja novog tile-a (odnosno kad prethodni padne na dno table), testira se cela tabla da li postoji neki red koji je skroz ispunjen (odnosno da li neki y ima sve x-eve razlicite od 0)
  • ako ima, setovati sve te x-eve (koji imaju vrednost 2) na 0 i pomeriti ceo niz od te pozicije na gore za jedan na dole

4. opciono ubaciti scoring sistem, nivoe, razne druge oblike... itd... itd...

5. ima li ista lakse od ovog po meni tetris je jednostavniji od pacmana, jer nema AI-a
Patton je offline   Odgovor sa citatom ove poruke
Sledećih 4 korisnika se zahvaljuje korisniku Patton na korisnoj poruci:
boshkodj (30.6.2009), Eni (30.6.2009), G@Rtn3R (1.7.2009), sasha vukelic (30.6.2009)