![]() |
Python (Snake) Verbesserungsvorschläge
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leute,
ich habe für die Schule eine Snake Version programmiert (s. Anhang) Nun meine Frage: Habt ihr Verbesserungsvorschläge??? :mrgreen: |
Re: Python (Snake) Verbesserungsvorschläge
Hi
Zitat:
Zitat:
` => ' Wenn man die Schlange schneller "kriechen" lässt, sollte es pro Steinchen, das man einsammelt, mehr Punkte geben, als wenn die Schlange langsam läuft. Dann halt das Übliche, wie Festergröße fix lassen oder das Spiel eben skalieren. Sonst ganz nett. |
Re: Python (Snake) Verbesserungsvorschläge
Hi,
Zitat:
(2) Wenn die Schlange an der Bande anschlägt, sollte das Spiel zu Ende sein. Sonst ganz nett! |
Re: Python (Snake) Verbesserungsvorschläge
Zitat:
zu2) Das ist die 2. Snake Version. Sieht genauso aus aber auch mit Banden aus.... Kleine Frage: Wie fixiere ich das Fenster? |
Re: Python (Snake) Verbesserungsvorschläge
Zitat:
- BorderStyle auf bsSingle - BorderIcons: biMaximize auf false |
Re: Python (Snake) Verbesserungsvorschläge
Da ich selber einen Snake-Clone in der Mache hab erkenn ich einen meiner ersten Bugs wieder: Schnelle Wende innerhalb eines Zyklus führt zum Crash.
Passiert zum beispiel, wenn du dich nach unten bewegst und schnell nach oben willst (natürlich neben der Schlange) also schnell links und hoch, leider zu schnell (innerhalb dess Takts) und Crash. Wenn es nach unten geht sollt der Befehl nach oben geblockt werden ;) just my 2 cent. |
Re: Python (Snake) Verbesserungsvorschläge
wie würdest du das problem am besten lösen - also wie soll ichs blocken?
|
Re: Python (Snake) Verbesserungsvorschläge
Ich hab mir nen eigenen Typ deklariert...
Delphi-Quellcode:
bei einem Step wird dann einfach geprüft ob die Richtung die 'gewählt' wurde entgegengesetzt der alten (zwischengespeicherten) Richtung ist und dann passiert einfach nichts bzw. er macht den Schritt nach links oder so noch. Asynchrone Tastenabfrage ist hier wohl das Schlüsselwort. So bekommst du raus Welche Tasten gedrückt wurden und das im Timer. Bei OnKey die Richtung zu setzen hat da entscheidende Nachteile wie ich feststellen musste. Das sollt auch mit Integers oder Sting funzen eigentlich ;) aber 'n eigener Typ ist im Code einfach wesentlich übersichtlicher.
TRichtung = (riLinks, riRechts, riHoch, riRunter);
|
Re: Python (Snake) Verbesserungsvorschläge
also ivh habs jetzt so gemacht:
Delphi-Quellcode:
if (key = VK_UP) then begin
if richtung.Y=0 then richtung := Point(0, -1); end else if (key = VK_down) then begin if richtung.Y=0 then richtung := Point(0, 1); end else if (key = VK_right) then begin if richtung.X=0 then richtung := Point(1, 0); end else if (key = VK_left) then begin if richtung.X=0 then richtung := Point(-1, 0); end geht das oder ist da ein fehler drinnen??? |
Re: Python (Snake) Verbesserungsvorschläge
Siehe oben... auf die Weise bekommst du nicht raus in welche Richtung der User bei dem Step eigentlich wollte. Darum asynchron im Timer abfragen statt auf OnKeyDown
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 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