Busy week. But also lots of progress. For the project, I managed to find enough time in my busy schedule to work and get a working solution for client disconnections during a game. It was easier to just abandon looking for a client reconnection and to tell the remaining connected client to disconnect and return to the main menu. Then it took a bit of thinking to figure out how to get the server to reset whenever both clients disconnect so that new connections will start a new game.
Then I helped out Tamana with some front end elements. I first refactored the frontend file so that the multiplayer gameplay code, which was the tentire main function, can now be called according to a game state variable. Then the game state variable can be changed according to what screen and gameplay should be happening.
The last part I worked out was a simple but working select menu UI for the user to select betwen single and multiplayer gameplay. This also allowed me to test the client disconnection mentioned earlier. And integrate Tamana’s UI sidebar addition to add some context for the game with move history and text for things such as check. Then Timur’s AI is basically finished and since we went over expected input/output, it should be pretty straight forward to integrate it. Lastly, we just need somewhere to host the server and it’ll be all done!