zweidimensionale char arrays

S

sunnydaymonday

Mitglied
hallo,

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.

Wie setze ich das denn um?
Ich hoffe auf tipps.
 
mihe7

mihe7

Top Contributor
Ja, ein if ist schon mal nicht verkehrt. Erklär doch mal Schritt für Schritt was Du tun würdest (vergiss mal Java).
 
S

sunnydaymonday

Mitglied
Ja, ein if ist schon mal nicht verkehrt. Erklär doch mal Schritt für Schritt was Du tun würdest (vergiss mal Java).
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?
 
Kirby.exe

Kirby.exe

Top Contributor
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 ;)
 
I

infos9

Mitglied
Du bräuchtest eine zufällige Einfügeposition, und eine Überprüfung, ob alle Einfügepositionen an dieser Stelle frei sind.
 
mihe7

mihe7

Top Contributor
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?
Das ist doch gar nicht so schlecht. Jetzt wäre nur noch die Frage, ob ein Schiff immer nur einen Platz belegt? Falls ja, kannst Du das so machen.

Code:
Sei k die übergebene Koordinate
So lange Feld an Position k belegt ist, wiederhole {
    k := nächste Koordinate
}
Setze Schiff an Position k
 
S

sunnydaymonday

Mitglied
Das ist doch gar nicht so schlecht. Jetzt wäre nur noch die Frage, ob ein Schiff immer nur einen Platz belegt? Falls ja, kannst Du das so machen.

Code:
Sei k die übergebene Koordinate
So lange Feld an Position k belegt ist, wiederhole {
    k := nächste Koordinate
}
Setze Schiff an Position k
genau so hab ich das auch umgesetzt jedoch gehen die Überlappungen nicht weg :/
 
S

sunnydaymonday

Mitglied
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 ;)
und wie schreibt man das mit dem prüfen auf?
 
mihe7

mihe7

Top Contributor
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.
 
S

sunnydaymonday

