Frage von Philipp78ge, 53

Schiffeversenken in C++ schreiben. Ansatz?

Wie schon aus der Überschrift zu entnehmen ist, möchte ich das Spiel "Schiffeversenken" in C++ programmieren... Dies wird mein erstes Richtiges Programm, aber ich habe gehört an einem längerfristigen Ziel lernt man auch am Anfang am Besten. Vorausgesetzt man hat eine Idee, wie man so etwas angeht.. Und genau da liegt mein Problem, ich habe leider keinen Schimmer, was ich nun zuerst machen soll?!

Also, Schiffeversenken wie mans kennt: 10x10 Felder 1x 5er Flagschiff; 2x 4er Kreuzer; 3x 3er Zerstörer; 4x 2er Uboot

Wäre echt toll, wenn mir jemand eine Übersicht geben kann, mit welchen Funktionen ich dies bewerkstelligen kann...

Danke- Philipp

Antwort
von triopasi, 24

Zum Groben hat mm78pr schon was gesagt, deshalb gehe ich etwas mehr ins technische Detail.

Es wäre aber toll zu wissen, ob du eine GUI oder eine Konsolenausgabe willst, und ob du Spieler vs KI oder Spieler vs Spieler willst.

Zum speichern des Spielfelds empfiehlt sich ein Array, z.B: 10x10. (bzw. eines für Spieler 1 und eines für Spieler 2.) Um dir nicht merken zu müssen, welche Zahl (in einem int-array) was bedeutet, solltest du ein enum erstellen, als Werte schlage ich vor "water", "water_hit", "ship" und "ship_hit", denke die Namen sind selbsterklärend. Die Regeln von Schiffe versenken sind recht einfach, und sollten keine großen Probleme machen.

Kannst evtl. auch für die Spielfelder nochmal eine Klasse haben. Welcher Spieler gerade dran ist, kannst du mit einer int-Variable oder wieder nem enum speichern. Coole Sache wäre eine fortlaufende int-Variable. Ist diese ungerade = Spieler 1, gerade = Spieler 2, dann hast du automatisch auch einen Runden/Zug-Zähler.

Kommentar von Philipp78ge ,

Ok, ich werde mich einfach nochmal genauer mit den Befehlen, die du da genannt hast, genauer beschäftigen.. Melde mich zurück, wenn ich weitere Fragen habe. Wird aber ein paar Tage dauern schätze ich :)

Kommentar von Philipp78ge ,

Zum Anfang wirds Konsole

Antwort
von mm78pr, 31

theoretisch reicht die cout und cin Funktion aus , damit hast du schonmal die Aus und Eingabe abdeckt. Dann noch ein paar if's und for's und fertig ist Schiffeversenken ....

Mein Tipp : Notiere dir auf einem Blatt die einzelnen Schritte die notwendig sind um das Spiel zu spielen. Also zb vom Eingeben des Spielernamens bis hin zum "Du hast gewonnen" Schriftzug.
Fasse zuerst die Punkte recht grob zusammen und teile sie dann in viele Unterpunkte auf.
Dann hast du irgendwann ein sehr lange Liste die du dann nach und nach versuchst per Programmcode umzusetzen.

Kommentar von Philipp78ge ,

Dankeschön :) ich mache mir jetzt erstmal einen Strukturplan

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten