AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Schon wieder Arrays... Werte abwechselnd ändern?
Thema durchsuchen
Ansicht
Themen-Optionen

Schon wieder Arrays... Werte abwechselnd ändern?

Ein Thema von malo · begonnen am 22. Sep 2004 · letzter Beitrag vom 24. Sep 2004
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#21

Re: Schon wieder Arrays... Werte abwechselnd ändern?

  Alt 23. Sep 2004, 15:02
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.enabled := false;
  case LastPlayer of
    0: LastPlayer := 1; // noch kein Button gedrückt, also kommt Spieler 1 drann
    1: LastPlayer := 2; // Spieler 1 war drann, also muss jetzt Spieler 2 rann
    2: LastPlayer := 1; // Spieler 2 war drann, also muss jetzt Spieler 1 rann
  end;
  TicTacToe[1,1] := LastPlayer;
end;
könntest du auch vereinfachen zu:

du definierst den tag des jeweiligen buttons mit:

button1.tag:=11
button5.tag:=22
button7.tag:=31
etc.
dann das onclick erignis auf folgente procedure

Delphi-Quellcode:
procedure TForm1.ButtonClick(Sender: TObject);
var BtnNr:integer;
    Zeile,Spalte:integer;
begin
  TButton(Sender).Enabled := false; // aktueller button kann nicht mehr gedrückt werden
  BtnNr:=TButton(Sender).Tag; // Button-Nr

  Zeile:=BtnNr mod 10;
  Spalte:=BtnNr-Zeile;

  inc(LastPlayer); // +1
  if LastPlayer>2 then
    LastPlayer:=1;

  TicTacToe[Zeile,Spalte] := LastPlayer;
end;
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#22

Re: Schon wieder Arrays... Werte abwechselnd ändern?

  Alt 23. Sep 2004, 15:06
Spalte:=(BtnNr-Zeile) div 10; nicht vergessen
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#23

Re: Schon wieder Arrays... Werte abwechselnd ändern?

  Alt 23. Sep 2004, 15:16
Naja, ich hab jetzt einfach mal das end überall verschoben... diese vereinfachung merk ich mir jedoch für das nächste Mal, bin jetzt nur zu faul alles zu ändern und mir dann auch noch zu merken, was die einzelnen Befehle da machen

Naja, dann kann ich mich ja mal weiter auf den Weg zum fertigen Spiel machen... Danke nochmal an alle, die mir geholfen haben, und auch an die, die es versucht haben
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#24

Re: Schon wieder Arrays... Werte abwechselnd ändern?

  Alt 23. Sep 2004, 15:19
Zitat von scp:
Spalte:=(BtnNr-Zeile) div 10; nicht vergessen
stimmt ein fehler, aber nicht so sondern:


Spalte:=BtnNr-Zeile*10;
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#25

Re: Schon wieder Arrays... Werte abwechselnd ändern?

  Alt 23. Sep 2004, 17:48
[ot]
Wieso *10 ?
Delphi-Quellcode:
  BtnNr := 23;

  Zeile:=BtnNr mod 10; // Zeile = 3
  Spalte:=(BtnNr-Zeile) div 10; // 23-3 = 20; 20/10 = 2
[/ot]
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#26

Re: Schon wieder Arrays... Werte abwechselnd ändern?

  Alt 24. Sep 2004, 09:46
@scp

also bei mir ist:
Code:
Zeile= 23 div 10 = 2
Spalte= 23-(2*10) = 3
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#27

Re: Schon wieder Arrays... Werte abwechselnd ändern?

  Alt 24. Sep 2004, 11:22
So gehts natürlich auch, du hast aber bei Zeile im Originalcode mod verwendet, was durchaus die bessere Wahl war, weil es genauer ist.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#28

Re: Schon wieder Arrays... Werte abwechselnd ändern?

  Alt 24. Sep 2004, 11:29
stimmt sollte eigentlich div sein!

genauer kann nicht sein, da mod sich aus div berechnet:

x mod y = x - (x div y) * y.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 08:24 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