Home
/
JavaForum
/
Java allgemein
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
4.802 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 779 von 2212 (35%)
Autor
Gast
Datum
03.03.05, 13:19
Betreff
Re: Spielprogrammieren
Hallo,
es gibt, wie gesagt, 13 Gewinnsituationen.
wenn fw = die Farbe des Spielers ist und i = Zeile, j = Spalte liefert nachfolgender Code 0 bei gewonnen und > 0 bei nicht gewonnen.
// gewinnsituation?
if(TRACE) System.out.println( "Pruefe: "+i+","+j);
if( j >= 3 ) { // waagerecht xxxy
count++ ;
if( fw==feld[i][j-1] &&
fw==feld[i][j-2] &&
fw==feld[i][j-3] )
{
if(TRACE) System.out.println( "Regel 1 gewinnt" ) ;
return 0 ;
}
}
if( j >= 2 && j<M-1) { // waagerecht xxyx
count++ ;
if( fw==feld[i][j-1] &&
fw==feld[i][j-2] &&
fw==feld[i][j+1] )
{
if(TRACE) System.out.println( "Regel 2 gewinnt" ) ;
return 0 ;
}
}
if( j >= 1 && j<M-2) { // waagerecht xyxx
count++ ;
if( fw==feld[i][j-1] &&
fw==feld[i][j+1] &&
fw==feld[i][j+2] )
{
if(TRACE) System.out.println( "Regel 3 gewinnt" ) ;
return 0 ;
}
}
if( j < M-3 ) { // waagerecht yxxx
count++ ;
if( fw==feld[i][j+1] &&
fw==feld[i][j+2] &&
fw==feld[i][j+3] )
{
if(TRACE) System.out.println( "Regel 4 gewinnt" ) ;
return 0 ;
}
}
if( i <= 2 ) { // senkrecht nach unten
count++ ;
if( fw==feld[i+1][j] &&
fw==feld[i+2][j] &&
fw==feld[i+3][j] )
{
if(TRACE) System.out.println( "Regel 5 gewinnt" ) ;
return 0 ;
}
}
if( i >= 3 && j >= 3) { // diagonal rechts oben
count++ ;
if( fw==feld[i-1][j-1] &&
fw==feld[i-2][j-2] &&
fw==feld[i-3][j-3] )
{
if(TRACE) System.out.println( "Regel 6 gewinnt" ) ;
return 0 ;
}
}
if( i >= 2 && j >= 2 &&
i < N-1 && j < M-1 ) { // diagonal rechts 2 unten 1 links oben
count++ ;
if( fw==feld[i-1][j-1] &&
fw==feld[i-2][j-2] &&
fw==feld[i+1][j+1] )
{
if(TRACE) System.out.println( "Regel 7 gewinnt" ) ;
return 0 ;
}
}
if( i >= 1 && j >= 1 &&
i < N-2 && j < M-2 ) { // diagonal rechts 1 unten 2 links oben
count++ ;
if( fw==feld[i-1][j-1] &&
fw==feld[i+1][j+1] &&
fw==feld[i+2][j+2] )
{
if(TRACE) System.out.println( "Regel 8 gewinnt" ) ;
return 0 ;
}
}
if( i < N-3 && j < M-3 ) { // diagonal rechts unten
count++ ;
if( fw==feld[i+1][j+1] &&
fw==feld[i+2][j+2] &&
fw==feld[i+3][j+3] )
{
if(TRACE) System.out.println( "Regel 9 gewinnt" ) ;
return 0 ;
}
}
if( i < N-3 && j >= 3) { // diagonal links unten
count++ ;
if( fw==feld[i+1][j-1] &&
fw==feld[i+2][j-2] &&
fw==feld[i+3][j-3] )
{
if(TRACE) System.out.println( "Regel 10 gewinnt" ) ;
return 0 ;
}
}
if( i >= 1 && j >= 2 &&
i < N-2 && j < M-1 ) { // diagonal links 2 unten rechts 1 oben
count++ ;
if( fw==feld[i-1][j+1] &&
fw==feld[i+1][j-1] &&
fw==feld[i+2][j-2] )
{
if(TRACE) System.out.println( "Regel 11 gewinnt" ) ;
return 0 ;
}
}
if( i >= 2 && j >= 1 &&
i < N-1 && j < M-2 ) { // diagonal links 1 unten rechts 2 oben
count++ ;
if( fw==feld[i-2][j+2] &&
fw==feld[i-1][j+1] &&
fw==feld[i+1][j-1] )
{
if(TRACE) System.out.println( "Regel 12 gewinnt" ) ;
return 0 ;
}
}
if( i >= 3 && j < M-3 ) { // diagonal links oben
count++ ;
if( fw==feld[i-1][j+1] &&
fw==feld[i-2][j+2] &&
fw==feld[i-3][j+3] )
{
if(TRACE) System.out.println( "Regel 13 gewinnt" ) ;
return 0 ;
}
}
return count ;
MfG Okke
Diskussionsverlauf:
Spielprogrammieren
Re: Spielprogrammieren
Re: Spielprogrammieren
Re: Spielprogrammieren
Re: Spielprogrammieren
Re: Spielprogrammieren
Re: Spielprogrammieren
Re: Spielprogrammieren
Re: Spielprogrammieren
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com