AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Schachbrettmuster im Array
Thema durchsuchen
Ansicht
Themen-Optionen

Schachbrettmuster im Array

Ein Thema von tankm26 · begonnen am 15. Mai 2005 · letzter Beitrag vom 31. Mai 2005
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#11

Re: Schachbrettmuster im Array

  Alt 15. Mai 2005, 17:59
1. Verwende bitte die Delphi-Tags
Code:
[delphi]
und
[/delphi]
[Edit]Habs zu spät gesehn[/Edit]

2. Das füllen der Felder geht mit einem DrawGrid einfacher als mit einem StringGrid. Dafür kannst du dir dann die Methoden von TDrawGrid namens Canvas.FillRect und CellRect angucken, im Fall hilft die OH oder die Suche




@Sharky: Ok, mit deiner Methode gehts auch, bloß nicht 'and not', sondern 'xor' nehmen
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Schachbrettmuster im Array

  Alt 15. Mai 2005, 18:02
Zitat von Chimaira:
....@Sharky: Ok, mit deiner Methode gehts auch, bloß nicht 'and not', sondern 'xor' nehmen
*g* Ist mir eben auch aufgefallen

Delphi-Quellcode:
procedure TForm1.spielfeldDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if Odd (Acol) XOR (Odd (ARow)) then
  begin
    spielfeld.Canvas.Brush.Color := clBlack;
  end;
  spielfeld.Canvas.FillRect(Rect);
end;
@tankm26: Die beiden "ShowMessage-Texte" sind aber nicht wirklich notwendig!!
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
tankm26

Registriert seit: 18. Sep 2004
Ort: Wentorf
87 Beiträge
 
Delphi 7 Personal
 
#13

Re: Schachbrettmuster im Array

  Alt 15. Mai 2005, 18:11
Wegen der Texte/Messages:

Ja, die sind wirklich gemein. Es war nur eine Spielerei.

Das mit den delphi-tags mache ich beim nächsten mal natürlich. Sorry!

Die Möglichkeit von Sharky funktioniert wunderbar, danke erstmal!

Wenn man die Version von Chimaira weiterverfolgt, (Kommentar: Das mit ... Dafür kannst du dir dann die Methoden von TDrawGrid namens Canvas.FillRect und CellRect angucken, im Fall hilft die OH oder die Suche hab'
ich gar nicht kapiert.)

wie sähe das dann aus?

Ich war eben mit Sharky's Methode beschädtigt, hab sogar schon ein Foto davon gemacht (im Anhang).

Was bedeutet eigentlich if Odd(ACol) xor Odd(ARow)? Odd=? xor=?


Ich muss jetzt ersteinmal zum Essen. Bis gleich?
Wieland S.
  Mit Zitat antworten Zitat
tankm26

Registriert seit: 18. Sep 2004
Ort: Wentorf
87 Beiträge
 
Delphi 7 Personal
 
#14

Re: Schachbrettmuster im Array

  Alt 15. Mai 2005, 18:16
so, das bild.
Angehängte Grafiken
Dateityp: bmp delphi1_828.bmp (162,5 KB, 37x aufgerufen)
Wieland S.
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#15

Re: Schachbrettmuster im Array

  Alt 15. Mai 2005, 18:32
(Du kannst deine Beiträge, somit auch Titel und Anhang durch den Edit-button rechts oben editieren)

Meine Lösung würde so aussehen:
Delphi-Quellcode:
procedure FillRect(i, j: integer; Color: TColor);
begin
  DrawGrid1.Canvas.Brush.Color := Color;
  DrawGrid1.Canvas.FillRect(DrawGrid1.CellRect(i, j));
end;
Dabei ist aber zu beachten, dass dies in jedem OnShow-Ereignis zu erledigen ist, weil sich Canvas nicht von alleine neu zeichnet.


Also ist wohl Sharkys zu bevorzugen


Bezüglich Odd: Meine OH sagt mir, dass dies eine Funktion ist, die mir sagt, ob eine Zahl gerade ist. Macht also das selbe wie (Zahl mod 2 = 0).
Bezüglich Xor: Xor ist ein boolscher operator mit folgender Wahrheitstabelle:
(exclusiv or)
Code:
a xor b = c
a b|c
---+-
0 0|0
0 1|1
1 0|1
1 1|0
Also wenn a <> b (wobei a, b und c immer boolean sein müssen)
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Schachbrettmuster im Array

  Alt 15. Mai 2005, 18:37
Zitat von Chimaira:
... Bezüglich Odd: Meine OH sagt mir, dass dies eine Funktion ist, die mir sagt, ob eine Zahl gerade ist. Macht also das selbe wie (Zahl mod 2 = 0)....
Hai Chimaira,

Odd() gibt True zurück wenn die übergebene Zahl undgerade ist (x mod 2 <> 0)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
tankm26

Registriert seit: 18. Sep 2004
Ort: Wentorf
87 Beiträge
 
Delphi 7 Personal
 
#17

Re: Schachbrettmuster im Array

  Alt 15. Mai 2005, 18:39
Danke!!!
Angehängte Dateien
Dateityp: rar das_komplette_programm_123.rar (188,4 KB, 8x aufgerufen)
Wieland S.
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#18

Re: Schachbrettmuster im Array

  Alt 15. Mai 2005, 19:01
Ein Schachbrett sieht für mich so aus.

PS: Du kannst gar kein Informatiker sein, höhstens
Auszubildender. In diesem Sinne angenehme pfingsten.
Angehängte Dateien
Dateityp: zip schachbrett_415.zip (1,8 KB, 19x aufgerufen)
  Mit Zitat antworten Zitat
tankm26

Registriert seit: 18. Sep 2004
Ort: Wentorf
87 Beiträge
 
Delphi 7 Personal
 
#19

Re: Schachbrettmuster im Array

  Alt 16. Mai 2005, 16:59
Jetzt scheitere ich mittlerweile einen Tag daran, zwei Spieler in das Programm einzubinden, die abwechselnd rote und blaue Steine setzen.

Die Positionierung der Kreise auf dem Spielfeld funktioniert nicht.


Wo könnte hierbei ein Problem auftreten?
Angehängte Dateien
Dateityp: rar halma_version_1_schachbrett_aber_rot_und_blau_955.rar (197,5 KB, 14x aufgerufen)
Wieland S.
  Mit Zitat antworten Zitat
Spoon

Registriert seit: 26. Apr 2003
39 Beiträge
 
#20

Re: Schachbrettmuster im Array

  Alt 16. Mai 2005, 17:45
Also bei mir funktioniert es einwandfrei wenn ich

Delphi-Quellcode:
spielfeld.ColCount:=ANZAHL+3;
spielfeld.RowCount:=ANZAHL+3;
durch
Delphi-Quellcode:
spielfeld.ColCount:=ANZAHL;
spielfeld.RowCount:=ANZAHL;
ersetzte. Mir ist sowieso schleierhaft, was genau du damit bezwecken wolltest...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:40 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