![]() |
Bitte helfen: WIeos setzt er hier nur 8 stadt 9 feldern?
Delphi-Quellcode:
// Hier werden die Grundzüge des Spiels niedergelegt, Abwechselndes
// Setzen, Fehlermeldung etc. procedure TForm1.XoderO(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var senderImage : TImage; PX : Integer; PY : Integer; TMP : string; begin senderImage := ( Sender as TImage ); tmp := IntToStr( senderImage.Tag ); if ( length( tmp ) > 1 ) then begin pX := StrToInt( copy( tmp, 1, 1 ) ); pY := StrToInt( copy( tmp, 2, 1 ) ); end else begin pX := 0; pY := StrToInt( tmp ); end; if ( GameBoard[ pX, pY ] = ftNone ) then begin // Hier wird X und O abwechselnt gesetzt if ( bMovePlayerX ) then begin senderImage.Picture := ImageX.Picture; GameBoard[ pX, pY ] := ftX; end else begin senderImage.Picture := ImageO.Picture; GameBoard[ pX, pY ] := ftO; end; bMovePlayerX := not bMovePlayerX; end else // Ist X oder O schon gesetzt erscheint eine Fehlermeldung begin ShowMessage('Dieser Platz ist belegt bitte anderen Wählen'); end; Hat einer eine Idee, bei einem feld bekomme ich immer angezeigt '' Dieses Feld ist belegt'' |
Re: Bitte helfen: WIeos setzt er hier nur 8 stadt 9 feldern?
Hallo,
magst du mal die komplette unit posten ? dann kann man das vielleicht ein bissel besser nachvollziehen wo das Problem liegt greetz -FastJack2 |
Re: Bitte helfen: WIeos setzt er hier nur 8 stadt 9 feldern?
Ich nehme mal an, du willst Tic-Tac-Toe spielen.
Wahrscheinlich ist das Property .Tag deiner Images immer auf 0 gesetzt, aber das ist nur eine Vermutung.
Delphi-Quellcode:
// dein alter Code
tmp := IntToStr( senderImage.Tag ); if ( length( tmp ) > 1 ) then begin pX := StrToInt( copy( tmp, 1, 1 ) ); pY := StrToInt( copy( tmp, 2, 1 ) ); end else begin pX := 0; pY := StrToInt( tmp ); end; // hier der vereinfachte Code // die Koordinaten werden einfach & sauber aus dem .Tag geholt pX := senderImage.Tag mod 10; pY := senderImage.Tag div 10; // ganz wichtig: Koordinaten prüfen Assert((pX >= 0) and (pX < 3), 'pX out of Range' ); Assert((pY >= 0) and (pY < 3), 'pY out of Range' ); |
Re: Bitte helfen: WIeos setzt er hier nur 8 stadt 9 feldern?
thx jetzt klappts
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 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