-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathgame.py
More file actions
32 lines (23 loc) · 1004 Bytes
/
game.py
File metadata and controls
32 lines (23 loc) · 1004 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from model.game_state import GameState
from networking import io
from model.item_type import ItemType
from model import upgrade_type
from model.decisions.move_decision import MoveDecision
from model.decisions.action_decision import ActionDecision
class Game:
def __init__(self, item: ItemType, upgrade: upgrade_type):
io.send_heartbeat()
self.send_item(item)
self.send_upgrade(upgrade)
def update_game(self) -> None:
self.game_state = io.receive_gamestate()
def get_game_state(self) -> GameState:
return self.game_state
def send_move_decision(self, decision: MoveDecision) -> None:
io.send_string(decision.engine_str())
def send_action_decision(self, decision: ActionDecision) -> None:
io.send_string(decision.engine_str())
def send_item(self, item: ItemType) -> None:
io.send_string(item.engine_str())
def send_upgrade(self, upgrade: upgrade_type) -> None:
io.send_string(upgrade.engine_str())