AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Old Snakey b5.3 - Snake Klon - discontinued...
Thema durchsuchen
Ansicht
Themen-Optionen

Old Snakey b5.3 - Snake Klon - discontinued...

Ein Thema von zahor · begonnen am 29. Jul 2008 · letzter Beitrag vom 1. Sep 2008
Antwort Antwort
Seite 2 von 9     12 34     Letzte »    
zahor
Registriert seit: 27. Jun 2006
Hi DPler,

viel Spaß mit Snake-Klon Nr. 297132875!
Im Moment gibt's Beta 5.3, und dabei bleibt's auch!
Auch Snakey Fusion (so wollten wir den Nachfolger nennen, Details siehe unten)ist leider tot. Keiner von uns hat Lust und Zeit, das Projekt weiterzuführen.
Deshalb wird's damit wohl nie was werden.

Das hatten wir geplant und teilweise auch schon umgesetzt:
  • Ein Leveleditor & Möglichkeit, Level zu importieren
  • Goodies, die einem Spezialfähigkeiten verleihen, z.b.
    • Für x Sekunden durch Wände gehen können
    • SlowMotion
    • Mehrere Futterstücke auf einmal auf dem Feld (fuer x Sekunden)
    • halben Schwanz abschneiden --> wird wie Wandstueck
  • Multiplayer-Modus
  • neue Spielmodi (vllt sogar mit Teams?), Namen wären z.B.
    • Capture the Apple xD
    • Eat the penguin
Im Moment arbeiten wir an einer neuen Version namens Snakey Fusion,
in der wir Old Snakey und mr_emre_ds Snake fusionieren wollen!
Dazu haben wir auch schon massig Ideen für neue Sachen, aber die sind noch unter Verschluss.
Ich verrate mal nur so viel: Wir arbeiten gerade ein Format (eig. 2^^)für die Leveldateien aus
Sobald wir weit genug sind, werden wir euch natürlich verraten, was kommt!


NAJA, EIGENTLICH NICHT MEHR. DENN SNAKEY FUSION IST WIE GESAGT TOT.

Wer den Quelltext von Snakey Fusion will melde sich bei mir.
Es ist nur so, dass er halt noch nicht so ganz fertig ist...


changelog:

18.8.: Beta 5.3 Folgende Änderungen sind seit Beta 5 neu:
  • Überlauf beim Essen gefixt (danke omata!)
  • Urplötzlicher Freeze gefixt
  • Level aus Log laden
  • LogReader
  • Mainmenu hinzugefügt

8.8.: Beta 5 Folgende Änderungen verdanken wir xZise:
  • ScreenCenter statt DesktopCenter
  • Der "Chooser" ist auch in der Mitte
  • Die GoodyListe wurde redesignt, vorher gab es spezielle "Essenmethoden"
  • Die Schleimspur hat ne andere Farbe (rosa...) Erstmal damit man sie erkennt, habe aber eigentlich vor, es bläulich zu machen.
  • Log-Funktion
  • Ein Kollisionsbug gefixt: Vorher verlor man, sobald man auf eine Wand zugeht und der Kopf direkt vor der Wand war


6.8.: Beta 4 xZise hat sich ans Werk gemacht und folgendes geändert:
  • Double Layer Grafik - eine für Hintergrund (incl. Wände) und einer für das Viech
  • snakey.length gelöscht - Redundant zu Length(<TSnake>.p)
  • Schleimschwanz hinzugefügt
  • Schlange wird als Farbverlauf dargestellt
  • DrawPoint - overloaded Funktion mit Canvas hinzugefügt
  • keine globalen Variablen - entweder zu public oder private verschoben
  • Fenster wird in der Desktopmitte positioniert
  • Futter-Lokator
  • Goodies list/goodies Unit
  • Pause-Funktion (P oder "Pause" Taste) - beim Pausieren verschwindet der Schleimschwanz
1.8.: Beta 3 Dank xZise wurde der Suizid bedeutend erschwert, um es ironisch auszudrücken - die Schlange kann sich nicht mehr ins Genick beißen. außerdem sind jetzt alle Variablen bis auf den Schwierigkeitsgrad private.1.8.: Beta 2.2 ist fertig - einzige Änderung: Der Schwierigkeitsgrad beeinflusst jetzt auch die Anzahl der Barrieren. Statt früher immer 12 sind es jetzt 9+Schwierigkeitsgrad1.8.: Beta 2.1 ist da - naja, nicht viel neues. 1 Zeile Code hinzugefügt, damit bei einem New Game der Timer wieder gestartet wird 1.8.: Beta 2 ist da und beinhaltet folgende Fixes:
  • alle Felder, die das Futter berühren, müssen frei sein
  • der Schlangenkopf ist jetzt giftgrün
  • wenn man das Spiel startet, beginnt man mit Level 1 (vorher war es 2)
