Einzelnen Beitrag anzeigen

SteffDaChef

Registriert seit: 18. Mai 2007
5 Beiträge
 
#10

Re: Schach:Übertragungsproblem?!

  Alt 20. Mai 2007, 18:27
Normal sollte in den Funktionen/Prozeduren der TForm1.BitBtOkClick-Prozedur, je nachdem, ob der Zug geht oder nicht, das ox(alte x-Koordinate) zu p (eingegebene x-Koordinate) oder andersrum umgewandeelt.
Also wenn der Zug geht: ox:=p
und wenn nicht: p:=ox
Das gleiche gilt für die oy(alte y-Koordinate) und y (eingegebene y-Koordinate).
Delphi-Quellcode:
procedure TForm1.BitBtOkClick(Sender: TObject); {Procedure, die alle Funktionen und Prozeduren vereinigt und ausführt}
 begin
  if CbSf.Text='Bauer1'
  then begin
  ox:=1; //alte x-Koordinate
  oy:=2; //alte y-Koordinate
  x:=Ed_X.Text; //Bestimmung von x aus einem Textfeld
  y:=StrToInt(Ed_Y.Text); //Bestimmung von y aus einem Textfeld
  xk(x); //wandelt x für Array um
  istFarbeSchlagbar(ox,oy,p,y); //überprüft farbe zum schlagen
  checkFarbe(ResultFarbe); //falls Farbe nicht in Ordnung, dann soll p auf ox und y auf oy zurückgesetzt werden, damit figur nicht berschoben wird
  PruefungZug(ox,oy,p,y); //eigentliche Prüfung über Felder
  xkoordinate(p); // folgende 4 Prozeduren verschieben nur Bild, abhängig von p und y
  ykoordinate(y);
  ImSB1.Left:=l;
  ImSB1.Top:=t;
Kann es sein, dass in den Prozeduren (Reihenfolge ist sinnvoll gewählt) die Varibalen ox und oy, durch die Funktionen/Prozeduren gar nicht verändert werden.
Normal wird ja von oben nach unten alles nacheinander abgearbeitet. Also werden auch in die Funktionen/Prozeduren die aktuellen Werte der Variablen gegeben, dann die Funktion/Prozedur durchlaufen, die Variablen mit ihren Werten wieder ausgegeben/verändert. Danach folgt die nächste Prozedur usw. Also müsste PruefungZug die endgültigen p, y, ox und oy Werte festlegen und auch ox und oy für den nächsten Durchlauf der Prozedur TForm1.BitBtOkClick. Nur bleibt ox und und oy glaub ich immer gleich.
Normal läuft das aber doch wie oben beschrieben ab, oder?
  Mit Zitat antworten Zitat