Klassen anwenden und verwalten
-
Hallo,
wie gesagt, ich möchte Schiffe versenken programmieren, und da hab ich mir paar klassen ausgedacht
GameMenu (Menü anzeigen, schwierigkeitsgrad entegennehmen)
GameField (Feld zeichnen, Status der Feldteile setzen und ausgeben)
Game (Spieler u Gegener schiffe setzen lassen und feuern)und nun hab ich mir gedacht, ob es nicht am besten wäre, die beiden anderen klasse im private teil der gameklasse unterzubringen?
denn mit vererbung geht hier ja nicht viel!
oder habt ihr ganz andere vorschläge??
-
Ja, das wäre sicher eine Möglichkeit - und für deine Anwendung wohl das günstigste. Wobei, das Menu könntest du auch lokal in der Game::play()-Methode anlegen.
-
Ich denke, dass folgende Kandidaten für Klassen in Frage kommen.
- Feld: enthält die Zellen (Feldteil) mit ihrem Status und die Schiffe
- Position: definiert eine Position einer Zelle auf einem Feld bzw. einen Schuss
- Zelle: enthält den Status Meer, Treffer oder Verweis auf ein Schiff
- Schiff: man kann Schiffe in ein Feld setzen, ggf. Anzahl der Treffer. ein Schiff kann versenkt sein, oder nicht
- Player: Computer oder Gegner via Menü, schießt auf gegenerisches Feld durch Angabe einer Position
- FeldView: stellt das Feld dar. man unterscheidet zwischen View auf eigenens Feld oder gegnerisches Feld'Game' ist keine Klasse, denn Dein Programm ist das Spiel
Ob 'GameMenu' eine Klasse ist, hängt von Deiner Umgebung ab (MFC, QT, usw.)Gruß
Werner