Delphi-PRAXiS
Seite 2 von 9     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Old Snakey b5.3 - Snake Klon - discontinued... (https://www.delphipraxis.net/117987-old-snakey-b5-3-snake-klon-discontinued.html)

Darkface 1. Aug 2008 00:04

Re: Old Snakey - neu: BETA 1
 
Liste der Anhänge anzeigen (Anzahl: 1)
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

Svenkan 1. Aug 2008 00:43

Re: Old Snakey - neu: BETA 1
 
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!

new32 1. Aug 2008 09:58

Re: Old Snakey - neu: BETA 1
 
Zitat:

die vielen exceptions kommen aber nur, wenn du's selber compilierst, oder?
ne die kamen von der Original-exe (Alpha 1 oder so)

:thumb:
Nu kommen aber keine roten Xe mehr!

zahor 1. Aug 2008 10:18

Re: Old Snakey - neu: BETA 1
 
@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.

zahor 1. Aug 2008 11:13

Re: Old Snakey - neu: beta 2!
 
soso die beta2 ist fertig!
änderungen und download im ersten post, wie immer^^

SaFu 1. Aug 2008 12:58

Re: Old Snakey - neu: beta 2!
 
Liste der Anhänge anzeigen (Anzahl: 1)
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

Svenkan 1. Aug 2008 13:15

Re: Old Snakey - neu: beta 2!
 
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.

SaFu 1. Aug 2008 13:23

Re: Old Snakey - neu: beta 2!
 
nee hab nüschte jemacht wa

xZise 1. Aug 2008 13:32

Re: Old Snakey - neu: beta 2!
 
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 ?

mr_emre_d 1. Aug 2008 13:46

Re: Old Snakey - neu: beta 2!
 
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)}


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 Uhr.
Seite 2 von 9     12 34     Letzte »    

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