Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Schachfeld mit 2 Figuren (Läufer, Turm) (https://www.delphipraxis.net/152612-schachfeld-mit-2-figuren-laeufer-turm.html)

Sir Rufo 29. Jun 2010 22:19

AW: Schachfeld mit 2 Figuren (Läufer, Turm)
 
Das muss doch wohl nicht sein, den ganzen Code zu zitieren.
Vor allem nur um zu sagen "Tut nicht!"

Roflto 30. Jun 2010 06:18

AW: Schachfeld mit 2 Figuren (Läufer, Turm)
 
hab es schon geändert

tkone 30. Jun 2010 08:34

AW: Schachfeld mit 2 Figuren (Läufer, Turm)
 
also wenn es eine schulaufgabe ist, dann habt ih sicher schon alle wichtigen dinge im unterricht durchgenommen, die zur erfüllung der aufgabe nötig sind.
erzähl mal ein bisschen, was ihr bereits dran hattet. mit tipps auf dem "richtigen" niveau hilft dir dann jeder weiter.
bloß fertige hausaufgaben bekommst du wahrscheinlich nicht, da es dir sowieso nicht weiter hilft. ;)

Roflto 30. Jun 2010 11:11

AW: Schachfeld mit 2 Figuren (Läufer, Turm)
 
wir hatten arrays, 1 und 2-dimensional, procedures, oncreate, onmousedown,onrepaint und sowas ca.

Aurelius 30. Jun 2010 11:47

AW: Schachfeld mit 2 Figuren (Läufer, Turm)
 
Hm, wenn ihr noch nicht so viel gehabt habt würde ich so an die Sache gehen:
  1. Schachfeld aus Paintboxen o.ä. bilden. Das hat den Vorteil dass du relativ leicht auf die Klickereignisse reagieren kannst und auch direkt weißt auf welches Feld wirklich geklickt wurde
  2. für die interne Betrachtung ein zweidimensionales Array benutzen, wobei man z.B. als Werte bspw. 0=nicht besetzt, 1=Läufer, 2=Turm nutzen könnte
  3. bei jedem Klick auf die Controls jeweils die Positionen abfragen
  4. Klick: Ist eine Figur auf dem Feld? Wenn ja Flag setzen, ansonsten nichts machen
  5. Klick: Ist Flag für Figur gesetzt? Wenn ja prüfen ob der "Laufweg" korrekt ist, entsprechend bewegen oder Meldung ausgeben

Ich hoffe es ist einigermaßen verständlich :)

Roflto 30. Jun 2010 17:51

AW: Schachfeld mit 2 Figuren (Läufer, Turm)
 
...

Roflto 30. Jun 2010 19:48

AW: Schachfeld mit 2 Figuren (Läufer, Turm)
 
kann mir einer bitte:
Delphi-Quellcode:
if (((y and 1)=1) and ((x and 1)=0)) or (((y and 1)= 0 ) and ((x and 1)=1)) then...
erklären aus dem von Bummi
bzw. mal in Worten schreiben was die einzelnen Sachen bedeuten
was die gesamte zeile bedeutet weiß ich auch

jfheins 30. Jun 2010 20:25

AW: Schachfeld mit 2 Figuren (Läufer, Turm)
 
Das sorgt halt für das typische Schachbrettmuster ;)
Benutzt aber bitweise Operatoren.
Du kannst auch
Delphi-Quellcode:
if (i+j) mod 2 = 0 then
nehmen, das ist vielleicht leichter zu verstehen ;)

Bummi 30. Jun 2010 20:30

AW: Schachfeld mit 2 Figuren (Läufer, Turm)
 
(((y and 1)=1) and ((x and 1)=0))
= Bin ich in einer ungeraden Zeile und Gleichzeitig in einer geraden Spalte?
oder
(((y and 1)= 0 ) and ((x and 1)=1))
= Bin ich in einer geraden Zeile und Gleichzeitig in einer ungeraden Spalte?

and vergleicht hier binär
0 and 1 = 0
1 and 1 = 1
2 and 1 = 0
3 and 1 = 1
....

alle 8 bit zweier werte UND verknüpfen

0 = 00000000
1 = 00000001
2 = 00000010
3 = 00000011

1 and 3:

00000001
00000011
=
00000001


oder

7 und 5

00000111
00000101
=
00000101

Kommst Du damit klar?

Roflto 30. Jun 2010 20:36

AW: Schachfeld mit 2 Figuren (Läufer, Turm)
 
Zitat:

Zitat von jfheins (Beitrag 1032712)
Das sorgt halt für das typische Schachbrettmuster ;)
Benutzt aber bitweise Operatoren.
Du kannst auch
Delphi-Quellcode:
if (i+j) mod 2 = 0 then
nehmen, das ist vielleicht leichter zu verstehen ;)

ok dann hab ichs verstanden ;) geht auch wunderbar, nja war klar, dass ich auf sowas triviales ned komm^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr.
Seite 2 von 3     12 3      

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