Methoden Funktionen

marcoxdd

Mitglied
Hallo zusammen,

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 ?

vielen dank
 
was kannst du denn bisher programmieren, bzw hast du programmiert, ohne methoden geht da nix?!

Java:
public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Tachens");
    }
}

Such die Methode und den Methodenaufruf 🙂
 
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
 
Das nennt sich Schleife 😉

Java:
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!
 
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.
 

Zurück
Oben