Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Spiel] JewelCrack 1.3 (https://www.delphipraxis.net/126504-%5Bspiel%5D-jewelcrack-1-3-a.html)

3_of_8 26. Dez 2008 20:07

Re: [Spiel] JewelCrack 1.1
 
Hast du im Compiler vollständige Auswertung von boole'schen Ausdrücken aktiviert? Wenn ja, deaktivier sie mal. Denn wenn der Ausdruck komplett ausgewertet wird, wird auch auf Steine[i] zugegriffen, wenn es nil ist. Oder änderst du vielleicht irgendwann die Größe von Steine? Dafür kannste dir ja mal nen konditionalen Breakpoint reinsetzen mit der Bedingung i>=400.

Romi 26. Dez 2008 20:12

Re: [Spiel] JewelCrack 1.1
 
Zitat:

Zitat von 3_of_8
Hast du im Compiler vollständige Auswertung von boole'schen Ausdrücken aktiviert? Wenn ja, deaktivier sie mal. Denn wenn der Ausdruck komplett ausgewertet wird, wird auch auf Steine[i] zugegriffen, wenn es nil ist. Oder änderst du vielleicht irgendwann die Größe von Steine? Dafür kannste dir ja mal nen konditionalen Breakpoint reinsetzen mit der Bedingung i>=400.

Also, "Vollständige Boolesche Auswertung" ist in den Projektoptionen deaktiviert. Und die Länge des Arrays taste ich nie an, sie ist von Anfang an fest auf [1..400] festgesetzt. Tortzdem Danke für deine Antwort!

RWarnecke 26. Dez 2008 20:24

Re: [Spiel] JewelCrack 1.1
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hi,

ich habe Dein Spiel mal getestet. Die Umsetzung ist gut gemacht. Es ist ein echter Pausenfüller. Aber desto trotz habe ich doch einige Kritikpunkte :

:arrow: Ich würde mir eine Rückgängigfunktion wünschen, für den Fall, dass ich mal den falschen Block angeklickt habe.
:arrow: Überlege Dir nochmals die Punktevergabe. Ich hatte auf einmal bei "Punkte der markierten Steine" einen negativen Stand, der sich in einen positiven Punktestand wandelte, wie ich die Steine weggenommen habe. (Screenshot 1 & 2 & 3)
:arrow: In der Highscoreliste wird der Punktestand negativ und abgeschnitten angezeigt.

Mikescher 26. Dez 2008 20:31

Re: [Spiel] JewelCrack 1.1
 
Ich finds ein witziges Spiel (könnten zwar noch ein paar lustige Sounds rein) aber sonst klasse

Aber das Spiel haste doch mit Andorra2D gemacht, oder ? Dann könntest du auch irgendwo ein Hinweis rein machen (irgendwie so powered by Andorra 2D oder so)

MfG Mikescher

Romi 26. Dez 2008 20:45

Re: [Spiel] JewelCrack 1.1
 
Zitat:

Zitat von RWarnecke
:arrow: Ich würde mir eine Rückgängigfunktion wünschen, für den Fall, dass ich mal den falschen Block angeklickt habe.

Ja, wird gemacht.

Zitat:

Zitat von RWarnecke
:arrow: Überlege Dir nochmals die Punktevergabe. Ich hatte auf einmal bei "Punkte der markierten Steine" einen negativen Stand, der sich in einen positiven Punktestand wandelte, wie ich die Steine weggenommen habe. (Screenshot 1 & 2 & 3)
:arrow: In der Highscoreliste wird der Punktestand negativ und abgeschnitten angezeigt.

In der neusten Version (1.1), die ich gerade hochgeladen habe, sollte das nicht mehr passieren. Hast du noch die alte Version? Die Punkteberechnung habe ich da neu gemacht. Die Highscore muss allerdings manuell zurückgesetzt werden.

Zitat:

Aber das Spiel haste doch mit Andorra2D gemacht, oder ? Dann könntest du auch irgendwo ein Hinweis rein machen (irgendwie so powered by Andorra 2D oder so)
Ja. Da habe ich gerade auch drüber nachgedacht, das wird noch gemacht.

RWarnecke 26. Dez 2008 20:56

Re: [Spiel] JewelCrack 1.1
 
Jetzt bekomme ich bei der Version 1.1 die folgende Meldung nach einem Spiel :

---------------------------
JewelCrack
---------------------------
Zugriffsverletzung bei Adresse 004A6535 in Modul 'Jewelcrack.exe'. Lesen von Adresse 0000003C.
---------------------------
OK
---------------------------

Romi 26. Dez 2008 21:47

Re: [Spiel] JewelCrack 1.1
 
Ja, das ist der zweite Bug, der bekannt ist ;)

Im Thread habe ich schon dargelegt, das ich momentan keine Ahnung habe, woher diese Meldung kommt. Ich muss mir das morgen noch einmal genauer ansehen.

RWarnecke 26. Dez 2008 22:03

Re: [Spiel] JewelCrack 1.1
 
Ich benutze für solche Fehlermeldungen Eurekalog. Eurekalog zeigt Dir dann genau an, in welcher Zeile und Procedure der Fehler auftritt.

xZise 26. Dez 2008 22:05

Re: [Spiel] JewelCrack 1.1
 
Hi Romi,

da ich leider nur drauf los geklickt habe wurde das natürlich nicht so viel. Aber zu der Punkteberechnung: Zum einen könntest du einen Cardinal verwenden. Der ist nochmal ein stückchen größer. Und dann muss ja nur folgendes gelten: Bei 400 Steinen dürfen die Punkte nicht größer als 2^32 - 1 sein.
Wie wäre es mit sowas? Um das größmögliche a herauszufinden einfach nach a auflösen und für x die maximale Anzahl Steine (sind es 400 ?) einsetzen:
Code:
f(x) = x^a
f_max(x) = 2^32 - 1 = x^a | log
log(x)(2^32 - 1) = a | x := 400
a = 3,7021
Das heißt für a = 3 wird der Spieler am stärksten für große Cluster belohnt ohne das es zu einem Überlauf kommt.

Und zu deinen Fehler:
  1. Fast jede Liste bis auf die der strings beginnt bei 0 und endet bei Anzahl - 1
  2. SInd denn auch wirklich 401 Sprites vorhanden? Statt einfach bis 400 zu gehen würde ich bis zur der Anzahl der Sprites (Steine.Items.Count) gehen
Vielleicht behebt das deine Fehler?

Wozu das Programm kaufen, wenn man auch debuggen kann ;) Außerdem gibt es madExcept, welches zumindest für nc kostenlos ist.

MfG
xZise

Romi 26. Dez 2008 22:24

Re: [Spiel] JewelCrack 1.1
 
Zitat:

Zitat von RWarnecke
Ich benutze für solche Fehlermeldungen Eurekalog. Eurekalog zeigt Dir dann genau an, in welcher Zeile und Procedure der Fehler auftritt.

Ich kenne die Stelle, an der der Fehler auftritt bereits ;)

Zitat:

1. Fast jede Liste bis auf die der strings beginnt bei 0 und endet bei Anzahl - 1
2. SInd denn auch wirklich 401 Sprites vorhanden? Statt einfach bis 400 zu gehen würde ich bis zur der Anzahl der Sprites (Steine.Items.Count) gehen
Die Steine liegen in einem Array[1..400] of tStein, und der ist auch ganz sicher bis oben hin voll ;)

Und mit der aktuellen Punkteberechnung (in der neuen Version!) bin ich eigentlich ganz zu frieden. Aber danke für den Tip ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:15 Uhr.
Seite 2 von 5     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