Pig the dice game: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 790: | Line 790: | ||
Button["Play again.", |
Button["Play again.", |
||
roundscore = 0; (score@# = 0) & /@ players]]}]</lang> |
roundscore = 0; (score@# = 0) & /@ players]]}]</lang> |
||
=={{header|Objeck}}== |
|||
<lang objeck> |
|||
class Pig { |
|||
function : Main(args : String[]) ~ Nil { |
|||
player_count := 2; |
|||
max_score := 100; |
|||
safe_score := Int->New[player_count]; |
|||
player := 0; score := 0; |
|||
while(true) { |
|||
safe := safe_score[player]; |
|||
" Player {$player}: ({$safe}, {$score}) Rolling? (y/n) "->PrintLine(); |
|||
rolling := IO.Console->ReadString(); |
|||
if(safe_score[player] + score < max_score & (rolling->Equals("y") | rolling->Equals("yes"))) { |
|||
rolled := ((Float->Random() * 100.0)->As(Int) % 6) + 1; |
|||
" Rolled {$rolled}"->PrintLine(); |
|||
if(rolled = 1) { |
|||
safe := safe_score[player]; |
|||
" Bust! you lose {$score} but still keep your previous {$safe}\n"->PrintLine(); |
|||
score := 0; |
|||
player := (player + 1) % player_count; |
|||
} |
|||
else { |
|||
score += rolled; |
|||
}; |
|||
} |
|||
else { |
|||
safe_score[player] += score; |
|||
if(safe_score[player] >= max_score) { |
|||
break; |
|||
}; |
|||
safe := safe_score[player]; |
|||
" Sticking with {$safe}\n"->PrintLine(); |
|||
score := 0; |
|||
player := (player + 1) % player_count; |
|||
}; |
|||
}; |
|||
safe := safe_score[player]; |
|||
"\n\nPlayer {$player} wins with a score of {$safe}"->PrintLine(); |
|||
} |
|||
} |
|||
</lang> |
|||
<pre> |
|||
Player 0: (0, 0) Rolling? (y/n) |
|||
y |
|||
Rolled 3 |
|||
Player 0: (0, 3) Rolling? (y/n) |
|||
y |
|||
Rolled 2 |
|||
Player 0: (0, 5) Rolling? (y/n) |
|||
... |
|||
Rolled 4 |
|||
Player 1: (56, 30) Rolling? (y/n) |
|||
n |
|||
Sticking with 86 |
|||
Player 0: (94, 0) Rolling? (y/n) |
|||
y |
|||
Rolled 6 |
|||
Player 0: (94, 6) Rolling? (y/n) |
|||
n |
|||
... |
|||
Rolled 4 |
|||
Player 1: (56, 30) Rolling? (y/n) |
|||
n |
|||
Sticking with 86 |
|||
Player 0: (94, 0) Rolling? (y/n) |
|||
y |
|||
Rolled 6 |
|||
Player 0: (94, 6) Rolling? (y/n) |
|||
n |
|||
</pre> |
|||
=={{header|Perl 6}}== |
=={{header|Perl 6}}== |
||
{{works with|niecza|2012-09-12}} |
{{works with|niecza|2012-09-12}} |