Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   BitBtns + array (https://www.delphipraxis.net/160561-bitbtns-array.html)

twityzuz 19. Mai 2011 14:23

Delphi-Version: 7

BitBtns + array
 
Hallo Leute!
Ich programmiere gerade ein Spiel, bei dem es darum geht, dass man auf verschiedene Felder eines Spielfelds kommt. Man spielt gegen einen Computer, bei dem ich jetzt mein Problem habe.
Die BitBtns bilden die Felder und den Status des jeweiligen BitBtns habe ich als String in einem Array gespeichert. Jetzt soll der Computer nachfragen, wo er noch hingehen darf (for- Schleife: Es gibt 48 Felder). Das erste Feld, was in seiner zugehörigen Arrayvariable 'Ja' stehen hat, wird genommen und der Computer soll dahin "gehen".
Frage: Der Computer weiß jetzt, welche Array- Variable es betrifft. Wie schaffe ich es jetzt, dass der Computer weiß, welches Feld ich zum Beispiel mit Btns[5] (BitButton5) meine?

Delphi-Quellcode:
for i:= 1 to 48 do
if Btns[i]='ja' then
begin
Btns[i]='com'

DeddyH 19. Mai 2011 14:27

AW: BitBtns + array
 
Einfachste Möglichkeit: deklariere das Array als Array eines Records, der den String und den BitBtn enthält.

twityzuz 19. Mai 2011 14:30

AW: BitBtns + array
 
Da ich noch Anfänger bin: Kannst Du mir erklären wie das geht?

DeddyH 19. Mai 2011 14:43

AW: BitBtns + array
 
Sicher:
Delphi-Quellcode:
type
  TDeinRecord = record
    Schrift: string;
    Button: TBitBtn;
  end;

  TDeinArray = array[1..48] of TDeinRecord;
Nun kannst Du über die Punkt-Notation das Array befüllen.
Delphi-Quellcode:
DeinArray[1].Schrift := 'Hallo Welt';
DeinArray[1].Button := BitBtn1;

twityzuz 19. Mai 2011 14:46

AW: BitBtns + array
 
Danke :wink::wink::wink:

twityzuz 19. Mai 2011 15:01

AW: BitBtns + array
 
Wo muss ich das denn einfügen??

DeddyH 19. Mai 2011 15:03

AW: BitBtns + array
 
Vor der Deklaration Deiner Array-Variablen, welche dann von dem gerade definierten Typ sein muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 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