![]() |
Snake Spiel
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo DelphiPraxis,
ich muss zum Abschluss dieses Schuljahres das Spiel Snake programmieren. Jedoch habe ich noch einige Fragen!! Ich weiß nicht ob ich die Klassen auslagern muss, wenn ja, könne mir da jemand helfen, da ich da erst am ende dran gedacht hab :( und wie ihr merken werdet habe ich einen Sound eingefügt. Ich möchte, das dieser Sound nur abgespielt wird, wenn man auf den "BtnStart" klickt, jedoch wird er jetzt abgespielt, wenn sich das Spiel öffnet. Wenn ich den befehl zum abspielen in die procedure von "BtnStart" lege, wird der Sound zwar beim klicken auf den Button abgespielt, jedoch auch wenn ich die anderen Buttons anklicke. Ich möchte aber das der Sound nur abgespielt wird, wenn der StartButton angeklickt wird! Ich bitte um dringende Hilfe ! :) Mfg. Cueppi P.S: Datei ist im Anhang :) Danke für die super Hilfe hier!!!! |
AW: Snake Spiel
Hallo und willkommen in der DP... :dp:
sei doch bitte so nett und hänge die PAS und einen Screenshot an deinen Beitrag an. Bei so einem Download weiß man nie was man bekommt :zwinker: ...dann wirst du hier geholfen. :zwinker: |
AW: Snake Spiel
Hallo und Willkommen in der DP :dp:,
Du kannst Dateien an Deinen Beitrag anhängen, dann bleiben Sie uns auch erhalten, was bei externen Links nicht immer der Fall ist. Und ich verstehe Dein Problem nicht ganz: pack den Befehl zum Sound abspielen doch einfach ins OnClick des Buttons. |
AW: Snake Spiel
Datei ist im anhang ! :)
danke!!!! ja habe ich versucht, dann spielt der trotzdem immer ab. Moment:
Delphi-Quellcode:
sonst wüsste ich leider nicht was ihr jetzt meint :(
procedure TForm1.BtnStartClick(Sender: TObject);
var X, Y: Integer; begin BtnStart.Enabled := False; PunkteZaehler:= 0; for X:=0 to BSB do for Y:=0 to HSB do map[X, Y] := 0; kopf := Point(1, 1); laengesnake := 3; richtung := Point(0, 1); map[kopf.X, kopf.Y] := laengesnake; neuesfressen; bewegungSchlange; AktiviereButtons(True); ende := False; Timer1.Enabled := True; Startbild.Visible:=false; ZPunkte.Visible:=true; APunkte.Visible:=true; BtnHoch.Visible:=True; BtnLinks.Visible:=True; BtnRechts.Visible:=True; BtnUnten.Visible:=True; PlaySOUND(PChar('.\Rattlesnakerattle.wav'),hInstance,snd_ASync ); end; |
AW: Snake Spiel
Wie ich schon sagte: nimm das PlaySound aus dem OnCreate raus und pack es ins OnClick des Startbuttons.
|
AW: Snake Spiel
bleib trotzdem so :(
ich hab es aus dem Oncreate in den OnBtnStart getan, jetzt spielt der das immer ab :( |
AW: Snake Spiel
:?: Häng doch mal die aktuelle *.pas an.
|
AW: Snake Spiel
Liste der Anhänge anzeigen (Anzahl: 1)
hier ;)
|
AW: Snake Spiel
Bei mir wird der Sound nur einmal abgespielt, wenn ich den Button betätige, also wie gewollt.
|
AW: Snake Spiel
der Sound wird abgespielt beim Start und beim Beenden, weil du in der BtnBeendenClick BtnStart.Click aufrufst. Ich gehe davon aus, daß du damit wieder neu initialisieren möchtest. Lagere die Initialisierung in eine eigene Prozedure aus und rufe diese explizit auf. Dann ist auch der Sound aus dem Beenden weg.
PS: ich glaube, daß in der
Delphi-Quellcode:
...ein paar begin / end fehlen oder zumindest durch die Formatierung nicht zu erkennen ist, wie der Ablauf wirklich sein soll.
procedure TForm1.BtnBeendenClick(Sender: TObject);
begin if (BtnStart.Enabled =false) then timer1.Enabled:=false else if (MessageBox(0,'Schon fertig gezockt ?!?! // Good Bye :-)' ,'Spielende' , MB_YESNO + MB_ICONQUESTION )=IDYES)then close; BtnStart.click; if (BtnStart.Enabled =false) then timer1.Enabled:=false; IF (MessageBox(0, 'Wiederholen ??', 'Spielende', MB_YESNO + MB_ICONQUESTION )=IDNO) then BtnStart.Click; if (BtnStart.Enabled =false) then timer1.Enabled:=false; //showMessage ('Schon fertig gezockt ?!?! // Good Bye :-)'); if (BtnStart.Enabled =false) then timer1.Enabled:=false; if (BtnStart.Enabled =true) then close; BtnStart.Enabled:=true; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 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 by Thomas Breitkreuz