Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Python (Snake) Verbesserungsvorschläge (https://www.delphipraxis.net/67257-python-snake-verbesserungsvorschlaege.html)

netscanner 11. Apr 2006 22:19


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:

Matze 11. Apr 2006 23:29

Re: Python (Snake) Verbesserungsvorschläge
 
Hi

Zitat:

Zitat von netscanner
Habt ihr Verbesserungsvorschläge??? :mrgreen:

Ähm, Tippfehler ausbessern :stupid:

Zitat:

---------------------------
Python
---------------------------
Dich hat`s erwisch!
---------------------------
OK
---------------------------
erwisch => erwischt
` => '

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.

NormanNG 12. Apr 2006 07:15

Re: Python (Snake) Verbesserungsvorschläge
 
Hi,

Zitat:

Zitat von netscanner
Nun meine Frage: Habt ihr Verbesserungsvorschläge??? :mrgreen:

(1) Warum kann man in die Felder "Punkte" und "Rekord" etwas eingeben?
(2) Wenn die Schlange an der Bande anschlägt, sollte das Spiel zu Ende sein.

Sonst ganz nett!

netscanner 12. Apr 2006 10:18

Re: Python (Snake) Verbesserungsvorschläge
 
Zitat:

Zitat von NormanNG
Hi,

Zitat:

Zitat von netscanner
Nun meine Frage: Habt ihr Verbesserungsvorschläge??? :mrgreen:

(1) Warum kann man in die Felder "Punkte" und "Rekord" etwas eingeben?
(2) Wenn die Schlange an der Bande anschlägt, sollte das Spiel zu Ende sein.

Sonst ganz nett!

zu1) In die Felder kann man nur am Anfang was eingeben - dann nicht mehr ^^ - wird aber geändert :)
zu2) Das ist die 2. Snake Version. Sieht genauso aus aber auch mit Banden aus....



Kleine Frage: Wie fixiere ich das Fenster?

Matze 12. Apr 2006 10:24

Re: Python (Snake) Verbesserungsvorschläge
 
Zitat:

Zitat von netscanner
Kleine Frage: Wie fixiere ich das Fenster?

Suche bemühen würde auch helfen:
- BorderStyle auf bsSingle
- BorderIcons: biMaximize auf false

cruiser 12. Apr 2006 10:33

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.

netscanner 12. Apr 2006 11:21

Re: Python (Snake) Verbesserungsvorschläge
 
wie würdest du das problem am besten lösen - also wie soll ichs blocken?

cruiser 12. Apr 2006 11:30

Re: Python (Snake) Verbesserungsvorschläge
 
Ich hab mir nen eigenen Typ deklariert...

Delphi-Quellcode:
TRichtung = (riLinks, riRechts, riHoch, riRunter);
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.

netscanner 12. Apr 2006 11:30

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???

cruiser 12. Apr 2006 11:33

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 14:29 Uhr.
Seite 1 von 2  1 2      

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