Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Snake (https://www.delphipraxis.net/167134-snake.html)

Neitsch 14. Mär 2012 19:12


Snake
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hey Leute,
ich habe das Spiel "Snake" für meine Informatik Facharbeit programmiert und wollte nun mal eure Meinung einholen, ob es mir gut gelungen ist, oder eher auch so fertig gemacht werden kann wie das hier http://www.delphipraxis.net/22871-sn...s-spiel-2.html :-D

Danke an die die es ausprobieren und viel Spaß damit!
Neitsch :thumb:

(Snake.7z ist meine erste veröffentlichte Datei; project1.zip ist meine aktuelle .exe)

p80286 14. Mär 2012 21:33

AW: Snake
 
Erinnert mich sehr an mein "Ur-Snake", damals unter Dos und im textmodus.
Ich frage mich allerdings wofür die 4 MB gebraucht wurden

Gruß
K-H

lbccaleb 14. Mär 2012 21:38

AW: Snake
 
Wieso ist die Anwendung über 12 MB groß?

p80286 14. Mär 2012 21:53

AW: Snake
 
Zitat:

Zitat von lbccaleb (Beitrag 1156624)
Wieso ist die Anwendung über 12 MB groß?

Lazarus!?

Gruß
K-H

himitsu 14. Mär 2012 22:55

AW: Snake
 
12 MB geht ja noch (da haben wie schon Schlimmeres/Größeres gesehn).
Die effektive Datenmenge sind eh nur knapp 2 MB. (aufgeräumt/ausgemistet und halbwegs ordentlich komprimiert)

"Schlimmer" ist eher, daß unnötiger Weise die ganzen Debugdateien, Vorkompilate, Backups und vorallem eine weitere Kopie der EXE (siehe Project1.zip) mitgegeben wurden.

Nja, wenigstens läuft das Programm.
Ich würde aber die Initialwerte des Schwanzes nicht unbedingt auf die sichtbare Position 0:0 legen.

Und wenn sich der Fensterinhalt nicht an die Form anpaßt, dann stell doch einfach die Form auf eine feste Größe, bzw. deaktivier den Maximierenbutton und Co.

Wenn ich unten das Kästchen anhake, von dem man den Text fast garnicht sieht, hinter der ComboBox, dann stimmt die Tastenbelegung nicht mehr so ganz mit der angezeigten Beschreibung überein.

P=Start und O=Pause ... Warum nicht P wie Pause?

[add]
Beim Fressen des Zwanzigsten oder Dreißigsten Quadratapfels ist das Programm einfach so hängen geblieben und reagierte nicht mehr.

Coffeecoder 15. Mär 2012 07:06

AW: Snake
 
Hi,
Finde es soweit gut bis auf die Punkte die bereits erwähnt worden sind.
Zusätzlich wäre folgendes nett einzubauen:
  • aktuellen Punktestand anzeigen
  • Labyrinthe einbauen
  • aktueller Spielstand speichern(?)

Gute Arbeit, weiter so :thumb:

Neitsch 17. Mär 2012 10:33

AW: Snake
 
Danke erstmal für die Rückmeldungen

@p80286: Das ganze Projekt ist halt in 5 Klassen unterteilt, da alles objektorientiert programmiert sein soll
ist die anwendung in delphi kleiner?

@himitsu: klasse, wie ausführlich du geschrieben hast! Ja, das mit der .zip da drin tut mir leid, hatte mal nur die exe an andere zum testen verschickt; euch aber wollte ich alles schicken, damit ihr, wenn ihr lust habt auch in die Source gucken könnt.
Die Initialwerte habe ich geändert, danke für den hinweis, ebenso habe ich den maximieren button deaktiviert.
Das mit dem Kästchen und der Tastaturbelegung stimmt so. Ich persönlich bevorzuge es, immer nach rechts und links relativ zur bewegungsrichtung lenken zu können, das passiert, wenn du das kästchen checkst. Das mit P und O ist so entstanden, dass ich erst nur P (=Play) hatte, und dann einfach eine Taste daneben gesucht habe...
Der Bug, dass das Game nicht mehr läuft, wenn man eine lange Snake hat ist mir noch nicht aufgefallen, werde mich dem gleich widmen!!! :shock:

@Coffeecoder: Punktestand habe ich eingebaut (hatte gedacht, wenn man unterwegs ist gehts sowieso zu schnell, als dass man dem Punktestand Aufmerksamkeit schenkt.
Mit dem Labyrinth habe ich Probleme, da ich keine Idee habe, wie ich das machen sollte... Hatte die Idee, das Labyrinth aus einer Datei auszulesen, aber habs leider nicht hinbekommen, es so auszulesen, dass ichs in ein 2D array splitte, was ich dann abbilden lasse.
Spielstand speichern finde ich persönlich recht unnötig, da ein Spiel ja ziemlich kurz dauert, und man ja auch zur Not pausieren kann :wink:

Danke nochmal! :thumb:

lbccaleb 17. Mär 2012 11:28

AW: Snake
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir hat er sich auch aufgehangen siehe Screenshot

himitsu 17. Mär 2012 12:31

AW: Snake
 
Hast du eventuell eine Code/Schleide, der/die verhindern soll, daß das neue Kästchen in der Schlange erstellt wird?
Eventuell hast du dir dort eine Endlosschleife geschaffen.

Neitsch 17. Mär 2012 15:05

AW: Snake
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das hier ist der Code...
Code:
procedure TForm1.SpawnFood();
var x,y, i:Integer; found: Boolean;
begin
found:= false;
while(not found) do begin //solange kein geeigneter Ort gefunden wurde wiederholen
found:= true;
x:= Random(breite);
y:= Random(hoehe);
if(x= Kopf.X) or (y = Kopf.Y) then found := false;;
for i:= 0 to BodyLength-1 do begin
if(x= Teile[i].X) or (y = Teile[i].Y) then found := false; //prüft, ob der Platz frei ist
end;
end;
Essen := TFood.Create(x,y); //erstell
end;
Jetzt wo ihr es sagt, sehe ich meinen Fehler, ganz dumm >.<
Ich habe jeweils "or" geschrieben. Wenn also eine Reihe vollständig von einer Schlange besetzt ist, gehts in die Endlosschleife :(
Habe ich jetzt gefixt!
Vielen Dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr.
Seite 1 von 3  1 23      

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