Delphi-PRAXiS
Seite 3 von 5     123 45      

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)

DeddyH 27. Jun 2010 11:37

AW: Snake Spiel
 
Setz die KeyPreview-Eigenschaft des Forms auf true, dann kannst Du im OnKeyPress die entsprechende Taste abfragen und darauf reagieren. Und zur Formatierung: irgendwo hier im Forum ist der Styleguide verlinkt, an den sollte man sich weitestgehend halten.

[edit] Link gefunden: http://edn.embarcadero.com/article/10280 [/edit]

haentschman 27. Jun 2010 11:38

AW: Snake Spiel
 
gaaaanz laaaangsam... :zwinker:

Fang einfach mal damit an, den Quellcode vernünftig einzurücken und vor allem keine 2 Anweisungen in die gleiche Zeile.

Cueppi 27. Jun 2010 12:27

AW: Snake Spiel
 
so mal etwas aufgeräumt :)

ich hab das in der mainform auf true gesetzt, nur die frage ist, wie die procedure heißt und geschrieben wird :O

ich kenn mich damit garnicht aus :(
wie ihr merkt ich bin relativ neu in delphi :)

DeddyH 27. Jun 2010 12:35

AW: Snake Spiel
 
Klick auf das Form und setze im Objektinspektor KeyPreview auf true. Dann wechselst Du zu den Ereignissen und gehst zu "OnKeyPress". Im Code dazu könntest Du dann so etwas machen (ganz einfache Variante, schöner wären eigene Methoden):
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
    'a','A': BtnLinks.Click;
    'd','D': BtnRechts.Click;
    's','S': BtnUnten.Click;
    'w','W': BtnHoch.Click;
  end;
end;

Cueppi 27. Jun 2010 12:37

AW: Snake Spiel
 
mir fällt grade auf :(

Wenn man auf den beendenbutton klickt, wenn das spiel NICHT läuft, hat man die auswahlt zwischen weiter im programm bleiben und dem programm verlassen.
Wenn ich auf programm verlassen gehe, verlässt er das programm!
Jedoch wenn ich auf "nein im programm bleiben" klicke, kommt die "wiederholen ?" anfrage wieder :(
die muss da noch weg ...
die wiederholen anfrage soll nur kommen, wenn das spiel am laufen ist und ich es stoppen möchte..

hiillfe

haentschman 27. Jun 2010 12:37

AW: Snake Spiel
 
Zitat:

Zitat von Cueppi (Beitrag 1031855)
so mal etwas aufgeräumt :)

ich hab das in der mainform auf true gesetzt, nur die frage ist, wie die procedure heißt und geschrieben wird :O

ich kenn mich damit garnicht aus :(
wie ihr merkt ich bin relativ neu in delphi :)

:gruebel: dann stellt sich mir dann doch die Frage wie du den Quelltext des Programmes hinbekommen hast. Denn dieser beinhaltet noch schwierigere "Teile"

Cueppi 27. Jun 2010 12:44

AW: Snake Spiel
 
viiel viiel tüffteln.
ich glaub ich sitz 20 stunden an dem projekt.
ich hab mich vertan.
man muss ja nichts schreiben, hab das mit den ereignissen überlesen :-[

Cueppi 27. Jun 2010 14:24

AW: Snake Spiel
 
Nochmal kurz :D

Mir fiel auf, die Schlange startete immer oben Links, das habe ich geändert :)
(kopf := Point(Random(BSB), Random(HSB));)

Jedoch startet sie auch immer nur in Richtung unten!!
Das möchte ich auch unterschiedlich haben ...

vorschläge ?

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(Random(BSB), Random(HSB));
     laengesnake := 4;
     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;

himitsu 27. Jun 2010 15:11

AW: Snake Spiel
 
Dann wirst du wohl auch "richtung" ändern müssen?

Cueppi 27. Jun 2010 17:00

AW: Snake Spiel
 
und wie ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:27 Uhr.
Seite 3 von 5     123 45      

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