Assignment 9 – Making a Smart Player
Due Wednesday 5/25 5:00pm for the testing deliverables and Friday 5/27 11:59pm for the code deliverables
In this assignment you should improve your player to prepare for the tournament. If you wish to keep the same player from assignment 6 and spend the time this week improving other aspects of your code to pass tests, that’s also okay. Either way, you must submit (novel) test cases and set up this assignment in CI.
One general purpose approach for implementing a player for move-based games is to enumerate all possibly moves and then score those potential player states independently, where the higher score means that player state looks more promising. Then choose the player state that scores the highest.
In addition to coming up with your own de novo scoring function, there are some strategies described online for how to make an effective Welcome To player that you are welcome to translate into a scoring function and use for your smart player.
Testing Deliverables: In your team’s GitHub repository, create a directory named “Deliverables/9/9.1/” and deposit five test cases there. The format for these test cases is identical to the format for assignment 5.1 and assignment 6, but the test cases must be different to count.
You will receive up to ten points for your tests, two points for each valid pair of input and output files.
Code Deliverables: In your team’s GitHub repository, create a directory “Deliverables/9/9.1/” and deposit there a Makefile for your test driver. It will be invoked multiple times to run multiple games with different players by the CI.
You will receive up to 50 points for your code.