#################################################################
##  CS 3200 (Fall 2025), Assignment #2                         ##
##  Program File Name: myAltNimClasses.py                      ##
##       Student Name: Todd Wareham                            ##
##         Login Name: harold                                  ##
##              MUN #: 8008765                                 ##
#################################################################

## Provided classes for Assigment #2.
##
##      *** DO NOT CHANGE THE CODE IN THIS FILE ***
##

import math


## Game tree state class
## Attributes:
##   Boolean   startOdd
##   int       maxDepth (> 0)
##   int       actionState (in [0, 1, 2, 3])
##   int       sticksAction (in [-1, -2, -3, -4])
##   int       sticksRemaining
##   int       currentBestAction (in [-1, -2, -3, -4])

class State:

   def __init__(self, sO, mD, aS, sA, sR):
      self.startOdd = sO
      self.maxDepth = mD
      self.actionState = aS
      self.sticksAction = sA
      self.sticksRemaining = sR
      self.currentBestAction = None

   def getStartOdd(self):
      return self.startOdd

   def getMaxDepth(self):
      return self.maxDepth

   def getActionState(self):
      return self.actionState

   def getSticksAction(self):
      return self.sticksAction

   def getSticksRemaining(self):
      return self.sticksRemaining

   def getCurrentBestAction(self):
      return self.currentBestAction

   def setCurrentBestAction(self, action):
      self.currentBestAction = action

