generated from mwc/lab_tic_tac_toe
35 lines
991 B
Python
35 lines
991 B
Python
class NimGameStub:
|
|
"""A stub is a minimal version of a class which stands in for the
|
|
real class, which hasn't yet been written. The stub has all the correct
|
|
methods, and their inputs and outputs are the right kind of thing,
|
|
but it doesn't really do anything.
|
|
"""
|
|
def get_initial_state(self):
|
|
return {
|
|
"board": [1, 3, 5, 7],
|
|
"first_player": True
|
|
}
|
|
|
|
def get_next_state(self, state, action):
|
|
next_state = {
|
|
"board": state["board"].copy(),
|
|
"first_player": not state["first_player"],
|
|
}
|
|
return next_state
|
|
|
|
def get_actions(self, state):
|
|
return [
|
|
(0, 0),
|
|
(1, 0), (1, 1),
|
|
(2, 0), (2, 1), (2, 2), (3, 0), (3, 1), (3, 2), (3, 3),
|
|
]
|
|
|
|
def get_reward(self, state):
|
|
return 0
|
|
|
|
def is_over(self, state):
|
|
return False
|
|
|
|
def get_objective(self, state):
|
|
return max if state["first_player"] else min
|