![]() |
Delphi-Version: 5
Schiffe versenken - Hilfe benötigt
Hallo Leute,
Ich habe vor, das schöne Spiel Schiffe versenken zu programmieren. Leider hab ich absolut gar keine Idee, wie ich anfangen könnte, mit welcher Komponente etc. Könnt ihr mir da einen Denkanstoß geben? Meine Überlegungen bisher: Welche Grid eignet sich als Spielfeld besser, Stringgrid oder Drawgrid? Da es 2-Spieler werden soll, 4 Spielfelder nutzen, von denen die ausgeblendet werden, wo die Schiffe gesetzt sind - Sinnvoll und machbar? Danke schonmal Liam |
AW: Schiffe versenken - Hilfe benötigt
hierzu gibt es bereits reichlich Material , Suchen : Schiffe versenken
|
AW: Schiffe versenken - Hilfe benötigt
Zitat:
|
AW: Schiffe versenken - Hilfe benötigt
Zitat:
|
AW: Schiffe versenken - Hilfe benötigt
Man kann vieles nehmen, aber seinen wir doch ehrlich: StringGrid hört sich zwar leichter an, denn da sind ja schon Grids. Stimmt, den Punkt kann man sich sparen, die Arbeit kommt aber dann später.
Und Image? Da muß man ja alles machen. Stimmt, so viel ist es aber nicht.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var x, y, w, h: Integer; begin with Image1 do //Felder zeichnen begin w := Width div 10; h := Height div 10; for x := 0 to 9 do for y := 0 to 9 do Canvas.Rectangle(x * w, y * h, (x * w) + w, (y * h) + h); end; end; procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var gx, gy: Integer; begin with Image1 do //Felder per Klick ermitteln begin gx := X div (Width div 10) + 1; gy := Y div (Height div 10) + 1; end; ShowMessage(Format('Feld X: %d, Feld Y: %d', [gx, gy])); end; |
AW: Schiffe versenken - Hilfe benötigt
Ok mit dem Image kannst du auch nette Hintergrundbilder einsetzen z.b. dann ein Star-Wars Schiffer versenken erstellen ;)
In dem Sinne kann man optisch einiges mehr machen als mit einem Stringgrid, da stimm ich dir zu. |
AW: Schiffe versenken - Hilfe benötigt
Du bringst mich doch tatsächlich auf eine Idee, ein Schiffe Versenken in drei Dimensionen, also X/Y/Z. Die Schiffe sind auch nicht zweidimensional, sondern dreidimensional, nehmen also Platz in X und Y, aber auch in Z. Das wären dann 1000 Felder, also der 10-fache Spaß.
Eigentlich sehe ich schon das Spiel vor meinem geistigen Auge in einem 3D Raum, aber ich hab keine Ahnung von 3D Engines. Also muß es jemand anders machen. Wäre aber ein nettes Spiel. |
AW: Schiffe versenken - Hilfe benötigt
Malen kann man überall, auch im Stringgrid.
Letztlich benötigt wird ein TGraphicControl, das primitivste wenn man keine Komponente schreiben möchte ist TPaintBox, die Verwaltungsstruktur wäre ein Array. Klar kann man auch ein ein Stringgrid für beides missbrauchen, die Verwaltung über Cells die Darstellung über OnDrawCell. |
AW: Schiffe versenken - Hilfe benötigt
@Popov
Du kannst Dir ja mal GLScene anschauen, liegen reichlich Beispiel bei und ist free. |
AW: Schiffe versenken - Hilfe benötigt
Wie wäre es wenn du die einzelnen Schiffe mit Muasklicks als image versetzen lässt und cpu mit Zufallszahlen?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz