#0
nonstandard
0.00004000 BSV
Q!g¹é4Í4N´¢¥OÉNÄ`<2²êIYQ£·`¡YQ®M6{"__cls":"class P2Pchess{\n constructor(){\n this.rooms = [];\n }\n addRoom(roomId,playerId){\n let r = {\n roomId : roomId,\n players : [playerId],\n createdBy : playerId,\n moves : [],\n state : 0,\n }\n this.rooms.push(r);\n \n }\n initPlay(roomId){\n let i = this.getRoomIndex(roomId);\n this.rooms[i].state = 1;\n }\n insertMove(roomId,playerId,data){\n let i = this.getRoomIndex(roomId);\n if(this.rooms[i].state != 0 && this.rooms[i].state != 6){\n let m = {\n playerId : playerId,\n move : data,\n lastUpdated : new Date().getTime()\n }\n this.rooms[i].moves.push(m);\n }else{\n throw new Error(erros.ERROR_INVALID_GAME_STATE);\n }\n\n\n }\n joinRoom(roomId,playerId){\n let i = this.getRoomIndex(roomId);\n if(this.rooms[i].players.length<=2){\n this.rooms[i].players.push(playerId);\n }else{\n throw new Error(erros.ERROR_ROOM_OVERFLOW);\n }\n \n }\n leaveRoom(roomId,playerId){\n let i = this.getRoomIndex(roomId);\n if(this.rooms[i].players.length>0){\n let roomIdIndex = this.rooms[i].players.indexOf(playerId);\n if(roomIdIndex > -1){\n this.rooms[i].players.splice(roomIdIndex,1);\n }\n }else{\n throw new Error(erros.ERROR_EMPTY_ROOM)\n }\n }\n closeRoom(roomId,playerId){\n let i = this.getRoomIndex(roomId);\n if(this.rooms[i].createdBy == playerId){\n this.rooms[i].state = 6;\n }else{\n throw new Error(erros.ERROR_UNAUTHORIZED_OPERATION);\n } \n }\n getRoomIndex(roomId){\n let i;\n for(i=0;i<this.rooms.length;i++){\n if(rooms[i].roomId == roomId){\n return i;\n break;\n }\n }\n }\n}","__index":{"obj":0},"__func":"constructor","__args":[]}u
https://whatsonchain.com/tx/07eda4a458131bd912d80887b186773125f1cbf7e1ccb341b2be249256562fcb