Due Tuesday, June 10 at 2:00 PM via Blackboard. Submit your report in PDF, and submit your code in a separate .py or .cpp file.

Assignment 6

This assignment can be performed in groups of 4. The code for this assignment will be written by the team; however, each student must turn in their own homework write-up.

C++ Starter Code

The C++ starter code includes the following key functions:

Python Starter Code

The TeamA.py includes the basic functionality of Othello. Each function in the code includes comment that describes its purpose, inputs, and outputs.

The Python code board is 0-indexed, so 0,0 is the upper-left corner of the board.

Key Requirements

Note that following requirements are very important for the tournament. Please try your best to stick to them.

To test your play_square() works properly, you can use the MatchMaking.cpp code (if you run into problems with the timing functions, you can edit time.h as in this version). You'll want to change the names of the referenced players (team1 and team2 in the cpp linked above) to be two copies of your player. For the Python code, you should try our Matchmaker.py code using the players in TeamA.py and TeamB.py

What to turn in

  1. Extend your tic-tac-toe program to play Othello. Turn in the following:
    1. (3 points) Your code
    2. (1/2 point) Describe who within your group performed which piece of the design/programming effort.
  2. Answer the following questions regarding your program. These answers can be brief (about two or three sentences for a-c).
    1. (3/2 points) What did you do to try to make your Othello player good?
    2. (1/2 point) Describe your evaluation function.
    3. (1/2 point) How did you alter your code to execute moves within the time limit?
    4. (2 points) Provide three example boards, one in which the white player has an advantage, one in which the black player has an advantage, and another in which it's fairly even. Give the evaluation function value for each case, and a one sentence explanation why the value makes sense.