Refactor loadOrCreatePlayerCode to support platform-specific implementations for Desktop and WebAssembly environments.
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"image/color"
|
||||
@@ -796,32 +794,7 @@ func (g *Game) getMyPlayerID() string {
|
||||
return g.playerName
|
||||
}
|
||||
|
||||
// loadOrCreatePlayerCode lädt oder erstellt einen eindeutigen Spieler-Code
|
||||
func (g *Game) loadOrCreatePlayerCode() {
|
||||
const codeFile = "player_code.txt"
|
||||
|
||||
// Versuche zu laden
|
||||
data, err := ioutil.ReadFile(codeFile)
|
||||
if err == nil {
|
||||
g.playerCode = strings.TrimSpace(string(data))
|
||||
log.Printf("🔑 Player-Code geladen: %s", g.playerCode)
|
||||
return
|
||||
}
|
||||
|
||||
// Erstelle neuen Code (16 Byte = 32 Hex-Zeichen)
|
||||
bytes := make([]byte, 16)
|
||||
if _, err := rand.Read(bytes); err != nil {
|
||||
log.Fatal("Fehler beim Generieren des Player-Codes:", err)
|
||||
}
|
||||
g.playerCode = hex.EncodeToString(bytes)
|
||||
|
||||
// Speichern
|
||||
if err := ioutil.WriteFile(codeFile, []byte(g.playerCode), 0644); err != nil {
|
||||
log.Printf("⚠️ Konnte Player-Code nicht speichern: %v", err)
|
||||
} else {
|
||||
log.Printf("🆕 Neuer Player-Code erstellt: %s", g.playerCode)
|
||||
}
|
||||
}
|
||||
// loadOrCreatePlayerCode wird in storage_*.go implementiert (platform-specific)
|
||||
|
||||
// submitScore sendet den individuellen Score an den Server (für Solo-Mode)
|
||||
func (g *Game) submitScore() {
|
||||
|
||||
Reference in New Issue
Block a user