AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Kleines Spiel in Delphi

Kleines Spiel in Delphi

Ein Thema von honkundich · begonnen am 5. Jan 2007 · letzter Beitrag vom 6. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2   
honkundich

Registriert seit: 5. Jan 2007
8 Beiträge
 
#1

Kleines Spiel in Delphi

  Alt 5. Jan 2007, 23:07
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:
 // 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;
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.
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
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Kleines Spiel in Delphi

  Alt 5. Jan 2007, 23:49
Delphi-Quellcode:
 // 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;
so müssts funktionieren und hallo in der dp!

du überprüfst bei jedem click ob alle unsichtbar sind wenn ja kommt eine Meldung.

mfg
tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Kleines Spiel in Delphi

  Alt 6. Jan 2007, 00:03
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.
Blackheart
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Kleines Spiel in Delphi

  Alt 6. Jan 2007, 00:10
Zitat von Blackheart:
Oder noch ne andere Variante
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.

du vergisst das hide (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.
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Kleines Spiel in Delphi

  Alt 6. Jan 2007, 00:16
Stimmt sorry.
Blackheart
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#6

Re: Kleines Spiel in Delphi

  Alt 6. Jan 2007, 00:27
Zitat von EDatabaseError:
Delphi-Quellcode:
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;
IMHO nur Zeilenverschwendung, verknüpf' gleich alles mit der procedure Spiel kannst Dir dann das alles sparen.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
honkundich

Registriert seit: 5. Jan 2007
8 Beiträge
 
#7

Re: Kleines Spiel in Delphi

  Alt 6. Jan 2007, 00:29
WooooWWW Danke Danke!!! hätte niemals damit gerechnet so schnell eine Lösung für mein Problem zu erhalten, bzw. eine Antwort zu bekommen.
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
  Mit Zitat antworten Zitat
honkundich

Registriert seit: 5. Jan 2007
8 Beiträge
 
#8

Re: Kleines Spiel in Delphi

  Alt 6. Jan 2007, 00:56
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
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#9

Re: Kleines Spiel in Delphi

  Alt 6. Jan 2007, 01:02
Da hilft Hier im Forum suchenApplication.MessageBox weiter

Application.MessageBox('Dein Text', 'Die Überschrift', MB_OK or MB_ICONINFORMATION); Edit: Alle vergessen...
Herzlich Willkommen in der DP !!!
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Kleines Spiel in Delphi

  Alt 6. Jan 2007, 11:03
Zitat von Sunlight7:
Da hilft Hier im Forum suchenApplication.MessageBox weiter

Application.MessageBox('Dein Text', 'Die Überschrift', MB_OK or MB_ICONINFORMATION); Edit: Alle vergessen...
Herzlich Willkommen in der DP !!!
ne hab ich nich vergessen schau dir mal meinen ersten beitrag hier an
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf