![]() |
Re: Schon wieder Arrays... Werte abwechselnd ändern?
Delphi-Quellcode:
könntest du auch vereinfachen zu:
procedure TForm1.Button1Click(Sender: TObject);
begin Button1.enabled := false; case LastPlayer of 0: LastPlayer := 1; // noch kein Button gedrückt, also kommt Spieler 1 drann 1: LastPlayer := 2; // Spieler 1 war drann, also muss jetzt Spieler 2 rann 2: LastPlayer := 1; // Spieler 2 war drann, also muss jetzt Spieler 1 rann end; TicTacToe[1,1] := LastPlayer; end; du definierst den tag des jeweiligen buttons mit: button1.tag:=11 button5.tag:=22 button7.tag:=31 etc. dann das onclick erignis auf folgente procedure
Delphi-Quellcode:
procedure TForm1.ButtonClick(Sender: TObject);
var BtnNr:integer; Zeile,Spalte:integer; begin TButton(Sender).Enabled := false; // aktueller button kann nicht mehr gedrückt werden BtnNr:=TButton(Sender).Tag; // Button-Nr Zeile:=BtnNr mod 10; Spalte:=BtnNr-Zeile; inc(LastPlayer); // +1 if LastPlayer>2 then LastPlayer:=1; TicTacToe[Zeile,Spalte] := LastPlayer; end; |
Re: Schon wieder Arrays... Werte abwechselnd ändern?
Delphi-Quellcode:
nicht vergessen :)
Spalte:=(BtnNr-Zeile) div 10;
|
Re: Schon wieder Arrays... Werte abwechselnd ändern?
Naja, ich hab jetzt einfach mal das end überall verschoben... diese vereinfachung merk ich mir jedoch für das nächste Mal, bin jetzt nur zu faul alles zu ändern und mir dann auch noch zu merken, was die einzelnen Befehle da machen :roll:
Naja, dann kann ich mich ja mal weiter auf den Weg zum fertigen Spiel machen... Danke nochmal an alle, die mir geholfen haben, und auch an die, die es versucht haben :mrgreen: |
Re: Schon wieder Arrays... Werte abwechselnd ändern?
Zitat:
Delphi-Quellcode:
Spalte:=BtnNr-Zeile*10;
|
Re: Schon wieder Arrays... Werte abwechselnd ändern?
[ot]
Wieso *10 ?
Delphi-Quellcode:
[/ot]
BtnNr := 23;
Zeile:=BtnNr mod 10; // Zeile = 3 Spalte:=(BtnNr-Zeile) div 10; // 23-3 = 20; 20/10 = 2 |
Re: Schon wieder Arrays... Werte abwechselnd ändern?
@scp
also bei mir ist:
Code:
Zeile= 23 div 10 = 2
Spalte= 23-(2*10) = 3 |
Re: Schon wieder Arrays... Werte abwechselnd ändern?
So gehts natürlich auch, du hast aber bei Zeile im Originalcode mod verwendet, was durchaus die bessere Wahl war, weil es genauer ist.
|
Re: Schon wieder Arrays... Werte abwechselnd ändern?
stimmt sollte eigentlich div sein!
genauer kann nicht sein, da mod sich aus div berechnet: x mod y = x - (x div y) * y. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 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