Mitglied
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.
darf ich dir meinen code zuschicken?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Zweidimensionale Arrayverwaltung Java Basics - Anfänger-Themen 5
V zweidimensionale String Array Java Basics - Anfänger-Themen 1
C Methoden Vertikales spiegeln eines Bildes (zweidimensionale Arrays) Java Basics - Anfänger-Themen 5
K Zweidimensionale Arrays Java Basics - Anfänger-Themen 10
C Zweidimensionale Array Java Basics - Anfänger-Themen 4
W Zweidimensionale Arrays als Matrix ausgeben Java Basics - Anfänger-Themen 8
S mehrspaltige zweidimensionale Arrays ausgeben Java Basics - Anfänger-Themen 11
T Zweidimensionale ArrayList Java Basics - Anfänger-Themen 9
D Automatisch zweidimensionale Arrays durchiterieren Java Basics - Anfänger-Themen 2
maddin86 Eine Methode für ein- und zweidimensionale double Felder als Parameter? Java Basics - Anfänger-Themen 5
M zwei zweidimensionale arrays multiplizieren Java Basics - Anfänger-Themen 2
M zwei zweidimensionale Arrays addieren Java Basics - Anfänger-Themen 4
T zweidimensionale Arrays+ Tastatureingabe Java Basics - Anfänger-Themen 6
R String in char-Array übertragen Java Basics - Anfänger-Themen 5
P Methoden Namen trennen mit .substring(), char.At(), .lenght() Java Basics - Anfänger-Themen 8
Z Char Array an zufälligen stellen mit einem "x" füllen. Java Basics - Anfänger-Themen 4
A Datentyp char Java Basics - Anfänger-Themen 27
A Char und modulo Java Basics - Anfänger-Themen 8
A char array wird überschrieben Java Basics - Anfänger-Themen 6
F Switch case wird als char nicht erkannt.... Java Basics - Anfänger-Themen 6
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
I Methoden char Array Aufgabe (bitte hierbei um Hilfe) Java Basics - Anfänger-Themen 3
D Datentypen Char deklaration Java Basics - Anfänger-Themen 4
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
I char Array to String Java Basics - Anfänger-Themen 3
C (char) Array einlesen Java Basics - Anfänger-Themen 8
J Java char.at() Probelm Java Basics - Anfänger-Themen 12
S char auf buchstabe/zeichen prüfen Java Basics - Anfänger-Themen 1
H char-Array Java Basics - Anfänger-Themen 22
M Die länge von char Java Basics - Anfänger-Themen 6
T Methoden char wird nicht ausgegeben Java Basics - Anfänger-Themen 3
R Fehler bei ASCII Char zu Int Umwandlung Java Basics - Anfänger-Themen 2
C Methoden String in char Array Java Basics - Anfänger-Themen 3
T Datentypen char als Buchstaben statt als Zahl ausgeben Java Basics - Anfänger-Themen 4
kokojamboo92 char mehrfach ausgeben.. Java Basics - Anfänger-Themen 2
T Erste Schritte Char 'Anführungszeichen' Tastaturkürzel Java Basics - Anfänger-Themen 1
H Compiler-Fehler Out of Bunce Exception bei einem Char Java Basics - Anfänger-Themen 6
E Wie wird in Java ein Char-Array terminiert ? Java Basics - Anfänger-Themen 15
C char in String suchen und durch anderen String ersetzen Java Basics - Anfänger-Themen 2
C Compiler-Fehler from int to char Java Basics - Anfänger-Themen 2
A Methoden Char-Arrays auf aufeinanderfolgende Elemente vergleichen! Java Basics - Anfänger-Themen 7
T Object zu Char zu String Java Basics - Anfänger-Themen 6
W Char Array bearbeiten Java Basics - Anfänger-Themen 6
A Char-Array erstellen Java Basics - Anfänger-Themen 35
D Hilfe bei int wert von char Java Basics - Anfänger-Themen 7
W String auf char[] umwandeln Java Basics - Anfänger-Themen 3
Z char Array unbekanntes Zeichen selbstständig anlegen Java Basics - Anfänger-Themen 6
M Bestimmen, wie oft ein Char in einem Array vorkommt Java Basics - Anfänger-Themen 2
BuTTerBroTHDx Char Wert in int casten ? Java Basics - Anfänger-Themen 4
D Variablen Variable char vergleichen Java Basics - Anfänger-Themen 5
A Probleme beim Methodenaufruf von char[] ! Java Basics - Anfänger-Themen 10
C char array-positionstausch Java Basics - Anfänger-Themen 6
R Anzahl von Zeichen in einem Char Array Java Basics - Anfänger-Themen 4
C String-zaehleZeichen(String str,char[]c) Java Basics - Anfänger-Themen 9
L zweidimensionales char array reihenfolge ändern ? Java Basics - Anfänger-Themen 2
D Best Practice String aufbau - Char Array oder Anhängen Java Basics - Anfänger-Themen 11
S For Schleife Char Array Java Basics - Anfänger-Themen 1
V char Eingabe aber nur für Buchstaben Java Basics - Anfänger-Themen 4
K PasswordField auslesen und in char speichern Java Basics - Anfänger-Themen 2
L Frage zum Zeichensatz Char Java Basics - Anfänger-Themen 2
L Frage zum Typ Char (Zeichensatz) Java Basics - Anfänger-Themen 8
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
P Char aus einem String auswählen Java Basics - Anfänger-Themen 4
W char-Array auf bestimmte Zeichen prüfen Java Basics - Anfänger-Themen 10
J Buchstabe (char) an zufällige Position eines Strings einfügen Java Basics - Anfänger-Themen 1
B char Array mit ints Java Basics - Anfänger-Themen 7
F Char in Long umwandeln? Java Basics - Anfänger-Themen 2
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
X Compiler-Fehler Possible loss of precision bei addition von int und char Java Basics - Anfänger-Themen 5
J char-Array rückwärts ausgeben und in neues Char-Array speichern Java Basics - Anfänger-Themen 3
D Methode die statt char[] ein "null" zurück gibt Java Basics - Anfänger-Themen 8
P Methoden suche funktion die char wert ausgibt wenn man numerischen wert und radix angibt Java Basics - Anfänger-Themen 1
R Char wird in System.out.print(); nicht ausgegeben Java Basics - Anfänger-Themen 6
J Char-Rechnen Java Basics - Anfänger-Themen 8
E Input/Output convert string to two dimensional char and output = matrix Java Basics - Anfänger-Themen 2
S Array - index von Benutzer eingegebenen char ausgeben Java Basics - Anfänger-Themen 3
M char Array füllen Java Basics - Anfänger-Themen 2
H ArrayList mit char- Array befüllen Java Basics - Anfänger-Themen 12
S überschneidende Char-Arrays, zu einem Längeren verbinden Java Basics - Anfänger-Themen 7
M Warum ist char a + char b 196 Java Basics - Anfänger-Themen 4
J Datentypen Cast von int zu char führ zu 'Sonderzeichen' Java Basics - Anfänger-Themen 2
M Erste Schritte konvertierung von int zu char Java Basics - Anfänger-Themen 3
B Char-Vergleich Sonderzeichen Java Basics - Anfänger-Themen 6
A Char Bytes Umwandlung und Darstellung Java Basics - Anfänger-Themen 3
R Input/Output einzelnes char aus .txt lesen Java Basics - Anfänger-Themen 11
P Datentypen String auf JTextField wird zu Char-Array und anschließend zu int Java Basics - Anfänger-Themen 12
M String in char-weise vergleichen und ausgeben Java Basics - Anfänger-Themen 5
V while verlassen, char Java Basics - Anfänger-Themen 2
S Datentypen Ein String in ein Char und ein Double wandeln Java Basics - Anfänger-Themen 2
A Char to String Java Basics - Anfänger-Themen 5
R Erste Schritte Rechnenoperationen mit byte, short und char Java Basics - Anfänger-Themen 8
W Char als Int speichern Java Basics - Anfänger-Themen 10
W Variablen Rechnen mit "char" Java Basics - Anfänger-Themen 2
G Char und Strings Java Basics - Anfänger-Themen 21
K char Einlesen und Auswerten Java Basics - Anfänger-Themen 9
N KeyStrok und char Java Basics - Anfänger-Themen 5
X Datentypen Probleme mit Char bei meinem 1. Spiel Java Basics - Anfänger-Themen 20
M String( char[] value ) Java Basics - Anfänger-Themen 3
D Char Array ab bestimmter Stelle in neuem Speichern Java Basics - Anfänger-Themen 13
D Eine Stelle eines Char- Arrays nach dem vorkommen in einem ganzem anderem Array überprüfen Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Anzeige

Neue Themen


Oben