contract tictactoe { // game configuration address [2] playeraddress ; // address of both players uint32 turnlength ; // max time for each turn // nonce material used to pick the first player bytes32 p1commitment ; uint8 p2nonce ; // game state uint8 [9] board ; // serialized 3 x3 array uint8 currentplayer ; // 0 or 1, indicating whose turn it is uint256 turndeadline ; // deadline for submitting next move // create a new game , challenging a named opponent . // the value passed in is the stake which the opponent must match . // the challenger commits to its nonce used to determine first mover . constructor ( address opponent , uint32 turnlength , bytes32 p1commitment ) public { playeraddress [0]