CSE333 16au -- Homework #6

Out: Monday February 27, 2017
Due: Friday March 10, 2017, 11:59 PM.
Teams: Two person teams are required.

Summary
In this final piece of the project we adapt the model component of HW5 so that it chooses the next move to be made. Your model contacts a server to obtain a game to be played. The server then periodically contacts your model component to ask for its next move, which must be supplied promptly. Because finding a good move in limited real time is a constraint, your search for moves should be multi-threaded.

A Few Specifics
The Protocol
The HW6 protocol is similar to the one used in HW5. The main changes are
Scoreboard Server
There are two servers running on attu4, one at port 33306 and one at 33310. The former supplies the classic test6by6.json model, and the latter a newly created 10x10 model.

You can view a list of best scores on each game by each team (that has connected to the servers) at this page. (All your game results are recorded, but only the best result on each game for each team is shown.)

FAQ
Q: How do I find a good move?
A: That's entirely up to you.

Q: What happens if I return a move that isn't legal?
A: You should expect to be disqualified.

Q: What happens if I don't respond quickly enough?
A: You should expect to be disqualified.

Q: If I'm disqualified, how can I know why?
A: In some instances the server will return an error message field in the bye message, so dump that message.

What We Provide
We provide a copy of the game server executable (built on attu): hw6-server.

Turnin