Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Snake Spiel (https://www.delphipraxis.net/152558-snake-spiel.html)

Cueppi 27. Jun 2010 11:08

AW: Snake Spiel
 
ich guck mal mit den begin und end ;)

können sie mir dann einen kleinen tipp geben, wie ich das asulager `?

DeddyH 27. Jun 2010 11:11

AW: Snake Spiel
 
Was auslagern?

[edit] BTW: Deine Codeformatierung ist sagen wir mal "kreativ", da müsste etwas mehr Ordnung rein. [/edit]

haentschman 27. Jun 2010 11:11

AW: Snake Spiel
 
Delphi-Quellcode:
procedure TForm1.Initialisierung;
 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;
  end;
Delphi-Quellcode:
procedure TForm1.BtnStartClick(Sender: TObject);
  begin
    Initialisierung;
    PlaySOUND(PChar('.\Rattlesnakerattle.wav'),hInstance,snd_ASync );
  end;
Delphi-Quellcode:
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; Initialisierung;
   if (BtnStart.Enabled =false)
    then timer1.Enabled:=false;
  IF (MessageBox(0, 'Wiederholen ??', 'Spielende', MB_YESNO + MB_ICONQUESTION )=IDNO)
then Initialisierung;
   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;

Cueppi 27. Jun 2010 11:13

AW: Snake Spiel
 
ja also :

"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. "

das :D

DeddyH 27. Jun 2010 11:13

AW: Snake Spiel
 
Achso, siehe Beitrag 13.

Cueppi 27. Jun 2010 11:17

AW: Snake Spiel
 
jetzt meckert das Programm:

Nicht deklarierter Begriff in zeile 237 - 257 :(

haentschman 27. Jun 2010 11:18

AW: Snake Spiel
 
du mußt natürlich die procedure noch unter private deklarieren... :zwinker:
Delphi-Quellcode:
private
    { Private-Deklarationen }
    map: Array [0..BSB] of Array [0..HSB] of Integer;
    kopf,
    richtung,
    fressen: TPoint;
    LaengeSnake: Integer;
    PunkteZaehler: Integer;
    ende: Boolean;


    procedure AktiviereButtons(status: Boolean);
    procedure FarbeSpielfeld;
    procedure BewegungSchlange;
    procedure NeuesFressen;
    procedure SpielEnde;
    procedure Initialisierung;

  public

DeddyH 27. Jun 2010 11:19

AW: Snake Spiel
 
Stimmt, das muss auch eine Methode sein. Schreib also mal
Delphi-Quellcode:
procedure Initialisierung;
in den private-Abschnitt des Formulars und im implementation-Teil dann
Delphi-Quellcode:
procedure TForm1.Initialisierung;
begin
  //hier der Code
end;

Cueppi 27. Jun 2010 11:33

AW: Snake Spiel
 
es läuft alles wie gewünscht!
super danke :):):)
aber noch zwei fragen:

wie würdet ihr das denn "aufräumen" also, weil eben ja gesagt wurde, das ich sehr kreativ programmiert hab :(

und, ich möchte die schlange mit den Pfeiltasten & "W,A,S,D" steuern können, was muss ich dafür programmieren ??

Cueppi 27. Jun 2010 11:36

AW: Snake Spiel
 
Liste der Anhänge anzeigen (Anzahl: 1)
die fertige Datei :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 Uhr.
Seite 2 von 5     12 34     Letzte »    

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