actionbrowser.com
Hi, für die Uni sollten wir als letzte Hausaufgabe beginnen, Schiffe versenken zu programmieren. Bisher war das ganze relativ simpel gehalten und wurde in der Konsole ausgegeben. Dazu nutzte ich ein zweidimensionales Array mit der Größe 10x10. Bei der Ausgabe sah es dann in etwa so aus 0123456789 0.......... 1.......... 2.......... 3.......... 4.......... 5.......... 6.......... 7.......... 8.......... 9.......... Nun sollen die Zahlen links der Zeilen per ASCII-Code-Eingabe im Quelltext in A-J geändert werden und ich habe leider keinen Plan, wie public class Battleship { private static char[][] myShips = { {'. ', '. Schiffe versenken mit Backtracking. ', }, {'. ', }}; public static void print(char[][] grid) { (" 0123456789"); for (char i = 0; i < grid[]; i++) { (i + " "); for (int j = 0; j <; j++) { (grid[j]);} ();}} Das wären Array + Ausgabe. Freue mich auf Antworten, auch wenn es für die meisten vermutlich ziemlich einfach ist Ergänzung ( 13. Dezember 2015) Damit ich nicht falsch verstanden werde, mir geht es nicht um die Lösung, sondern einen Hinweis zu dieser, möchte es ja auch selbst erarbeiten und verstehen.
var arr = [ var cols = (); newArr = (function(element, index){ var newObj = {}; rEach(function(data, index){ newObj[cols[index]]=data;}); return newObj;}); let array = [['country', 'population'], ['someplace', 100], ['otherplace', 200]]; let [keys,.. ] = array; let result = (r => (((o, k, i) => (o[k] = r[i], o), {}))); (result) Gaurang Tandon var objects = [], one = array[0][0], two = array[0][1]; for (var i = 1, len =; i < len; i++) { var object = {}; object[one] = array[i][0]; object[two] = array[i][1]; (object);} (objects); DEMO Alex Roth Dazu müsstest du ein bisschen iterieren! Schiffe versenken zweidimensionales avray 92410. Der folgende Code ist ein ungetestetes Beispiel, um zu demonstrieren, was Sie tun müssten. function convertToObjectArray(table) { for(var i = 1; i <; i++) var obj = {}; for(var x = 0; x < table[0]; x++) obj[table[0][x]] = table[i][x]; return output;} Ein weiterer Hinweis in diesem Beispiel ist, dass Sie dies jedoch bearbeiten sollten, um sicherzustellen, dass die nachfolgenden Arrays die gleiche Länge haben, oder Sie könnten auf Nullwerte stoßen.
setzeSchiff (); feld [ 2][ 2]. setzeSchiff (); feld [ 3][ 2]. setzeSchiff ();} (... ) Erläuterungen zur Klasse Spielfeld Das Anlegen eines zweidimensionalen Arrays geschieht ähnlich wie das eines eindimensionalen. Hier legt man die Größe des Arrays fest: 10x10-Felder beim Schiffeversenken. Diese Konstruktion sorgt dafür, dass die Felder nicht den Anfangswert null haben. Dazu müssen alle Felder abgegangen werden (mit Hilfe einer verschachtelten Schleife: Erst Feld 0, 0 dann 0, 1 dann 0, 2.... 0, 9 dann 1, 0 dann 1, 1 dann 1, 1, 9 dann 2, 0 uws. bis 9, 9) Hier wird beispielhaft ein 3er Schiff gesetzt. Dazu müssen 3 Felder einzeln angesprochen werden. 2D-Array in Java mit ASCII | ComputerBase Forum. Übung Analysieren Sie auf Grundlage der beiden UML-Klassendiagramme und auf Grundlageder Kenntnisse über das Schiffeversenken-Spiel die Klassen Gebiet und Spielfeld. Schätzen Sie ein, was die einzelnen Methoden bewirken, ohne dass Sie den folgenden Quelltext anschauen. Vergleichen Sie anschließend mit dem Quelltext. Nennen Sie weitere Beispiele aus dem Alltag, bei denen man Zwei- oder Mehrdimensionale Arrays benutzen könnte.
Viertens: function SchussAuf. Du bist schon beim Feuern und mir hältst du vor, dass ich schon an die Anzeige denke. Wie wäre es wenn der TE erst die Schiffe automatisch auf dem Feld platziert, die den Regeln entsprechen? Das Feuern und anfragen ob ein Schiff getroffen wurde ist nicht wirklich kompliziert. Schiffe versenken zweidimensionales arrays. Fünftens: ich denke mir die Regeln die du favorisierst sind komplizierter als sie sein müssen. In der Computervariante des Spiels dürfen sich Schiffe berühren, sogar auf Stoß. Beim Programmieren hat man andere Möglichkeiten als auf dem Papier. Diese Regeln, die eigentlich nur für die Papier-Variante gelten, machen das für den TE komplizierter als es sein müsste.
lassen die Vermutung zu, dass da noch kein Plan dahinter steckt. Das klingt eher nach: lassen wir es mal runterplumpsen, es wird sich evtl. schon selbst sortieren. Ich denke eher es wird ein Prozess von Try and Error. Nur wie soll er es kontrollieren ohne den Inhalt des Array zu sehen? Selbst bei mir war die Aufstellung erst nach zwei Korrekturen fehlerfrei. Im Kopf war es schon beim ersten Mal richtig. Beim ersten Versuch platzierten sich aber keine Schiffe am Rand. Man denkt eben nicht an alles. Also, ich hab das schon didaktisch durchdacht. Wenn du aber der Meinung bist, dass der TE den Algorithmus direkt hinkriegt, dann ja, dann kann man sich die Prüfanzeige sparen. Zweitens: man sollte schon vorher überlegen wie man es später anzeigen wird. Schiffe versenken zweidimensionales array free. Wenn man das nicht macht, kann man später böse Überraschungen erleben. Drittens: dein Konzept. Dein Konzept hält sich an die Papiervariante, wie sie in Wikipedia beschrieben wird. Und dieses Konzept ist nicht so ohne weiteres auf ein Programm übertragbar.
Zitat von BLUESCREEN3D Das sind ja gleich mehrere Aufgabenteile. Mach erstmal nur das hier: Gibt es eine Klasse "Schiff"?