Files
tic_tac_toe/a_player.py
T
2024-06-10 20:48:50 +02:00

40 lines
730 B
Python

import numpy as np
from state import f_state_slices
class APlayer(object):
def __init__(self, mark):
self.mark = mark
self.other_mark = 'O'
if 'O' in mark:
self.other_mark = 'X'
self.state = None
self.state_last = None
def set_debug(self, with_debug):
pass
def move(self, state: np.array):
return state, False
def to_state(self, state: np.array, move):
state.reshape(state.size)[move] = self.mark
return state
def reward(self, value):
pass
def new_game(self):
pass
def has_won(self, state: np.array):
result = False
ref = [self.mark, self.mark, self.mark]
for f_state_slice in f_state_slices():
if np.all(state[f_state_slice] == ref):
result = True
break
return result