![]() |
Schachbrettmuster im Array
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo!
Als armer "Informatiker" stehe ich vor folgendem Problem: Ich möchte ein Schachbrettmuster in einem array erstellen, weiß aber nicht wie. Welche Programmiersprache habe ich eigentlich bei Delphi 7? Den source-code füge ich an. mfg Wieland |
Re: Schachbrettmuster im Array
hallo tankm26,
also irgendwie verstehe ich dein problem nicht ganz... :gruebel: Zitat:
|
Re: Schachbrettmuster im Array
Das wird mein beim Erstellen eines neuen Themas gefragt...
Nee, aber das war doch überhaupt nicht mein Problem. Das array soll, immer im Wechsel, ein weißes und ein schwarzes Feld besitzen. |
Re: Schachbrettmuster im Array
Ein Schachbrettmuster erhält man ca. so:
Delphi-Quellcode:
const
Farben: array[0..1] = (clWhite, clBlack); //... for i := 0 to AnzahlZeilen - 1 do for j := 0 to AnzahlSpalten - 1 do FarbeDerZelle[i][j] := Farben[(i + j) mod 2]; PS: Programmiersprache bei Delphi ist Object Pascal [Edit]: Willkommen in der DP!! :party: |
Re: Schachbrettmuster im Array
ich werds mal ausprobieren...
Ja,ja, Delphi ist doch was Feines. Danke für den Gruß! So, hab mir die Idee von chimaira mal angesehen:
Delphi-Quellcode:
const
Farben: array[0..1] = (clWhite, clBlack); //... for i := 0 to AnzahlZeilen - 1 do for j := 0 to AnzahlSpalten - 1 do FarbeDerZelle[i][j] := Farben[(i + j) mod 2]; 1.Frage: Sollen i und j Variablen werden? Integer ? 2.: Wo kommt das AnzahlZeilen her? Soll das spielfeld.ColCount und spielfeld.RowCount sein? Den Text soll ich wohl in FormCreate einfügen, oder? 3.: FarbederZeile, die constante "Farben", wie baue ich das ein? Danke für eure schnelle Hilfe! [edit=alcaeus]Delphi-Codes gesetzt. Bitte in Zukunft selbst erledigen ;) Mfg, alcaeus[/edit] |
Re: Schachbrettmuster im Array
Zitat:
|
Re: Schachbrettmuster im Array
Zitat:
|
Re: Schachbrettmuster im Array
Die beiden Zeilen kann ich schon mal rausschmeißen, es warten nur Versuche:
if feld [spielfeld.Col,spielfeld.Row].canvas.Brush.Color=clblack then begin feld[spielfeld.Col,spielfeld.Row].canvas.Brush.Color:=clwhite; Den Kram auch... { feld[aCol,aRow].Color:=clblack; if Spielfeld.Color=clWhite then Spielfeld.Color:=clblack; } |
Re: Schachbrettmuster im Array
So, folgendes Problem habe ich jetzt nur noch (bei diesem Quelltext[ausschnitt]):
Delphi-Quellcode:
const
ANZAHL=20; BREITE=20; var Form1: TForm1; feld:array [0..ANZAHL-1,0..ANZAHL-1] of integer; dransein:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i,j: integer; begin spielfeld.ColCount:=ANZAHL+3; spielfeld.RowCount:=ANZAHL+3; spielfeld.DefaultColWidth:=BREITE; spielfeld.DefaultRowHeight:=BREITE; spielfeld.Width:=25*ANZAHL-13; spielfeld.Height:=25*ANZAHL-13; Form1.Width:=28*ANZAHL; Form1.Height:=28*ANZAHL; ShowMessage(''); ShowMessage (''); for i:=0 to spielfeld.RowCount-1 do for j:=0 to spielfeld.ColCount-1 do Color of feld [i][j] :=Colors[(i + j) mod 2]; end; [Fehler] version1.pas(54): Anweisung erforderlich, aber Ausdruck vom Typ 'TColor' gefunden Aber, das kriegen wir (ich) auch noch hin, oder? [edit=Sharky]Delphi-Tags gesetzt. Bitte beim nächsten mal selber machen :-D Mfg, Sharky[/edit] |
Re: Schachbrettmuster im Array
Hai,
wenn es "nur" um das Schachbrettmuster in dem TStringGrid geht würde ich das ganz einfach so machen:
Delphi-Quellcode:
Diesen Code in das .OnDrawCell Ereigniss des TStringGrid und fertig ;-)
procedure TForm1.spielfeldDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin if Odd(ACol) and not Odd(ARow) then begin spielfeld.Canvas.Brush.Color := clBlack; end; spielfeld.Canvas.FillRect(Rect); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:56 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