Panicgame
-
Mir ist noch was aufgefallen, weiss aber nicht, ob das absichtlich so ist.
Der Lila Stein und der rosa Stein sind identisch. Die haben beide diese Form:######## ######## ######## ########
Bei Tetris gibt es da ja noch eine gespiegelte Verion von dem Stein.
Von den L-förmigen Steinen hast du ja auch eine gespiegelte Version.
Ist mir aufgefallen, weil ich das letzte Spiel deswegen verloren hab.
Aber ich glaube, ich sollte nicht so viel spielen und lieber mal ins Bett gehen...MfG, Jochen
-
Danke Jochen, du nimmst mein armes Programm ja dermaßen auseinander
Mir ist noch was aufgefallen, weiss aber nicht, ob das absichtlich so ist.
Der Lila Stein und der rosa Stein sind identisch.case 10: { // . //. . //. SET_STONE( Vector( 1, 0 ), Color( 255, 0, 252 ), 0 ); SET_STONE( Vector( 0, 1 ), Color( 255, 0, 252 ), 1 ); SET_STONE( Vector( 1, 1 ), Color( 255, 0, 252 ), 2 ); SET_STONE( Vector( 0, 2 ), Color( 255, 0, 252 ), 3 ); *pPivot = Vector( 0, 1 ); return 4; } case 11: { //. //. . // . SET_STONE( Vector( 0, 0 ), Color( 156, 0, 255 ), 0 ); SET_STONE( Vector( 0, 1 ), Color( 156, 0, 255 ), 1 ); SET_STONE( Vector( 1, 1 ), Color( 156, 0, 255 ), 2 ); SET_STONE( Vector( 1, 2 ), Color( 156, 0, 255 ), 3 ); *pPivot = Vector( 1, 1 ); return 4; }
Wenn das Spiel zuende ist und ich meinen Namen eingeben kann oder einfach so Game Over ist, und ich dann Esc drücke, bin ich ja im Hauptmenü. Das Eingabefeld ist aber immer noch da. Wenn ich dann in diesem auf Hauptmenü klicke, ist noch alles in Ordnung. Wenn ich dann allerdings auf "Neues Spiel" klicke, fängt zwar ein neues Spiel an, allerdigs bleibt es dann hängen.
void ToggleMenu( void ) { if( !pGameParent ) return; //Disable key when we are GameOver CGame *pGameMgr = (CGame*)EntityList.GetEntity( "GameManager" ); if( pGameMgr && pGameMgr->IsGameOver() ) return; //...
Um mal mit Code zu antworten ;).
Habe also alle deine Fehler schon gefixed. Die gepatchte Version lade ich sobald ich den Fenster-Maximieren-Fehler behoben habe, da muss ich mich zuerst mal wieder mit den Windows Messages rumschlagen, weis einer auf Anhieb wie die heißt die beim maximieren geschickt wird?
-
Eventuell ist es WM_WINDOWPOSCHANGED
The WM_WINDOWPOSCHANGED message is sent to a window whose size, position, or place in the Z order has changed as a result of a call to the SetWindowPos function or another window-management function.
Falls du faul bist, könntest du auch den Maximieren-Button deaktivieren. Manche Spiele machen das ja auch so.
MfG, Jochen
-
Is schon gefixed. Das Problem bei WM_WINDOWPOSCHANGED ist dass Windows nicht zu sparsam mit der Meldung umgeht, die wird beim Vergrößern/Verkleinern des Fensters nach jeden Pixel Änderung gesendet, also ein paar hundert mal nacheinander für eine Resize-Operation. Das währe für mein Programm an sich eigentlich kein Problem, da die Größenänderung des OpenGL Fensters eigentlich sehr wenig Rechenaufwand brauch. Nur muss ich leider bei der Größenänderung jede Art von gerendertem Text in der neu passenden Größe neu laden, da eine "normale" Skalierung des Textes (insbesondere wenn man das Fenster von klein auf groß zieht) total grottig aussehen würde. Und dieses neuladen brauch schonmal ne viertel bis halbe Sekunde, was zu lang währe um es ständig zu machen. Deswegen reagier ich nur auf WM_EXITSIZEMOVE, sowie WM_SIZE mit wParam == SIZE_MAXIMIZED bzw. wParam == SIZE_RESTORED, wobei den Restore-Fall auch nur wenn vorher WM_SYSCOMMAND mit SC_RESTORE gesendet wurde. Zusammen mit ner feinen Fenster-Resize-Funktion funktioniert das ganze einwandfrei. Falls sich jemand noch mit dem Thema eines festen Seitenverhältnis für Fenster beschäftigen will
-
So habe ne neue Version geuppt mit folgendem Changelog:
Bugfixes:
- Die L-Steine sind nun beide unterschiedlich (gespiegelt).
- Das Drücken von 'p' während der Eingabe des Namens ruft nicht länger den Pause-Screen auf.
- Das Spiel hängt sich nicht länger auf wenn die Taste 'p' während der "Game Over" Meldung gedrückt wird und anschließend ein neues Spiel gestartet wird.
- Die nächste Runde wird nun gestartet wenn der Spieler es schafft alle freien Flächen mit seinen Steinen zu füllen.
- Die Musik war bei Neustart des Spiel immer wieder an, auch wenn der Spieler sie ausgeschaltet hat.
- Die Maximieren Schaltfläche funktioniert nun.Neue Features:
- Verhalten bei Größenänderung des Fensters wurde verbessert.
- Die Zeitanzeige macht sich nun bemerkbar wenn die Zeit knapp wird.
- Bei Rundenende wird dem Spieler jetzt besser verdeutlicht warum die Runde beendet ist, indem entweder der nicht mehr passende Stein in der Vorschau-Ansicht blinkt, oder die Zeitanzeige am unteren Rand pulsiert wie ein Wecker.Als nächstes plane ich eine Neugestaltung der kompletten Soundausgabe, sprich die Benutzung einer Sound-API wie z.B. DirectSound, sowie einige neue Sounds.
-
Kann man sich die neue Version schon herunterladen?
-
habe den Downloadlink im ersten Post geändert.
Aber hier ist er nochmal:
http://www.xup.in/dl,10341631/panicgame.rar/Scheinst ja ganz wild zu sein so schnell wie dein Post kommt
-
Ich hab leider Probleme mit dem Download (ständig ein FALSE_CAPTCHA-Fehler, trotz (da bin ich mir sehr sicher) richtigem Captcha). Am Browser liegts nicht, Firefox und IE hängen da gleichermaßen. Auf anderen Rechnern geht es aber.
Hat jemand zufällig eine Idee, woran das liegen könnte, bzw. ist es stattdessen möglich, das auch woanders hochzuladen?Edit: hat sich erledigt, lag an meinem Provider.
Edit2: tolles Spiel übrigens
-
der soundtrack von dem game ist echt der hammer. ich schmeiß mich weg.
-
Schönes Spiel!
Hab es jetzt 3 mal gespielt und mir ist nichts an Bugs aufgefallen.
Die FPS schwankt zwischen 2500 und 2900.Gut wäre wenn man noch einen 2er und/oder 1er Stein Einfügt(falls es die noch nicht gibt), damit man sich ein wenig freuen kann wenn ein "netter" Stein kommt.