{"action":"opened","issue":{"url":"https://api.github.com/repos/PastyPurpleTrolls/game-contest-server/issues/149","repository_url":"https://api.github.com/repos/PastyPurpleTrolls/game-contest-server","labels_url":"https://api.github.com/repos/PastyPurpleTrolls/game-contest-server/issues/149/labels{/name}","comments_url":"https://api.github.com/repos/PastyPurpleTrolls/game-contest-server/issues/149/comments","events_url":"https://api.github.com/repos/PastyPurpleTrolls/game-contest-server/issues/149/events","html_url":"https://github.com/PastyPurpleTrolls/game-contest-server/issues/149","id":322548796,"number":149,"title":"Ensure referees and Aires properly handle matches with erroring players","user":{"login":"johnluscombe","id":14113635,"avatar_url":"https://avatars3.githubusercontent.com/u/14113635?v=4","gravatar_id":"","url":"https://api.github.com/users/johnluscombe","html_url":"https://github.com/johnluscombe","followers_url":"https://api.github.com/users/johnluscombe/followers","following_url":"https://api.github.com/users/johnluscombe/following{/other_user}","gists_url":"https://api.github.com/users/johnluscombe/gists{/gist_id}","starred_url":"https://api.github.com/users/johnluscombe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnluscombe/subscriptions","organizations_url":"https://api.github.com/users/johnluscombe/orgs","repos_url":"https://api.github.com/users/johnluscombe/repos","events_url":"https://api.github.com/users/johnluscombe/events{/privacy}","received_events_url":"https://api.github.com/users/johnluscombe/received_events","type":"User","site_admin":false},"labels":[{"id":163546817,"url":"https://api.github.com/repos/PastyPurpleTrolls/game-contest-server/labels/bug","name":"bug","color":"b60205","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-05-12T22:54:34Z","updated_at":"2018-05-12T22:54:34Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"An audit should be performed on the referees, so they handle the following conditions:\r\n\r\n* Invalid moves\r\n  * If P1 submits an invalid move, the referee should give P2 a chance to submit a move\r\n  * If P2 submits a valid move, the referee should give the win for the current **round** to P2, along with a loss to P1\r\n  * If P2 submits an invalid move, the referee should declare the **round** a tie\r\n  * If the referee is not rounds capable, Aires should continue generating rounds and not end the match prematurely\r\n  * If the referee _is_ rounds capable, the referee should continue generating rounds and not end the match prematurely\r\n* Players not connecting (due to compile error, syntax error, or any other reason)\r\n  * If P1 does not connect, the referee should give P2 a chance to connect\r\n  * If P2 connects, the referee should give the win win for the current **match** to P2, with a score of the amount of rounds that were supposed to be generated\r\n  * Aires should give any player who does not connect a PlayerMatch entry with a result of \"Error\"\r\n  * Neither Aires nor the referee should generate any rounds"}}
{"actor":{"display_login":"johnluscombe"}}