Skip to content

Instantly share code, notes, and snippets.

@maojui
Created March 17, 2019 15:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maojui/7148b9569cea703313b97522fb3d6182 to your computer and use it in GitHub Desktop.
Save maojui/7148b9569cea703313b97522fb3d6182 to your computer and use it in GitHub Desktop.
pragma solidity ^0.4.18;
contract GuessNumber{
struct Player {
address addr;
uint number;
}
Player[2] private players;
uint num;
address owner;
function GuessNumber () public{
owner = msg.sender;
}
function play(uint number) public payable{
if (msg.value != 1 ether)
revert();
players[num] = Player(msg.sender, number);
num++;
if (num==2) Winner();
}
function Winner() private {
uint n = players[0].number+players[1].number;
if (n%2==0)
players[0].addr.transfer(1.8 ether);
else
players[1].addr.transfer(1.8 ether);
delete players;
num=0;
}
function getProfit() public{
if(msg.sender!=owner)
revert();
msg.sender.transfer(this.balance);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment