| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	
	
	
		| Autor | 
		Nachricht | 
	
	
		Hasenfuß Senior JLI'ler
  
  Alter: 38 Anmeldedatum: 20.08.2002 Beiträge: 291
  Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 27.08.2002, 08:40    Titel: Tetris | 
				     | 
			 
			
				
  | 
			 
			
				| Kennt jemand eine einfache(!) Möglichkeit, bei einem Tetrisspiel zu testen ob eine Reihe vollständig ist und gelöscht werden kann? | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Michael JLI'ler
 
 
  Anmeldedatum: 20.07.2002 Beiträge: 173 Wohnort: Münster / NRW Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 27.08.2002, 08:54    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				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   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Sören JLI Master Trainee
  
 
  Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 27.08.2002, 11:57    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				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   !
 
 
 
MiracleBoy   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Hazel JLI MVP
  
  
  Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
  Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 27.08.2002, 14:37    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Das gehört doch nicht unter Grafik!! _________________ *click* Dabuu!?
 
Twitter: http://twitter.com/Ollie_R
 
 | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Hasenfuß Senior JLI'ler
  
  Alter: 38 Anmeldedatum: 20.08.2002 Beiträge: 291
  Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 27.08.2002, 16:04    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Danke.
 
@Hazel: Bei genauerer Überlegung hast du Recht.sorry | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Hazel JLI MVP
  
  
  Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
  Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 03.09.2002, 15:14    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				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   _________________ *click* Dabuu!?
 
Twitter: http://twitter.com/Ollie_R
 
 | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Hasenfuß Senior JLI'ler
  
  Alter: 38 Anmeldedatum: 20.08.2002 Beiträge: 291
  Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 03.09.2002, 16:17    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Danke ich hab jetzt auch kapiert wie man Level durch Felder und so erstellen kann.
 
 
@MiracleBoy: Der Code hat mir viel geholfen danke   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Kampfhund Super JLI'ler
 
  Alter: 43 Anmeldedatum: 20.07.2002 Beiträge: 408
  Medaillen: Keine 
	
  | 
		
			
				 Verfasst am: 04.09.2002, 15:16    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				| schwuppdiwupp verschoben *g* | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		 |