Due Monday, June 4 at 3:00 PM via Blackboard.
Assignment
This assignment can be performed in pairs. The code for this assignment
will be written by the team; however, each student must turn in their own homework write-up, so each team member is responsible for understanding all key pieces of the code and producing the example boards
(question 2).
C++ Starter Code
The C++ starter code includes the following key functions:
Board * b = new Board();
The board has integer entires, with -1 indicating the white player, +1 indicating the black player, and zero indicating blank.
string boardStr = b->toString()
b->play_square(row,col,value)
where #row and col are 1 indexed(!).
b->move_is_valid(row,col,value)
where #row and col are 1 indexed.
int sq = b->get_square(row,col)
where where #row and col are 1 indexed.
int score = b->score()
bool full = b->full_board()
bool moveExists = b->has_valid_move(value)
play()
As with Tic Tac Toe, you'll want to change the play() function, e.g. swap out the make_simple_cpu_move() function, to use a computer player that makes intelligent moves.
(note, there is also another "check or flip path" function in the C++ code, but you shouldn't need it).
Python Starter Code
The Python starter code includes the basic functionality of Othello.
Each function in the code includes comment that describes its purpose, inputs, and outputs.
Bug-finding incentive
The first student to find a bug in the functionality of either codebase gets one point extra credit per bug
(points will be split if partners find the bugs together).
What to turn in