{"id":20,"date":"2022-05-12T23:07:49","date_gmt":"2022-05-12T23:07:49","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/?p=20"},"modified":"2022-05-12T23:07:49","modified_gmt":"2022-05-12T23:07:49","slug":"post-7","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/2022\/05\/12\/post-7\/","title":{"rendered":"Post #7"},"content":{"rendered":"\n<p>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.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>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&#8217;s UI sidebar addition to add some context for the game with move history and text for things such as check. Then Timur&#8217;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&#8217;ll be all done!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":12261,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-20","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/wp-json\/wp\/v2\/posts\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/wp-json\/wp\/v2\/users\/12261"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/wp-json\/wp\/v2\/posts\/20\/revisions"}],"predecessor-version":[{"id":21,"href":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/wp-json\/wp\/v2\/posts\/20\/revisions\/21"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/wp-json\/wp\/v2\/categories?post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/joshluoblog\/wp-json\/wp\/v2\/tags?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}