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
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#1

AW: Snake

  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
Coffeecoder
  Mit Zitat antworten Zitat
Neitsch

Registriert seit: 14. Mär 2012
8 Beiträge
 
#2

AW: Snake

  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

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Snake

  Alt 17. Mär 2012, 11:28
Bei mir hat er sich auch aufgehangen siehe Screenshot
Miniaturansicht angehängter Grafiken
bug_snake.png  
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#4

AW: Snake

  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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Neitsch

Registriert seit: 14. Mär 2012
8 Beiträge
 
#5

AW: Snake

  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
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: Snake

  Alt 19. Mär 2012, 11:00
Hi,
ich habe noch einmal dein Projekt angeguckt. Das Problem mit dem Aufhängen beim 20 oder 30 oder mehr ist weg.
Das mit dem Speichern hast du schon Recht, dass es unnötig ist da das Spiel eigentlich recht schnell vorbei ist.
Mich stören diese ShowMessage des Scores und dann noch den Highscore. Da du ja wie von mir gebeten den Score unten eingebaut hast, kannst du auf beide Showmessages verzichten. Meinetwegen kannst du den Highscore auch neben den aktuellen Score anzeigen.


P=Start und O=Pause ... Warum nicht P wie Pause?
Ich finde, das sollst du wirklich ändern. P als Start ist sehr verwirrend. Mach es L=Start und P=Pause.

Eine weitere Frage stellt sich mir ob es viele Nutzer bei Snake gibt die mit WASD spielen?
So könntest du dich nur auf die Pfeiltasten konzentrieren und S wird Start

[Add] - P.S.: Sonst finde ich das Snake toll gemacht. Super weiter so
Coffeecoder

Geändert von Coffeecoder (19. Mär 2012 um 11:01 Uhr) Grund: Add
  Mit Zitat antworten Zitat
Neitsch

Registriert seit: 14. Mär 2012
8 Beiträge
 
#7

AW: Snake

  Alt 19. Mär 2012, 11:16
Habt ihr dennnoch Verbesserungsvorschläge (ausser ein Labyrinth)?
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Snake

  Alt 19. Mär 2012, 11:22
Eine spontante Idee wäre:
Spezialfutter was in einem 10 Punktetakt auftaucht und nur ein paar Sekunden da ist. > Gibt dann ka 3 Punkte.
Coffeecoder
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 21:07 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