D
Drizzt281209
Gast
Huhu, da mein altes Schachbretttheme geschlossen wurde, weil man mir erfolgreich helfen hat können, mach ich hier kurz ein neues Thema auf, hoffe es ist ok.
Diese Fragen haben mit dem alten Thread sowieso nichts mehr zu tun.
Nun gut also ich muss ein Schachbrett programmieren (nur das Layout quasi) und bin schon recht weit, nur habe ich zwei Fragen, wäre nett wenn ihr mir die beantworten könnt, sonst sitz ich wieder Stunden vorm PC ohne jeglichen Erfolg... :/
Führt zur folgenden Ausgabe:
Nun meine Fragen:
1)
Ich muss auf die linke Seite meines Brettes auch noch so Sterne bekommen, aber egal wo ich "System.out.print("*"); hinsetze, es kommt entweder eine Fehlermeldung oder der Stern erscheint nur in der ersten Zeile (also nebem den ersten zwei X)
Würde mich also freuen, wenn mir einer sagen könnte wo das hingehört und warum das bei mir nich ging.
2) Wie ihr sehen könnt, ist (fast am Ende meines Quellcodes) System.out.printf( "*");
Als ich die elegantere Variante wählen wollte "System.out.printf("%8d", "*"); ging das nicht.... was mach ich da falsch?
Letztlich sollen ja die linken und rechten Sterne 8 Zeichen von meinem Schachbrett entfernt sein
3) (letzte Frage)
Wie bekomm ich es gebacken, dass mein Schachbrett abwechselnd Weiß/Schwarz Schwarz/Weiß am anfang jeder Zeile ausgibt?
Ich weiß dass ich irgendwie die Kästchen multiplizieren muss, da dass Schachbrett 64 Felder hat, aber wie und wo füg ich das am besten ein?
PS: Bin noch ein ziemlicher JAVA-Anfänger....erst seit ca. nem Monat..hoffe ihr könnt mir das so erklären, dass ich das auch verstehe und nichtmehr nachfragen muss.
mfg !
Diese Fragen haben mit dem alten Thread sowieso nichts mehr zu tun.
Nun gut also ich muss ein Schachbrett programmieren (nur das Layout quasi) und bin schon recht weit, nur habe ich zwei Fragen, wäre nett wenn ihr mir die beantworten könnt, sonst sitz ich wieder Stunden vorm PC ohne jeglichen Erfolg... :/
Java:
1.
2. public class ChessBoard {
3.
4. public static void main(String [] args){
5.
6. for (int starsAbove = 1; starsAbove <= 24; starsAbove++)
7. {
8. System.out.printf("*");
9. }
10.
11. System.out.printf("\n");
12.
13.
14. String whiteField = " ";
15. String blackField = "XX";
16.
17. for (int wholeField =1; wholeField <=8; wholeField++)
18.
19. {
20. for (int field = 1; field <= 8; field++)
21.
22. if (field % 2 != 0)
23. {
24. System.out.printf(whiteField);
25. }
26. else
27. {
28. System.out.printf(blackField);
29. }
30. System.out.printf(" *");
31. System.out.printf("\n");
32. }
33. for (int starsBelow = 1; starsBelow <= 24; starsBelow++)
34. {
35. System.out.printf("*");
36. }
37. }
38. }
Führt zur folgenden Ausgabe:
Java:
************************
XX XX XX XX *
XX XX XX XX *
XX XX XX XX *
XX XX XX XX *
XX XX XX XX *
XX XX XX XX *
XX XX XX XX *
XX XX XX XX *
************************
Nun meine Fragen:
1)
Ich muss auf die linke Seite meines Brettes auch noch so Sterne bekommen, aber egal wo ich "System.out.print("*"); hinsetze, es kommt entweder eine Fehlermeldung oder der Stern erscheint nur in der ersten Zeile (also nebem den ersten zwei X)
Würde mich also freuen, wenn mir einer sagen könnte wo das hingehört und warum das bei mir nich ging.
2) Wie ihr sehen könnt, ist (fast am Ende meines Quellcodes) System.out.printf( "*");
Als ich die elegantere Variante wählen wollte "System.out.printf("%8d", "*"); ging das nicht.... was mach ich da falsch?
Letztlich sollen ja die linken und rechten Sterne 8 Zeichen von meinem Schachbrett entfernt sein
3) (letzte Frage)
Wie bekomm ich es gebacken, dass mein Schachbrett abwechselnd Weiß/Schwarz Schwarz/Weiß am anfang jeder Zeile ausgibt?
Ich weiß dass ich irgendwie die Kästchen multiplizieren muss, da dass Schachbrett 64 Felder hat, aber wie und wo füg ich das am besten ein?
PS: Bin noch ein ziemlicher JAVA-Anfänger....erst seit ca. nem Monat..hoffe ihr könnt mir das so erklären, dass ich das auch verstehe und nichtmehr nachfragen muss.
mfg !