AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TicTacToe

Ein Thema von Tytomik · begonnen am 29. Mär 2011 · letzter Beitrag vom 27. Apr 2011
Antwort Antwort
Seite 1 von 3  1 23      
Tytomik

Registriert seit: 25. Feb 2011
24 Beiträge
 
#1

TicTacToe

  Alt 29. Mär 2011, 21:59
hallo,
Ich habe angefangen mit TicTacToe zu programmieren.
Aber ohne zu gucken wer gewonnen hat sondern nur auf Buttons x und o.
Aber jedes mal wen ich es öffnen will zeigt es mir eine Nachricht an
!Expected '=' but';'found! und das wars, da ich noch ein Einsteiger bin weiß ich nicht wo der fehler ist, könnt ihr mal bitte rübergucken?

Delphi-Quellcode:
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure TForm1.Drueken;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  t: Integer;// variable zum Zählen

implementation

{$R *.dfm}

procedure TForm1.Drueken;// Eigene procedure, es soll gezählt werden
begin
t:=t+1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Drueken;
If t=1 then button1.caption 'x';// wenn t gleich 1 ist soll auf dem button x stehen

If t=2 then button1.caption ('o') and t=0;// wenn t gleich 2 ist soll auf dem button o stehen
//und es wieder auf 0gebracht werden

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Drueken;
If t=1 then button2.caption ('x');
If t=2 then button2.caption ('o') and t=0;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Drueken;
If t=1 then button3.caption ('x');
If t=2 then button3.caption ('o') and t=0;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Drueken;
If t=1 then button4.caption ('x');
If t=2 then button4.caption ('o') and t=0;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
Drueken;
If t=1 then button5.caption ('x');
If t=2 then button5.caption ('o') and t=0;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
Drueken;
If t=1 then button6.caption ('x');
If t=2 then button6.caption ('o') and t=0;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
Drueken;
If t=1 then button7.caption ('x');
If t=2 then button7.caption ('o') and t=0;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
Drueken;
If t=1 then button8.caption ('x');
If t=2 then button8.caption ('o') and t=0;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
Druecken;
If t=1 then button9.caption ('x');
If t=2 then button9.caption ('o') and t=0;
end;

Danke

Geändert von Luckie (30. Mär 2011 um 04:35 Uhr) Grund: Titel korrigiert damit man es auch findet.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: TicTacTow

  Alt 29. Mär 2011, 22:03
Hallo,

Du musst die Caption zuweisen!
Delphi-Quellcode:
// Falsch
If t=1 then button2.caption ('x');

// Richtig (Einrückung kann auch nicht schaden)
If t=1 then
  button2.caption := 'x';
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: TicTacTow

  Alt 29. Mär 2011, 22:05
Und: If t=2 then button2.caption ('o') and t=0; was soll das sein? Soll t=0 eine Zuweisung oder eine zweite Bedingung sein?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#4

AW: TicTacTow

  Alt 29. Mär 2011, 22:05
Mehre Anweisungen, die nach nach einer If-Prüfung ausgeführt werden sollen, in einen Anweisungsblock setzen.

Also statt
if t=2 then button1.caption ('o') and t=0; .

so
Delphi-Quellcode:
If t=2 then
begin
  button1.caption ('o');
  t=0;
end;
Zuweisungen mit := also entgültig dann so
Delphi-Quellcode:
If t=2 then
begin
  button1.caption := 'o';
  t := 0;
end;
PS: Im Quelltext-Kommentar steht ja, was er erreichen will.

PPS: Zuweisungs- und Vergleichsoperator (=, :=) und Anweisungsblöcke sind absolutes Basiswissen. Unbedingt nochmal mit den Grundlagen (Operatoren, Schlüsselwörter usw.) beschäftigen!

Geändert von Satty67 (29. Mär 2011 um 22:09 Uhr)
  Mit Zitat antworten Zitat
Tytomik

Registriert seit: 25. Feb 2011
24 Beiträge
 
#5

AW: TicTacTow

  Alt 29. Mär 2011, 22:20
Danke ich habe das auch noch geändert aber ich glaube der fehler ist
bei meiner eigene procedure.
Kann das sein?
Er zeigt immer noch den gleichen Fehler an.
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: TicTacTow

  Alt 29. Mär 2011, 22:32
Ist das im ersten Beitrag dein KOMPLETTER Source aus der Form1? Wenn ja, wo ist der Header?

Delphi-Quellcode:
unit Form1;

interface

uses
  ...

type
  TForm1 = class(TForm)
     ...
?
  Mit Zitat antworten Zitat
Tytomik

Registriert seit: 25. Feb 2011
24 Beiträge
 
#7

AW: TicTacTow

  Alt 29. Mär 2011, 22:36
Nein der ist obendran aber den wollte ich nicht dazu tun.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: TicTacTow

  Alt 29. Mär 2011, 22:38
Nochwas:

Es sollte so aussehen:
Delphi-Quellcode:
    
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
  private
    { Private declarations }
  public
    procedure Drueken;
  end;
Du solltest dir mal irgendwo die Grundlagen (vor allem Syntax und Unit-/Programmaufbau!
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: TicTacTow

  Alt 29. Mär 2011, 22:49
Warum sollte die Prozedur Drueken öffentlich sein. Wenn man mal davon absieht das drücken mit ck geschrieben wird. Des weiteren warte ich noch auf eine Beantwortung meiner Frage.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

AW: TicTacTow

  Alt 29. Mär 2011, 23:49
Ja stimmt du hast recht. Im Private-Bereich wäre die Methode eigentlich besser aufgehoben.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 14:35 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