feat: TUI views, full state machine, and server integration
Add title, lobby, class select, game, shop, and result screens. Rewrite model.go with 6-screen state machine and input routing. Wire server/ssh.go and main.go with lobby and store. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
28
main.go
28
main.go
@@ -2,12 +2,36 @@ package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
|
||||
"github.com/tolelom/catacombs/game"
|
||||
"github.com/tolelom/catacombs/server"
|
||||
"github.com/tolelom/catacombs/store"
|
||||
)
|
||||
|
||||
func main() {
|
||||
if err := server.Start("0.0.0.0", 2222); err != nil {
|
||||
log.Fatal(err)
|
||||
os.MkdirAll("data", 0755)
|
||||
|
||||
db, err := store.Open("data/catacombs.db")
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to open database: %v", err)
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
lobby := game.NewLobby()
|
||||
|
||||
go func() {
|
||||
if err := server.Start("0.0.0.0", 2222, lobby, db); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}()
|
||||
|
||||
log.Println("Catacombs server running on :2222")
|
||||
|
||||
c := make(chan os.Signal, 1)
|
||||
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
|
||||
<-c
|
||||
log.Println("Shutting down...")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user