![]() |
Vier gewinnt Stringgrid
Hallo Leute,
ich schreibe momentan ein Vier-Gewinnt-Spiel, die vom Spieler gesetzten Spielsteine möchte ich in einem Stringgrid anzeigen. Die "Spielzugabfrage", etc als solches funktionieren...die gesetzten Spielsteine mach ich zur Zeit im Stringgrid als Zeichen sichtbar, anstelle der für die einzelnen Spielsteine stehenden Buchstabe, würde ich gerne die Zellen passend zur Spielsteinfarbe einfärben. Muss ich um das zu realisieren im Methodenteil vom Stringgrid für ondrawcell eine Prozedur schreiben, die jedes Feld im Spielfeld-Array prüft und dementsprechend die Zellen färbt oder kann ich dem Stringgrid direkt die Färbung der eizelnen Zellen zuweisen? Dankeschön, mexman |
Re: Vier gewinnt Stringgrid
Die Methode wird für jede Zelle aufgerufen, in der Methode musst du nur die Koordinaten der jeweiligen Zelle überprüfen
BTW. Handelt sich eher um Win32 nicht um .Net |
Re: Vier gewinnt Stringgrid
Delphi-Quellcode:
Ich möchte, dass Zellen entsprechend ihres Inhaltes gefärbt werden.
procedure Tspiel_menu.gitterDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); var m,n:integer; begin for acol:=1 to 7 do for arow:=1 to 6 do if spiel_menu.gitter.Cells[m,n]='R' then begin canvas.brush.color:=clred; canvas.FillRect(rect); end else if spiel_menu.gitter.cells[m,n]='G' then begin canvas.Brush.color:=clyellow; canvas.fillrect(rect); end else begin canvas.Brush.color:=clwhite; canvas.FillRect(rect); end; end; Wenn ich das Programm so starte, färbt sich der Hintergrund (aber nicht das Gitter) weiß. Kann mir bitte jmd. sagen, was falsch ist? dankeschön |
Re: Vier gewinnt Stringgrid
Liest du eigentlich auch die Antworten? Ich schrieb, das die Methode füt jede Zeile aufgerufen wird. Du musst also nur Überprüfungen für die aktuelle Zeile durchführen! (Siehe Parameter ACol, ARow)
Du überprüfst für jede Zeile alle! ( bei einem 4x4 gitter wird die Methode 16 mal aufgerufen, in jedem Aufruf überprüfst du alle 16 Felder!) Ändere bitte .Net auf Win32! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:26 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