add offline mode for solo play with local game state simulation
All checks were successful
Dynamic Branch Deploy / build-and-deploy (push) Successful in 1m47s
All checks were successful
Dynamic Branch Deploy / build-and-deploy (push) Successful in 1m47s
This commit is contained in:
@@ -27,8 +27,10 @@ func (g *Game) drawGameOverScreen(screen *ebiten.Image, myScore int) {
|
||||
screen.Fill(color.RGBA{20, 20, 30, 255})
|
||||
|
||||
// Leaderboard immer beim ersten Mal anfordern (ohne Lock hier!)
|
||||
if !g.scoreSubmitted && g.gameMode == "solo" {
|
||||
if !g.scoreSubmitted && g.gameMode == "solo" && !g.isOffline {
|
||||
g.submitScore() // submitScore() ruft requestLeaderboard() auf
|
||||
} else if !g.scoreSubmitted && g.gameMode == "solo" && g.isOffline {
|
||||
// Offline-Solo: Keine automatische Submission
|
||||
} else {
|
||||
// Für Coop: Nur Leaderboard anfordern, nicht submitten
|
||||
g.leaderboardMutex.Lock()
|
||||
@@ -169,6 +171,9 @@ func (g *Game) drawGameOverScreen(screen *ebiten.Image, myScore int) {
|
||||
} else if g.gameMode == "solo" && g.scoreSubmitted {
|
||||
// Solo: Zeige Bestätigungsmeldung
|
||||
text.Draw(screen, "✓ Runde verifiziert & Score eingereicht!", basicfont.Face7x13, ScreenWidth/2-110, ScreenHeight-100, color.RGBA{0, 255, 0, 255})
|
||||
} else if g.gameMode == "solo" && g.isOffline {
|
||||
// Offline Solo
|
||||
text.Draw(screen, "Offline-Modus: Score lokal gespeichert.", basicfont.Face7x13, ScreenWidth/2-110, ScreenHeight-100, color.RGBA{200, 200, 0, 255})
|
||||
} else if g.gameMode == "coop" && !g.isHost {
|
||||
// Coop Non-Host: Warten auf Host
|
||||
text.Draw(screen, "Warte auf Host...", basicfont.Face7x13, ScreenWidth/2-70, ScreenHeight-100, color.Gray{180})
|
||||
|
||||
Reference in New Issue
Block a user