![]() |
Kleines Spiel in Delphi
Hallo und Guten Tag.
Muss bis Sonntag Abend mit meinem kleinen spiel fertig sein und weis einfach nicht mehr weiter. Ich poste mal den Quellcode ..vielleicht kann mir ja jemand helfen.
Delphi-Quellcode:
so und nun möchte ich das Spiel so programmieren, dass wenn alle 7 Images angeklickt wurden und visible:=false sind , dass dann das Spiel endet und man gewonnen hat.
// Einsameln der Images bzw. der Haselnüsse
procedure TForm1.Haselnuss1Click(Sender: TObject); begin Haselnuss1.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; end; procedure TForm1.Haselnuss7Click(Sender: TObject); begin haselnuss7.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; end; procedure TForm1.Haselnuss4Click(Sender: TObject); begin haselnuss4.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; end; procedure TForm1.Haselnuss6Click(Sender: TObject); begin haselnuss6.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; end; procedure TForm1.Haselnuss3Click(Sender: TObject); begin haselnuss3.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; end; procedure TForm1.Haselnuss2Click(Sender: TObject); begin haselnuss2.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; end; procedure TForm1.Haselnuss5Click(Sender: TObject); begin haselnuss5.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; end; Mein Problem ist das die proceduren ja alle von einander unabhängig sind und eine IF Struktur nicht funktioniert wenn ich sie jetzt anfügen würde. Bitte helft mir!!! Viele Grüße honkundich |
Re: Kleines Spiel in Delphi
Delphi-Quellcode:
so müssts funktionieren und hallo in der dp!
// Einsameln der Images bzw. der Haselnüsse
... public procedure HaselnussCheck; ... procedure TForm1.HaselnussCheck; begin if (Haselnuss1.visible = false) and (Haselnuss2.visible = false) and (Haselnuss3.visible = false) and (Haselnuss4.visible = false) and (Haselnuss5.visible = false) and (Haselnuss6.visible = false) and (Haselnuss7.visible = false) then begin showmessage('gewonnen'); close; end; end; procedure TForm1.Haselnuss1Click(Sender: TObject); begin Haselnuss1.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; HaselnussCheck; end; procedure TForm1.Haselnuss7Click(Sender: TObject); begin haselnuss7.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; HaselnussCheck; end; procedure TForm1.Haselnuss4Click(Sender: TObject); begin haselnuss4.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; HaselnussCheck; end; procedure TForm1.Haselnuss6Click(Sender: TObject); begin haselnuss6.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; HaselnussCheck; end; procedure TForm1.Haselnuss3Click(Sender: TObject); begin haselnuss3.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; HaselnussCheck; end; procedure TForm1.Haselnuss2Click(Sender: TObject); begin haselnuss2.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; HaselnussCheck; end; procedure TForm1.Haselnuss5Click(Sender: TObject); begin haselnuss5.visible:=false; Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; HaselnussCheck; end; du überprüfst bei jedem click ob alle unsichtbar sind wenn ja kommt eine Meldung. mfg tobi |
Re: Kleines Spiel in Delphi
Oder noch ne andere Variante
Delphi-Quellcode:
private
{ Private-Deklarationen } procedure SpieleLied; //hier ohne TForm1 public { Public-Deklarationen } end; var Form1: TForm1; i:Integer; implementation {$R *.dfm} procedure TForm1.SpieleLied; //Sparst Du Dir ein paar Zeilen unter private einfügen begin Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; end; procedure TForm1.Haselnuss1Click(Sender: TObject); begin inc(i); // i um 1 erhöhen SpieleLied; if i=7 then Form1.Close; end; procedure TForm1.Haselnuss7Click(Sender: TObject); begin inc(i); SpieleLied; if i=7 then Form1.Close; end; procedure TForm1.Haselnuss4Click(Sender: TObject); begin inc(i); SpieleLied; if i=7 then Form1.Close; end; procedure TForm1.Haselnuss6Click(Sender: TObject); begin inc(i); SpieleLied; if i=7 then Form1.Close; end; procedure TForm1.Haselnuss3Click(Sender: TObject); begin inc(i); SpieleLied; if i=7 then Form1.Close; end; procedure TForm1.Haselnuss2Click(Sender: TObject); begin inc(i); SpieleLied; if i=7 then Form1.Close; end; procedure TForm1.Haselnuss5Click(Sender: TObject); begin inc(i); SpieleLied; if i=7 then Form1.Close; end; end. |
Re: Kleines Spiel in Delphi
Zitat:
du vergisst das hide ;-)
Delphi-Quellcode:
(sender as timage).Visible := false;
--> edit so kann man noch mehr sparen ;-)
Delphi-Quellcode:
private
{ Private-Deklarationen } procedure Spiel(Sender: TObject); //hier ohne TForm1 public { Public-Deklarationen } end; var Form1: TForm1; i:Integer; implementation {$R *.dfm} procedure TForm1.Spiel(Sender: TObject); //Sparst Du Dir ein paar Zeilen unter private einfügen begin inc(i); Mediaplayer1.filename:='misc1-22.wav'; MediaPlayer1.open; MediaPlayer1.play; (sender as timage).Visible := false; if i=7 then Form1.Close; end; procedure TForm1.Haselnuss1Click(Sender: TObject); begin Spiel(sender); end; procedure TForm1.Haselnuss7Click(Sender: TObject); begin Spiel(sender); end; procedure TForm1.Haselnuss4Click(Sender: TObject); begin Spiel(sender); end; procedure TForm1.Haselnuss6Click(Sender: TObject); begin Spiel(sender); end; procedure TForm1.Haselnuss3Click(Sender: TObject); begin Spiel(sender); end; procedure TForm1.Haselnuss2Click(Sender: TObject); begin Spiel(sender); end; procedure TForm1.Haselnuss5Click(Sender: TObject); begin Spiel(sender); end; end. |
Re: Kleines Spiel in Delphi
Stimmt sorry. :wink:
|
Re: Kleines Spiel in Delphi
Zitat:
|
Re: Kleines Spiel in Delphi
WooooWWW Danke Danke!!! hätte niemals damit gerechnet so schnell eine Lösung für mein Problem zu erhalten, bzw. eine Antwort zu bekommen. :dancer: :hello:
werde dann gleich morgen mal versuchen mein Programm zu ändern und hoffe das ich es zum Laufen bekommen so das es funktioniert. Bis morgen dann, ich melde mich wieder |
Re: Kleines Spiel in Delphi
Hab es nun doch gleich ausprobiert und alles hat geklappt, hab aber die erste, längere Variante genommen damit ich nicht so viel ändern musste und weil ich sonst durcheinander gekommen wäre, die Hauptsache ist ja das es funktioniert.
Habe nun noch eine Frage zu dem Befehl showmessage. Dabei steht bei mir immer als Überschrift in dem Fenster was ich dann öffnet Project.... irgendwas, kann man davon auch den Text ändern oder könnte mir jemand helfen wie man eine Gewinn oder Verlorenmeldung in einem Label ausgeben kann?!? Des Weiteren hatte ich noch die Idee dass alle eingesammelten Images gezählt werden bzw aufaddiert werden. wie könnte ich eine solche amsprechende,grafische Ausgabe erstellen?? Nun wirklich bis morgen!!! Gute Nacht :-) :mrgreen: :mrgreen: |
Re: Kleines Spiel in Delphi
Da hilft
![]()
Delphi-Quellcode:
Edit: :shock: Alle vergessen... :shock:
Application.MessageBox('Dein Text', 'Die Überschrift', MB_OK or MB_ICONINFORMATION);
Herzlich Willkommen in der DP !!! :dp: |
Re: Kleines Spiel in Delphi
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz