AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Snake (das Spiel)
Tutorial durchsuchen
Ansicht
Themen-Optionen

Snake (das Spiel)

Ein Tutorial von Pr0g · begonnen am 25. Mai 2004 · letzter Beitrag vom 8. Mai 2018
Antwort Antwort
Seite 6 von 6   « Erste     456   
speedax

Registriert seit: 18. Mär 2009
Ort: Cottbus
36 Beiträge
 
#1

Re: Snake (das Spiel)

  Alt 18. Mär 2009, 21:10
habs erstmal hinbekommen....aber diese procedure wählt ja nur die buitton an...kann man die damit auch gleich , quasi "direkt" bedienen?
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Snake (das Spiel)

  Alt 18. Mär 2009, 21:16
Du kannst natürlich den Code in den Buttonevents auslagern und die ausgelagerten Prozeduren dann "direkt" aufrufen.
  Mit Zitat antworten Zitat
speedax

Registriert seit: 18. Mär 2009
Ort: Cottbus
36 Beiträge
 
#3

Re: Snake (das Spiel)

  Alt 19. Mär 2009, 17:52
um da nen punktezähler einzubauen muss ich ja theoretisch einfach nur die anzahl ausummieren die die schlange mit den futterpunkten übereinstimmt

Delphi-Quellcode:
if (kopf.X=futter.X) and (kopf.Y=futter.Y) then
  begin

    edit1.text:=inttostr(punkte);
    Inc(laenge);
    neues_futter;
    [b]punkte:=punkte+1;[/b]
  end;
oder ist das so abwägig?... i wie kommen da höchst dumme punktzahlen raus...
  Mit Zitat antworten Zitat
speedax

Registriert seit: 18. Mär 2009
Ort: Cottbus
36 Beiträge
 
#4

Re: Snake (das Spiel)

  Alt 20. Mär 2009, 17:02
i packs net wenn ich des ganze einfach beim futter erschaffen mit rein packe dann gehts trotzdem ent, aber eig muss i ja nur zählen wieoft futter erschaffen wird-1... hmm
  Mit Zitat antworten Zitat
anluyomo

Registriert seit: 2. Mai 2018
3 Beiträge
 
#5

AW: Snake (das Spiel)

  Alt 2. Mai 2018, 13:39
ich bin neu hier und auch beim Programmieren mit Delphi.
Ich benutze Lazarus

Für Einsteiger ist richtig gut erklärt und nachvollziehbar.
Am Anfang konnte ich kein Bild kriegen, aber nach copy/paste von source code, ging das.

Allerdings kann ich die Schlange nicht steuern, weder mit den Buttons noch mit den Pfeiltasten

Kann mir jemand dabei helfen?

Vielen Dank!
Miniaturansicht angehängter Grafiken
schlange.png  
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.998 Beiträge
 
Delphi 12 Athens
 
#6

AW: Snake (das Spiel)

  Alt 2. Mai 2018, 13:43
Du musst die Eigenschaft Keypreview
im Formular aktivieren!
Dann kannst du dir im KeyDownEvent vom Formular die letzten Gedrückte Pfeiltaste merken.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
anluyomo

Registriert seit: 2. Mai 2018
3 Beiträge
 
#7

AW: Snake (das Spiel)

  Alt 3. Mai 2018, 09:11
Danke für die schnelle Antwort, allerdings hat sich nichts geändert. Ich kann leider nicht finden, wo der Fehler sein kann.

object Form1: TForm1
Left = 361
Height = 335
Top = 139
Width = 484
Caption = 'Form1'
ClientHeight = 335
ClientWidth = 484
KeyPreview = True
OnCreate = FormCreate
OnKeyDown = FormKeyDown
LCLVersion = '1.8.0.6'

Wie Du es beschrieben hast, habe ich in den Eigenschaften der Form das geändert und auch die Methode FormKeyDown verknüpft.
Das ist die Implementation der Buttons und von FormKeyDown:

procedure TForm1.Button2Click(Sender: TObject);
begin
if richtung.Y=0 then
richtung :=Point(0,-1);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if richtung.X=0 then
richtung:=Point(1, 0);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
if richtung.X=0 then
richtung:=Point(1,0);
end;


procedure TForm1.Button5Click(Sender: TObject);
begin
if richtung.Y=0 then
richtung:= Point(0,1);
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_UP: Button2.Click;
VK_DOWN: Button5.Click;
VK_RIGHT: Button4.Click;
VK_LEFT: Button3.Click;
end;
end;

Danke nochmal für Deine Hilfe!
  Mit Zitat antworten Zitat
anluyomo

Registriert seit: 2. Mai 2018
3 Beiträge
 
#8

AW: Snake (das Spiel)

  Alt 7. Mai 2018, 11:56
Hallo QuickAndDirty,

Hier ist der Code ohne die Anwendungsdatei, sonst war zu gross zum Hochladen.

Danke!
Angehängte Dateien
Dateityp: zip Schlange.zip (133,4 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 6   « Erste     456   


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:36 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