Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
bin neu in dem thema java bin gerade schiffeversenken am programieren und will mit methoden bzw. funktionen arbeiten jedoch verstehe ich nicht wie ich diese funktion erstellen muss und wie ich sie dann abrufe könnt ihr mir ein kleines beispiel geben ?
kann auch sein das ich garkeine methode meine... also ich habe z.b eine fest definierte abfolge...
Java:
if (kooschlachtschiff[i].equalsIgnoreCase("a1")){
a1 = " O ";
}
else if (kooschlachtschiff[i].equalsIgnoreCase("a2")){
a2 = " O ";
}
usw....
jetzt will ich aber nicht nach jeder eingabe die ganzen verzweigungen runterschreiben.... sondern immer nach einer eingabe einer kooardinate auf eine methode oder funktion... zugreifen in der dann geprüft wird
while(true) {
leseEingabe()
Wenn eingabe equals "exit" Dann
spielBeenden() //zB mittels break;
prüfenAufTreffer()
ausgabeDerRundenergebnisse()
}
ausgabeDerEndergebniss()
das läuft so lange, bis irgendwer exit eingibt, wo dann nur noch das Endergebnis ausgegeben wird.
Zu beachten: Natürlich ist nur das while(true) richtiger Java Code, aber das Innere hast du ja quasie schon
um sinnvoll mit java zu programmieren, sollte man imho versuchen oo zu denken!
Es gibt eine Klasse Schiff, das bspw. folgende Attribute und Methoden hat.
Die Postition auf der es steht, die Treffer die es schon erhalten hat...und diese Klasse sollte -so zumindest mein rudimentärer Ansatz- auch eine Methode bereitstellen, die bei Übergabe einer x und y Koordinate, sagt ob es getroffen wurde, oder auch nicht!
Wenn man sich ernsthaft mit Java bzw. der OO Programmierung auseinandersetzen will. Sollte man sich m.M. ein Grundlagenbuch zu legen.
Ich persönlich finde Java von Kopf bis Fuß - O'Reilly ganz gut - ist nur eine Empfehlung, keine Aufforderung zum Kauf.
die frage die sich auch stellt für uns ist, wie du die ganzen felder des spielfeldes gespeichert hast .. wenn du schätzungsweise 100 variablen hast, à la
Code:
a1 a2 .. a10 b1 b2 .. b10 ... etc
dann wird dir eine methode nicht weiterhelfen.
Das Problem wird an deinem Code oben schon sichtbar, du hast zwar einen String und ein Feld mit Koordinaten, aber in jeder Verzweigung greifst du auf eine andere Variable (hier a1 und a2) zu, um diese zu ändern. Du kannst nicht mit einem einfach String auf eine gleichnamige Variable zugreifen, da müssen anderer Strukturen her.
Zeige doch mal wie du die Daten des Spiels abgelegt hast. Ansonsten stimme ich jgh zu, dass du hier später mit objektorientierter Denkweise leichter vorwärts kommst. Eventuell ist das Spiel schon zu komplex um hier ohne neue Klassenstrukturen und objektorientierter Programmierung (OOP) sinvollen Code zu erzeugen.