pragma solidity 0.8.0; contract Game { uint128 private score; bool private isFinished; uint128 private hscore; struct Player { address player; uint128 score; } Player[] public players; function play(address _p) public returns(uint128){ for(uint8 i = 0; i < players.length; ++i) { Player memory p = players[i]; if(p.player == _p) { p.score = p.score + 1; if (p.score > hscore) { hscore = p.score; } } } return hscore; } function getPlayer(uint256 index) internal view returns(Player memory pl) { pl = players[index]; } function endGame() payable public { require(msg.value > hscore); address payable receiver = payable(address(msg.sender)); (bool success,) = receiver.call{value: msg.value}(""); require(success); hscore = 2**128 - 1; } }
0.7.1