Ich hab ein 10x10 Schiff versinken spiel, wo ich in mein Spielfeld-array meine Schiffe als char 'o' einfügen soll.
Jedoch habe ich das Problem, dass beim einfügen die Schiffe überlappen.
ich möchte also versuchen zu überprüfen, dass wenn der Platz voll ist er er einen Platz weiter gehen soll und dort dann das schiff einfügen soll.
Damit ich weiß ob da schon ein Schiff vorhanden ist, würde ich den Platz nach belegbarkeit prüfen.
Wenn der Platz leer ist soll er mit dem Schiff befüllt werden und wenn nicht erstelle ich neue Koordinaten für mein schiff und betrachte den Platz erneut. Das geht dann immer so weiter bis ich einen leeren char gefunden habe... Also brauche ich noch zusätzlich eine for schleife oder?
Damit ich weiß ob da schon ein Schiff vorhanden ist, würde ich den Platz nach belegbarkeit prüfen.
Wenn der Platz leer ist soll er mit dem Schiff befüllt werden und wenn nicht erstelle ich neue Koordinaten für mein schiff und betrachte den Platz erneut. Das geht dann immer so weiter bis ich einen leeren char gefunden habe... Also brauche ich noch zusätzlich eine for schleife oder?
Naja abhängig von der Implementierung könntest du eine Methode haben .setBoat(x, y) an den Index Matrix[x][y] setzen soll. Diese prüft nun ob das Feld leer ist. Sollte dies der Fall sein, wird das Boot gesetzt und true zurückgegeben ansonsten false. Nun hast du um das ganze eine Schleife sprich du kannst solange Koordinaten prüfen bis alles gefüllt ist
Damit ich weiß ob da schon ein Schiff vorhanden ist, würde ich den Platz nach belegbarkeit prüfen.
Wenn der Platz leer ist soll er mit dem Schiff befüllt werden und wenn nicht erstelle ich neue Koordinaten für mein schiff und betrachte den Platz erneut. Das geht dann immer so weiter bis ich einen leeren char gefunden habe... Also brauche ich noch zusätzlich eine for schleife oder?
Naja abhängig von der Implementierung könntest du eine Methode haben .setBoat(x, y) an den Index Matrix[x][y] setzen soll. Diese prüft nun ob das Feld leer ist. Sollte dies der Fall sein, wird das Boot gesetzt und true zurückgegeben ansonsten false. Nun hast du um das ganze eine Schleife sprich du kannst solange Koordinaten prüfen bis alles gefüllt ist
Das kommt darauf an, wie Dein Array aussieht. Wenn Du z. B: ein char-Array von char-Arrays (zweidimensionales char-Array) mit dem Namen spielfeld hast, dann kannst Du doch ganz einfach
Java:
if(spielfeld[y][x]=='o'){}
prüfen und weißt, dass dann ein o auf dem Feld (x,y) steht.
Das kommt darauf an, wie Dein Array aussieht. Wenn Du z. B: ein char-Array von char-Arrays (zweidimensionales char-Array) mit dem Namen spielfeld hast, dann kannst Du doch ganz einfach
Java:
if(spielfeld[y][x]=='o'){}
prüfen und weißt, dass dann ein o auf dem Feld (x,y) steht.