ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
533
533
EMPFEHLEN
-
Hallo!
Mal eine Frage:
Gibt es irgendwo ein Beispiel zu das Spiel 'Schiffe versenken' für NetBeans?
Es soll nicht graphisch dargestellt werden, sondern es geht einfach um Prinzip! Es kann mit Nullen und Kreuzen dargestellt werden!
Ich finde einfach keinen passendes und ich hab selber noch nie mit Java gearbeitet.
Dankeschön!
-
09.01.12 17:51 #2
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
eventuell hilft dir das weiter: klick.
Ansonsten: Nein, ich wüsste nicht wo man das sonst herunterladen kann. Ist eine Aufgabe, die nicht allzu schwer ist und somit auch für Anfänger geeignet ist.
Gruß,
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Hi,
vielleicht hilft es dir weiter: http://informatik.zum.de/pieper/java...eversenken.pdf
Gruß
G1n0
-
Dankeschön für die Seiten.
Hab mal selber was gebastelt aber ich kriege eine endlose Schleife, warum?
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
package Gebiet; public class Gebiet { /** * @param args */ public static void main(String[] args) { int x=10; int y=10; int counter = 1; int [][] O = new int [x][y]; for(int col = 0; col < y; col++) { for(int line = 0; line < x; line++) { O [col][line] = -1; } } System.out.println(""); while(counter < 11) { for(int k = 0; k < x; k++) { int a = (int) (Math.random()*x); int b = (int) (Math.random()*y); O[a][b] = 0; } System.out.println(); for(int col = 0; col < y; col++) { for(int line = 0; line < x; line++) { if(O[col][line] == -1) { System.out.print("0" + " "); } if(O[col][line] == 0) { System.out.print("X" + " "); } if(O[col][line] == 1) { System.out.print("S" + " "); } } System.out.println(""); } } } }
Also ich brauch nur 2 solche 10x10 Kästchen erstmal ohne die Schiffe! Ich bin ziemlich am Anfang mit Java deswegen bitte ich euch mir mit einfach Wörtern zu erklären!
Danke!
-
10.01.12 16:11 #5
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
Code java:1
while(counter < 11)
Du erhöhst den Counter nie.
Würde dir ausserdem empfehlen das ganze etwas abstrakter zu machen. Somit kannst du dich auch etwas genauer mit Vererbung auseinander setzen.
Zum Beispiel:
Eine abstrakte Klasse Feld. Davon erben dann die Klassen Schiff und Wasser. In jeder von Feld abgeleiteten Klasse kannst du die toString() Methode überschreiben, die bei Aufruf den entsprechenden Buchstaben zurückgibt die das Feld darstellt.
Gruß,
BKGeändert von Bratkartoffel (10.01.12 um 16:15 Uhr) Grund: Ableitung von Schiff in Schiffstypen eher nicht so optimal, rausgestrichen
Über eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Ok, was du mir vogeschlagen hast verwirrt mich!

Hab jetzt so gelöst:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
package Schiffeversenken; public class Schiffeversenken { /** * @param args */ public static void main(String[] args) { int x=8; int y=8; int [][] Schiff = new int [x][y]; for(int spalte = 0; spalte < y; spalte++) { for(int row = 0; row < x; row++) { Schiff [spalte][row] = -1; } } System.out.println(""); for(int c = 0; c < x; c++) { int a = (int) (Math.random()*x); int b = (int) (Math.random()*y); Schiff[a][b] = 0; } System.out.println(); for(int spalte = 0; spalte < y; spalte++) { for(int row = 0; row < x; row++) { if(Schiff[spalte][row] == -1) { System.out.print("0" + " "); } if(Schiff[spalte][row] == 0) { System.out.print("X" + " "); } } System.out.println(""); } System.out.println("<---------Gegner---------->"); int x1=8; int y1=8; int [][] Feind = new int [x1][y1]; for(int spalte = 0; spalte < y1; spalte++) { for(int row = 0; row < x1; row++) { Feind [spalte][row] = -1; } } System.out.println(""); for(int k = 0; k < x1; k++) { int a = (int) (Math.random()*x1); int b = (int) (Math.random()*y1); Feind[a][b] = 0; } System.out.println(); for(int spalte = 0; spalte < y1; spalte++) { for(int row = 0; row < x1; row++) { if(Feind[spalte][row] == -1) { System.out.print("0" + " "); } if(Feind[spalte][row] == 0) { System.out.print("X" + " "); } } System.out.println(""); } } }
Kann man das meinem Lehrer zeigen? Ich musste nur das Grundgerüst aufbauen, ohne graphische Tricks
!
Geändert von 123123123 (10.01.12 um 16:43 Uhr)
-
11.01.12 10:13 #7
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
ich würde da noch ein paar Änderungen vorschlagen:
1. Du hast alles in der Main-Methode. Das sieht nicht schick aus, und wird so normal auch nicht gemacht. Lagere die einzelnen Teile in sinnvollen Schritten in Methoden aus.
2. Die static main() ist eigentlich nur dazu da, eine Instanz von dem Objekt zu erstellen, in der sie steht. Das heißt die komplette Funktionalität wird über Methoden des Objektes durchgeführt.
3. Du hast viel redundanten Code drin und das Ding lässt sich schlecht erweitern. Wieder ein Grund die einzelnen Schritte in Methoden auszulagern.
4. Du hast keine Kommentare drin. Lediglich die Standard-JavaDoc Kommentare, diese sagen aber auch nichts aus.
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
Ähnliche Themen
-
Schiffe versenken - Problem
Von Marimi im Forum C/C++Antworten: 5Letzter Beitrag: 13.11.11, 14:26 -
Schiffe versenken - Probleme
Von Effa im Forum Java GrundlagenAntworten: 5Letzter Beitrag: 28.04.11, 15:54 -
Schiffe versenken für Einsteiger?
Von Marimi im Forum C/C++Antworten: 4Letzter Beitrag: 14.11.10, 12:45 -
Schiffe versenken
Von Victim De Ace im Forum JavaAntworten: 1Letzter Beitrag: 12.04.06, 18:21





Zitieren

Login





