Welcome to NimSim’s documentation!¶
nim.py¶
Module containing functions necessary for nim game.
@author: hrishit chaudhuri @github: https://www.github.com/hrishitchaudhuri
-
nim.
count_choice
(heap, game)¶ Return user-input to choose number of coins to draw from heap.
- Parameters
heap (int) – Heap which user chooses to draw coins from.
game (nimGame) – Game initialized with user specifications.
- Returns
count – Number of coins user chooses to draw from heap.
- Return type
int
-
nim.
draw_game
(game)¶ Print current game state.
- Parameters
game (nimGame) – Game initialized with user specifications.
- Returns
- Return type
None.
-
nim.
endMessage
(game)¶ Print message at end of game.
- Parameters
game (nimGame) – Game initizalized with user specifications.
- Returns
- Return type
None.
-
nim.
getPlayer_turn
(game)¶ Obtain and return user play.
- Parameters
game (nimGame) – Game initialized with user specifications.
- Returns
List containing player turn.
- Return type
list
-
nim.
heap_choice
(game)¶ Return user-input to choose heap to play in.
- Parameters
game (nimGame) – Game initialized with user specifications.
- Returns
heap – Heap which user chooses to draw coins from.
- Return type
int
Set up menu for initializing nim game.
- Returns
game – Game initialized with user specifications.
- Return type
-
nim.
input_heaps
()¶ Return user-input for setting number of nim-heaps.
- Returns
a – Number of heaps in nim-game set by user.
- Return type
int
-
nim.
input_heapsizes
(a)¶ Return user-input for setting size of each nim-heap.
- Parameters
a (int) – Number of heaps in nim-game.
- Returns
heaps – Array containing height of each nim-heap.
- Return type
list
-
nim.
input_start
(ipstring)¶ Return user response to [Y/N] question.
- Parameters
ipstring (str) – [Y/N] question to be asked to user.
- Returns
player_turn – [Y/N] response given by user.
- Return type
str
-
nim.
int_error
(func, *args)¶ Handle ValueErrors in int-returning functions.
- Parameters
func (function) – Function for which a ValueError has to be handled.
*args (tuple) – Arguments to the function.
- Returns
- Return type
None.
-
nim.
play_turn
(game)¶ Instruct computer or player to play respective turn.
- Parameters
game (nimGame) – Game initialized with user specifications.
- Returns
- Return type
None.
-
nim.
startGame
()¶ Start new nim game.
- Returns
- Return type
None.
nimClass.py¶
Module containing class description for nim game.
@author: hrishit chaudhuri @github: https://www.github.com/hrishitchaudhuri
-
class
nimClass.
nimGame
(heaps, player_turn)¶ A class to describe a nim game.
-
bestPlay
()¶ Return best play for computer.
- Returns
Computer play in current turn.
- Return type
list
-
isEndgame
()¶ Return game state.
- Returns
True if Grundy number of game = 0.
- Return type
bool
-
nimSum
()¶ Return Grundy number of nim game.
- Returns
Grundy number of current game state.
- Return type
int
-