folgende Features wurden hinzugefügt:
  • Bosskey (Escape) beendet das Spiel ganz böse mit application.terminate
31.7.: Beta 1 ist fertig, aber recht buggy:
  • Futter wird teils so platziert, dass man es nicht fressen kann, ohne ein "Game Over" zu ernten
  • wo ist bei dem Viech vorne, wo hinten?
folgende Probleme wurden gefixt (mit Delphi, ohne Heroin^^):
  • Die Schlange frisst jetzt ordnungsgemäß
  • sie wird auch vollständig bewegt und bleibt nicht halb am Start kleben
folgende Features wurden hinzugefügt:
  • Schwierigkeitsgrad frei wählbar
29.7.: Alpha 1 ist "fertig" und funktioniert nur halb. Folgende Probleme bestehen:
  • Die Kollisionskontrolle funktioniert nicht immer richtig
  • Es werden nur zwei Kästchen gezeigt, egal wie lange die Schlange ist
  • Die Kästchen, auf denen die Schlange am Anfang war, werden nicht komplett als unbelegt gemeldet, sondern nur teilweise --> führt zu Game Over
  • wenn die Schlange frisst, bleibt der letzte Teil von ihr auf dem Feld kleben, auf dem sie direkt davor war, anstatt dass er "anwächst"
Miniaturansicht angehängter Grafiken
beta1_804.png  
Angehängte Dateien
Dateityp: zip old_snakey_beta_5.3_936.zip (247,7 KB, 159x aufgerufen)
Real Programmers always confuse Christmas and Halloween because Oct31 = Dec25. - Andrew Rutherford
 
Darkface

 
Delphi XE Professional
 
#11
  Alt 1. Aug 2008, 00:04
Hi hab mir dein Proggi mal angeschaut und durch Zufall auch gleich zwei Bugs gefunden ^^.

