mapping (address => uint256) gameWeiValues; | |
mapping (address => uint256) blockHashesToBeUsed; | |
function playGame() public { | |
if (!blockHashesToBeUsed[msg.sender]) { | |
// first run, determine block hash to be used | |
blockHashesToBeUsed[msg.sender] = block.number + 2; // use 2 or more | |
gameWeiValues[msg.sender] = msg.value; | |
return; | |
} | |
uint256 randomNumber = uint256(blockhash(blockHashesToBeUsed[msg.sender])); | |
blockHashesToBeUsed[msg.sender] = 0; | |
gameWeiValues[msg.sender] = 0; | |
if (randomNumber != 0 || randomNumber % 2 == 0) { | |
uint256 winningAmount = gameWeiValues[msg.sender] * 2; | |
msg.sender.transfer(winningAmount); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment