JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=41ac58d6bca950633e3e6a99813338a4Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Tetris

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Hasenfuß
Senior JLI'ler


Alter: 36
Anmeldedatum: 20.08.2002
Beiträge: 291

Medaillen: Keine

BeitragVerfasst am: 27.08.2002, 09:40    Titel: Tetris Antworten mit Zitat

Kennt jemand eine einfache(!) Möglichkeit, bei einem Tetrisspiel zu testen ob eine Reihe vollständig ist und gelöscht werden kann?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael
JLI'ler



Anmeldedatum: 20.07.2002
Beiträge: 173
Wohnort: Münster / NRW
Medaillen: Keine

BeitragVerfasst am: 27.08.2002, 09:54    Titel: Antworten mit Zitat

Tetris hab ich noch ned geproggt, aber ich würde es so machen:

Das gesamte Spielfeld wird durch ein int-Array repräsentiert. Wenn du zb. 10x25 Felder haben willst, machst du int Feld[10][25]. Jetzt kannst du zu jedem Feld speichern, ob da ein Stein ist oder nicht. Für eine vollständige Reihe schaust du dann einfach, ob alle Array-Werte mit der gleichen x-Koordinate einen Stein enthalten:

Code:

bool bReiheKomplett = true;
int iWelcheReihe = 0;

for(int y = 0; y < 25; y++)
{
    iReiheKomplett = y;
    for(int x = 0; x < 10; x++)
    {
        if(Feld[x][y] != 1) bReiheKomplett = false; // 1 bedeutet hier 'beinhaltet einen Stein'
    }
    // hier kannst du dann analysieren, ob bReiheKomplett
    // wirklich true ist und die Reihe komplett ist.
    // Damit kannst du dann weiterrechnen und die Reihe evtl.
    // wegmachen oder so.
}
   

_________________
Es geht auch ohne Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 27.08.2002, 12:57    Titel: Antworten mit Zitat

Ich hab auch mal mit einem TetrisClone angefangen!
Leider ist der Quellcode total vermurkst!
Funktioniert aber sonst ganz gut!
Ich hab den Code mal hochgeladen:
TetrisByMiracleBoy

Vielleicht kannste damit ja was anfangen Wink !


MiracleBoy Cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 27.08.2002, 15:37    Titel: Antworten mit Zitat

Das gehört doch nicht unter Grafik!!
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hasenfuß
Senior JLI'ler


Alter: 36
Anmeldedatum: 20.08.2002
Beiträge: 291

Medaillen: Keine

BeitragVerfasst am: 27.08.2002, 17:04    Titel: Antworten mit Zitat

Danke.
@Hazel: Bei genauerer Überlegung hast du Recht.sorry
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 03.09.2002, 16:14    Titel: Antworten mit Zitat

Btw... man kann Michael's Technik noch optimieren:

Code:

...
// Spielfeld, global
int Field[COLUMNS][ROWS]; // 0 = kein Spielstein; 1 = Spielstein
...

// Anzahl der Spielsteine in der aktuellen Reihe
int RowValue = 0;

// Hilfszeiger
intl * Temp = NULL;

for(int x = 0: x < COLUMNS; x++)
{
   // Auf aktuelle Reihe zeigen
   Temp = Field[x];

   // Reihe durchgehen und Werte sammeln
   for(int y = 0; y < ROWS; y++)
   {
       RowValue += *Temp;
       ++Temp;
   }

   // Iss voll?
   if(RowValue == COLUMNS) // Reihe voll

   // Variable resetten
   RowValue = 0;
}


Naja... war nur noch ein Vorschlag... es gibt sicher noch VIIEEL mehr Möglichkeiten Smile
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hasenfuß
Senior JLI'ler


Alter: 36
Anmeldedatum: 20.08.2002
Beiträge: 291

Medaillen: Keine

BeitragVerfasst am: 03.09.2002, 17:17    Titel: Antworten mit Zitat

Danke ich hab jetzt auch kapiert wie man Level durch Felder und so erstellen kann.

@MiracleBoy: Der Code hat mir viel geholfen danke Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 04.09.2002, 16:16    Titel: Antworten mit Zitat

schwuppdiwupp verschoben *g*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum