//go:build !js || !wasm // +build !js !wasm package main import ( "crypto/rand" "encoding/hex" "io/ioutil" "log" ) // loadOrCreatePlayerCode lรคdt oder erstellt einen eindeutigen Spieler-Code (Desktop Version) func (g *Game) loadOrCreatePlayerCode() { const codeFile = "player_code.txt" // Versuche bestehenden Code zu laden if data, err := ioutil.ReadFile(codeFile); err == nil { g.playerCode = string(data) log.Printf("๐Ÿ”‘ Player-Code geladen: %s", g.playerCode) return } // Erstelle neuen Code (32 Hex-Zeichen = 16 Bytes) 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) // Speichere Code in Datei if err := ioutil.WriteFile(codeFile, []byte(g.playerCode), 0644); err != nil { log.Fatal("Fehler beim Speichern des Player-Codes:", err) } log.Printf("๐Ÿ†• Neuer Player-Code erstellt: %s", g.playerCode) }