1
0
mirror of https://github.com/MADTeacher/go_basics.git synced 2025-11-23 21:34:47 +02:00
Files
go_basics/part_8/tic_tac_toe_v7/main.go
Stanislav Chernyshev 1c2614a78d fix game
2025-06-21 13:28:09 +03:00

43 lines
813 B
Go

package main
import (
"flag"
"log"
"tic-tac-toe/client"
"tic-tac-toe/database"
"tic-tac-toe/server"
)
func main() {
mode := flag.String(
"mode", "server",
"start in 'server' or 'client' mode",
)
addr := flag.String("addr", ":8088", "address to run on")
flag.Parse()
switch *mode {
case "server":
repository, err := database.NewSQLiteRepository()
if err != nil {
log.Fatalf("Failed to create repository: %v", err)
}
srv, err := server.NewServer(*addr, repository)
if err != nil {
log.Fatalf("Failed to create server: %v", err)
}
srv.Start()
case "client":
cli, err := client.NewClient(*addr)
if err != nil {
log.Fatalf("Failed to connect to server: %v", err)
}
cli.Start()
default:
log.Fatalf(
"Unknown mode: %s. Use 'server' or 'client'.", *mode,
)
}
}