Schachbrett frage

  • Themenstarter Themenstarter Drizzt128809
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
D

Drizzt128809

Gast
Hi ich hätte mal ne Frage (bin Java-Anfänger) und zwar wie man ein Schachbrett in Java programmiert.
Es geht mir erstmal nur um das Feld

es soll so aussehen --> weißes Feld ist gekennzeichnet mit zwei Leerzeichen " " und schwarzes Feld mit zwei X "XX"

Die erste Zeile hab ich schon hinbekommen, aber mein Problem besteht darin, dass ich nicht weiß, wie ich die anderen Felder hinbekomme, da Sie sich ja immer abwechseln.

z.B.
Code:
  XX  XX  XX  XX
XX  XX  XX  XX
  XX  XX  XX  XX
XX  XX  XX  XX

Also weiß schwarz weiß schwarz weiß schwarz weiß schwarz
schwarz weiß schwarz weiß schwarz weiß schwarz weiß

Größé 8 x 8 Felder

falls ihr noch mehr Infos braucht, schreibts einfach dazu.

Hier mein Quellcode für die erste Zeile:

Java:
        1.  public class ChessBoard {
   2.  
   3.     public static void main(String [] args){
   4.         
   5.     String whiteField = "  ";
   6.     String blackField = "XX";
   7.     
   8.     for (int field = 0; field <= 8; field++)    
   9.     
  10.     if (field % 2 == 0)
  11.     {
  12.     System.out.print(whiteField);
  13.     }
  14.     else
  15.     {
  16.     System.out.print(blackField); 
  17.     }
  18.     
  19.     }
  20. }



mfg
 
Zuletzt bearbeitet von einem Moderator:
du brauchst eine 8er Schleife über den bisherigen Code

für die Abwechslung zwischen den Zeilen z.B.
if ((field+x) % 2 == 0)
statt
if (field % 2 == 0)

x ist ein Faktor, der sich nach jeder fertigen Zeile ändert, z.B. zwischen 1 und 0 hin- und herschwankt,
aber 0-7 bzw. 1-8 müsste auch klappen
 
Du musst Da nochmal eine Schleife aussenherum packen:
Java:
for (int zeile=0; zeile < 8; zeile++) {
    for (int spalte=0; spalte < 8; spalte++) {
        //hier musst Du dann anhand von zeile und spalte definieren was ausgegeben werden soll
    }
}
 
Achso einfach eine geschachtelte Schleife...
hab solang überlegt und kam einfach nich drauf...
danke für die Antworten =)
mfg
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben