Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Hilfe für Schiffe versenken (https://www.delphipraxis.net/160599-hilfe-fuer-schiffe-versenken.html)

krk1234 22. Mai 2011 09:14

Hilfe für Schiffe versenken
 
Hey,
ich habe mir zum Ziel gesetzt das SPiel schiffe versenken mit delphi zu programieren.
Ich hänge gerade daran eine vernünftige Lösung für das Spielfeld zu finden. Ein Kumpel meint ich soll adas mit einem array machen, dieses Element/Funktion haben wir im UNttericht, der auch schjon etwas länger zurückliegt nie benutzt. KÖnnt ihr mir da vllt. weiterhelfen?.
mfg krk1234

DeddyH 22. Mai 2011 09:32

AW: Hilfe für Schiffe versenken
 
Hallo und Willkommen in der DP :dp:,

Array ist schon einmal ein guter Ansatz, dies muss allerdings 2-dimensional sein (Zeilen und Spalten). Also
Delphi-Quellcode:
var
  DeinArray: array[1..10, 1..10] of Datentyp;
Oder auch
Delphi-Quellcode:
type
  TZeile = array[1..10] of Datentyp;
  TSpielfeld = array[1..10] of TZeile;

var
  Spielfeld: TSpielfeld;

krk1234 22. Mai 2011 10:46

AW: Hilfe für Schiffe versenken
 
Nocheinmal ne Frage zum array
Muss ich des einfach nur im Quellcode deklarieren oder gibt es da ein Element für?
Und wenn man es nur im Code deklariert ist, muss ich das dann über ne PAintbox oder ähnliches visualisieren?

alfold 22. Mai 2011 10:57

AW: Hilfe für Schiffe versenken
 
Zitat:

Zitat von krk1234 (Beitrag 1102160)
Nocheinmal ne Frage zum array
Muss ich des einfach nur im Quellcode deklarieren oder gibt es da ein Element für?
...?

Hatt doch @DeddyH schon geschrieben wie Du es machen kannst/sollst:wink:

Und Willkommen in der DP:-D

Das Array dient zum ablegen der Koordinaten, und in Deiner graphischen umsetztung verwendest Du dann den Inhalt des Array um zu zeichnen.
Würde aber evtl dafür ein Grid nehmen als Anfänger, da hast Du schon Zeilen und Spalten:wink:

Wenn du dies dann umgesetzt hast kannst Du es mit richtiger Graphic schöner machen!

Gruss alfold

hans ditter 22. Mai 2011 14:35

AW: Hilfe für Schiffe versenken
 
Hi und willkommen!

Du deklarierst das Array z.B. über Tform1 und erstellst dann noch eine Variable auf den neuen Datentypen:

Delphi-Quellcode:
type
  TDeinArray = array[1..10,1..10] of Datentyp;

  Form1 = TForm1(TForm)
    Button1: TButton
    //etc.
  end;

var
  DeinArray: TDeinArray;
Um zu visualisieren, was in dem Array steht, nimmst du dir z.B. ein StringGrid und legst innerhalb von zwei for-Schleifen das Array in dem Grid ab, z.B. so:

Delphi-Quellcode:
for i:= 0 to 10 do
begin
  for j:= 0 to 10 do
    StringGrid1.Cells[i,j]:=DeinArray[i,j]
end;
Hab den Code nicht getestet, sollte so aber funktionieren!

Versuchs einfach mal und wenn's dann noch nicht klappt, einfach nochmal melden. :thumb:

LG; hans ditter

DeddyH 22. Mai 2011 14:41

AW: Hilfe für Schiffe versenken
 
Und statt der Integer-Konstanten die Funktionen Low() und High() verwenden, dann kommt man auch nicht aus dem Array-Bereich heraus.
Delphi-Quellcode:
for i := Low(Array) to High(Array) do


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz