(Commit summary. Replace this with a one-line description of this commit.)

checkpoint 2 win condition.
What I changed
(Replace this with a description of what you changed in this commit. This should be 1-2 sentences.)
added tictactoe win conditions
Why I changed it
(Describe why you made these changes. Were you working toward a goal? Did you reorganize your code? This should be 1-2 sentences.)
working in order to add win conditions.
Estimate for remaining time to finish assignment: [2 days]
This commit is contained in:
louiscooper136 2024-02-12 21:48:37 -05:00
parent 4e30fd8a26
commit 11fda02ae3
2 changed files with 17 additions and 0 deletions

View File

@ -10,13 +10,16 @@ player1 = TTTHumanPlayer("Player 2")
game = TTTGame()
view = TTTView(player0, player1)
#creates initial state
state = game.get_initial_state()
view.greet()
"""
while loop that checks if game is over if its not...
"""
#gets passed blank board
while not game.is_over(state):
#take action and update board
action = view.get_action(state)
state = game.get_next_state(state, action)
view.conclude(state)

View File

@ -22,6 +22,7 @@ class TTTGame:
def get_actions(self, state):
"Returns a list of the indices of empty spaces"
#False bc blank #false bc no makers #false because no markers
return [index for index in range(9) if state["board"][index] == '-']
def is_over(self, state):
@ -58,4 +59,17 @@ class TTTGame:
def check_winner(self, state, symbol):
"Checks whether the player with `symbol` has won the game."
currentState = state["board"]
#possible tictactoes: 012 345 678 036 147 258 048 246
for i in range(0, 7, 3):
if currentState[i] == symbol and currentState[i + 1] == symbol and currentState[i+2] == symbol:
return True
for i in range(3):
if currentState[i] == symbol and currentState[i+3] == symbol and currentState[i+6] == symbol:
return True
if currentState[0] == symbol and currentState[4] == symbol and currentState[8] == symbol:
return True
if currentState[2] == symbol and currentState[4] == symbol and currentState[6] ==symbol:
return True
return False