Screen liegt bei, einmal der oben grün Markierte bereich, Falls dort ein Blauer Punkt erschienen währe, währe man vom Spiel her Game Over gegangen ^^ (weil man ihn nicht einsammeln kann. Gleiches würde gelten wenn die hindernisse einen bereich vollständig umschließen.

Zweitens bin ich im Spiel gegen "nichts" geknallt und war Game Over ^^. Es ist passiert als ich ziemlich schnell die Steuerungstasten betätigt habe (villeicht Ursache). Grün im Screen Markiert ist übrigens der Kopf der Schlange. Als Vorschlag währe villeicht gut den Schlangen Kopf (Also den ersten Kasten der Schlange) andersfarbig zu machen, villeicht grün oder so ^^.

MfG Darkface
Miniaturansicht angehängter Grafiken
bugs_184.jpg  
Alexander
  Mit Zitat antworten Zitat
Svenkan

 
Delphi 7 Enterprise
 
#12
  Alt 1. Aug 2008, 00:43
Hallo Darkface,

ich kann mich deinem Bugreport nur anschließen. Bei Snake kommt man unweigerlich irgendwann in die Situation, wo man schnell mal irgendwie in die Tasten kloppt und hier ist das Problem, dass irgendwann die Variable 'allesok' ganz einfach falsiert wird. Desweiteren tritt bei mir das Problem auf, dass die Tastenschläge teilweise zu langsam oder gar nicht registriert werden!
Sven Kannenberg
  Mit Zitat antworten Zitat
new32

 
Delphi 7 Enterprise
 
#13
  Alt 1. Aug 2008, 09:58
Zitat:
die vielen exceptions kommen aber nur, wenn du's selber compilierst, oder?
ne die kamen von der Original-exe (Alpha 1 oder so)


Nu kommen aber keine roten Xe mehr!
  Mit Zitat antworten Zitat
zahor

 
Delphi 2007 Professional
 
#14
  Alt 1. Aug 2008, 10:18
@Darkface: Danke für die Hinweise! ich frag mich grad nur, wie ich prüfen kann, ob es in einem abgeschlossenen bereich ist?
@Svenkan: Das ist mir auch schon passiert; wenn man eine Haarnadelkurve (180°-Wendung^^) machen will, muss man exakt timen, denn wenn man während eines einzigen timer-intervals beide drückt, wird die richtung so geändert, dass die schöange sich den kopf verrenkt und in den nacken beißt... man könnt edas vllt. so lösen, dass pro interval nur 1 mal die richtung geändert werden darf?
@new32: das freut mich^^ in der Alpha 1 hatte ich ein paar Arrays überfüllt... irgendwo fand ich zu meinem Entsetzten folgendes:
Delphi-Quellcode:
for i := 0 to length(snakey.p) do
  snakey.p[i] := irgendwas;
Daran lags auch, dass das new game eine zeit lang nicht funktioniert hat: der debugger hat sich aufgehängt^^ aber jetzt sollte es funktionieren.
  Mit Zitat antworten Zitat
zahor

 
Delphi 2007 Professional
 
#15
  Alt 1. Aug 2008, 11:13
soso die beta2 ist fertig!
änderungen und download im ersten post, wie immer^^
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

 
Delphi 10.3 Rio
 
#16
  Alt 1. Aug 2008, 12:58
Super spiel aber

Siehe Bild hat einfach aufgehört ohne das ich irgenwo dran gekommen bin.

Hab auf der Höchsten stufe gespielt und wenn man verloren hat und will mit space erneut speilen funktioniert bei mir auch nicht immer ansonsten sehr gut
Miniaturansicht angehängter Grafiken
fehler_391.jpg  
  Mit Zitat antworten Zitat
Svenkan

 
Delphi 7 Enterprise
 
#17
  Alt 1. Aug 2008, 13:15
Hallo Sascha,

hast du vlt in dem Moment auf der Tastatur 'rumgekloppt'?
Das wäre ein bekanntes Problem, dass das Spiel dann beendet wird.

Das Problem mit der Leertaste muss ich leider bestätigen.
Sven Kannenberg
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

 
Delphi 10.3 Rio
 
#18
  Alt 1. Aug 2008, 13:23
nee hab nüschte jemacht wa
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#19
  Alt 1. Aug 2008, 13:32
ALso ich verwende nur Wine, aber B1 hat Problemlos funktioniert nur ab der B2 funktioniert die Leertaste irgendwie nicht?!

Aber zum Sourccode:
  1. if erwartet einen Boolean, heißt, du musst in if nicht auf = true oder = false überprüfen: if Boolean then reicht (= true) oder if not Boolean then für = false
  2. Ich würde eine Hintergrundmap machen (mit allen was sich nicht verändert, also Weiße Fläche + Hindernisse). Dann bei jedem neuzeichnen Hintergrundmap reinkopieren und dann Schlange einzeichnen. Hier im Forum suchenBitBtl könnte dir behilflich sein.
  3. Um zu überprüfen ob sich die Schlange eingekesselt hat ist das etwas problematischer. Ich würde zuerst mal ein Hier im Forum suchenPathfinding Algorithmus suchen (z.B. Hier im Forum suchenA-Star). Allerdings kann es ja sein, dass sie dennoch rausfinden könnte... Also müsste man irgendwie den modifizieren. Mehr fällt mir gerade leider nicht ein.
  4. Kann es rein theoretisch sein, dass die Schlange nur von Wänden umgeben ist? Dann würde sich ein Pathfinding vielleicht lohnen (um zu überprüfen, ob die Schlange überhaupt zum Futter kommt)

Das waren erstmal meine Anmerkungen.

Zum 1. Punkt:
Delphi-Quellcode:
// Place food on the map
procedure tform1.PlaceFood;
var ok: boolean;
    i, j: smallint;
begin
  repeat
    food.x := random(cols-6)+3;
    food.y := random(rows-6)+3;
    ok := true;
    for i := -1 to 1 do
      for j := -1 to 1 do
        ok := ok and not(belegt[food.X+i, food.Y+j]); // Alternative:
        // wenn belegt, dann ist not() false => ok and false = false
        // ansonsten: ok and true = ok
  until ok; // Statt auf "ok = true" zu prüfen reicht ein "ok"

  // Drawing food
  image1.canvas.brush.Color := clblue;
  Drawspace(food.x,food.y);
end;
edit #1: Statt i und j : smallint, könnte man auch i, j : Byte nehmen, und dann statt von -1 -> 1 laufen von 0 -> 2 laufen lassen und dann jeweils immer food.X/Y + i/j - 1 So richtig bringen wird dir das nichts Und zu den 180° Problem: Merke dir die letzte Richtung (Hier im Forum suchenEnumeration) und gucke nun jeweils max 90° versetzt.

MfG
xZise

PS: fuknersascha ?
Fabian
  Mit Zitat antworten Zitat
mr_emre_d
 
#20
  Alt 1. Aug 2008, 13:46
ja da hat mein vorredner recht !

enumerations bsp =
TRichtung = ( links, rauf, rechts, runter )
{oder so wie ich es bei meinem bsp proj. gemacht habe(ist halt dasselbe nur in englisch)}
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 9     12 34     Letzte »    


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 23:30 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