AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Snake

Ein Thema von Neitsch · begonnen am 14. Mär 2012 · letzter Beitrag vom 10. Apr 2012
Antwort Antwort
Seite 1 von 3  1 23      
Neitsch
Registriert seit: 14. Mär 2012
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

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

(Snake.7z ist meine erste veröffentlichte Datei; project1.zip ist meine aktuelle .exe)
Angehängte Dateien
Dateityp: 7z Snake.7z (4,89 MB, 58x aufgerufen)
Dateityp: zip project1.zip (3,06 MB, 26x aufgerufen)

Geändert von Neitsch (23. Mär 2012 um 23:09 Uhr)
 
Benutzerbild von p80286
p80286

 
FreePascal / Lazarus
 
#2
  Alt 14. Mär 2012, 21:33
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
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

 
Delphi 7 Enterprise
 
#3
  Alt 14. Mär 2012, 21:38
Wieso ist die Anwendung über 12 MB groß?
Martin
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

 
FreePascal / Lazarus
 
#4
  Alt 14. Mär 2012, 21:53
Wieso ist die Anwendung über 12 MB groß?
Lazarus!?

Gruß
K-H
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#5
  Alt 14. Mär 2012, 22:55
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.

Geändert von himitsu (14. Mär 2012 um 23:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

 
Delphi 6 Enterprise
 
#6
  Alt 15. Mär 2012, 07:06
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
  Mit Zitat antworten Zitat
Neitsch
 
#7
  Alt 17. Mär 2012, 10:33
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!!!

@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

Danke nochmal!
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

 
Delphi 7 Enterprise
 
#8
  Alt 17. Mär 2012, 11:28
Bei mir hat er sich auch aufgehangen siehe Screenshot
Miniaturansicht angehängter Grafiken
bug_snake.png  
Martin
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#9
  Alt 17. Mär 2012, 12:31
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.
  Mit Zitat antworten Zitat
Neitsch
 
#10
  Alt 17. Mär 2012, 15:05
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!
Angehängte Dateien
Dateityp: 7z Snake.7z (1,92 MB, 8x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      

 

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 05:11 Uhr.
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