first prototype
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# wizard_game
|
||||
|
||||
Pure-Python rules engine of Wizard (no dependencies). It is used by the game
|
||||
server and can be installed on its own to train AI players:
|
||||
|
||||
```bash
|
||||
pip install ./wizard_server/game_logic
|
||||
```
|
||||
|
||||
```python
|
||||
import random
|
||||
from wizard_game import WizardGame, GameOptions
|
||||
|
||||
game = WizardGame(num_players=4, options=GameOptions(not_equal=True), seed=1)
|
||||
rng = random.Random(1)
|
||||
while not game.is_finished:
|
||||
player = game.current_player
|
||||
obs = game.observation(player) # what this player may see
|
||||
action = rng.choice(obs.legal_actions) # Bid / PlayCard / ChooseTrump
|
||||
events = game.apply(player, action) # TrickCompleted, RoundCompleted, ...
|
||||
print(game.scores, game.winners())
|
||||
```
|
||||
|
||||
`Observation.to_dict()` / `Observation.from_dict()` and
|
||||
`action_to_dict()` / `action_from_dict()` define the JSON format that the
|
||||
server sends to web clients and to the AI service.
|
||||
Reference in New Issue
Block a user