reverted to older state to reintroduce louis changes
This commit is contained in:
+13
-2
@@ -2,15 +2,16 @@ import random
|
|||||||
import string
|
import string
|
||||||
import time
|
import time
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
|
from datetime import datetime
|
||||||
from threading import Lock
|
from threading import Lock
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
import chess
|
from chess_sim.game_board import ChessBoard, Outcome, Color
|
||||||
from chess_sim.game_board import ChessBoard, Color, Outcome
|
|
||||||
from flask_login import current_user
|
from flask_login import current_user
|
||||||
from flask import request
|
from flask import request
|
||||||
from flask_socketio import emit, join_room, leave_room
|
from flask_socketio import emit, join_room, leave_room
|
||||||
from app import sIO
|
from app import sIO
|
||||||
|
from app.models.game import save_finished_game
|
||||||
from .types import validate_client_event
|
from .types import validate_client_event
|
||||||
|
|
||||||
|
|
||||||
@@ -18,10 +19,12 @@ from .types import validate_client_event
|
|||||||
class GameRoom:
|
class GameRoom:
|
||||||
code: str
|
code: str
|
||||||
p1_sid: str
|
p1_sid: str
|
||||||
|
p1_user_id: int
|
||||||
p1_name: str
|
p1_name: str
|
||||||
p1_pref: str
|
p1_pref: str
|
||||||
time_mode: str
|
time_mode: str
|
||||||
p2_sid: Optional[str] = None
|
p2_sid: Optional[str] = None
|
||||||
|
p2_user_id: Optional[int] = None
|
||||||
p2_name: Optional[str] = None
|
p2_name: Optional[str] = None
|
||||||
ready: dict[str, bool] = field(default_factory=dict)
|
ready: dict[str, bool] = field(default_factory=dict)
|
||||||
board: ChessBoard = ChessBoard.init_default()
|
board: ChessBoard = ChessBoard.init_default()
|
||||||
@@ -33,6 +36,10 @@ class GameRoom:
|
|||||||
active_since: Optional[float] = None
|
active_since: Optional[float] = None
|
||||||
game_active: bool = False
|
game_active: bool = False
|
||||||
completed: bool = False
|
completed: bool = False
|
||||||
|
move_history: list[str] = field(default_factory=list)
|
||||||
|
started_at: Optional[str] = None
|
||||||
|
ended_at: Optional[str] = None
|
||||||
|
saved_game_id: Optional[int] = None
|
||||||
|
|
||||||
|
|
||||||
games_by_code: dict[str, GameRoom] = {}
|
games_by_code: dict[str, GameRoom] = {}
|
||||||
@@ -74,6 +81,10 @@ def _room_for_sid(sid: str) -> Optional[GameRoom]:
|
|||||||
return games_by_code.get(code)
|
return games_by_code.get(code)
|
||||||
|
|
||||||
|
|
||||||
|
def _timestamp_now() -> str:
|
||||||
|
return datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||||
|
|
||||||
|
|
||||||
def _sid_for_color(room: GameRoom, color: str) -> Optional[str]:
|
def _sid_for_color(room: GameRoom, color: str) -> Optional[str]:
|
||||||
for sid, c in room.color_by_sid.items():
|
for sid, c in room.color_by_sid.items():
|
||||||
if c == color:
|
if c == color:
|
||||||
|
|||||||
Reference in New Issue
Block a user