import std/[random,strutils] var wager, winnings, rollResult: int stillplaying: bool = true randomize() # Seed the random number generator proc tryAgain(): bool = echo "WANT TO PLAY AGAIN? (YES OR NO)" var answer = readLine(stdin).normalize() result = (answer == "y") or (answer == "yes") proc takePoint(point: int) = var flag = true while flag: var pointRoll: int = (rand 1..6) + (rand 1..6) # roll dice, then add the sum if pointRoll == 7: echo pointRoll, "- CRAPS. YOU LOSE." echo "YOU LOSE ", wager, " DOLLARS." winnings -= wager flag = false if pointRoll == point: echo point, "- A WINNER.........CONGRATS!!!!!!!!" echo "AT 2 TO 1 ODDS PAYS YOU...LET ME SEE... ", 2*wager, " DOLLARS" winnings += (2*wager) flag = false if flag: echo pointRoll, " - NO POINT. I WILL ROLL AGAIN" echo spaces(33), "CRAPS" echo spaces(15), "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" echo "\n" echo "2,3,12 ARE LOSERS; 4,5,6,8,9,10 ARE POINTS; 7,11 ARE NATURAL WINNERS." winnings = 0 # play the game while stillplaying: echo "" echo "INPUT THE AMOUNT OF YOUR WAGER." wager = readline(stdin).parseInt() echo "I WILL NOW THROW THE DICE" rollResult = (rand 1..6) + (rand 1..6) # roll dice, then add the sum case rollResult: of 7, 11: echo rollResult, "- NATURAL....A WINNER!!!!" echo rollResult, " PAYS EVEN MONEY, YOU WIN ", wager, " DOLLARS" winnings += wager of 2: echo rollResult, "- SNAKE EYES....YOU LOSE." echo "YOU LOSE ", wager, " DOLLARS." winnings -= wager of 3, 12: echo rollResult, "- CRAPS...YOU LOSE." echo "YOU LOSE ", wager, " DOLLARS." winnings -= wager else: echo rollResult, " IS THE POINT. I WILL ROLL AGAIN" takePoint(rollResult) if winnings < 0: echo "YOU ARE NOW UNDER $", winnings if winnings > 0: echo "YOU ARE NOW AHEAD $", winnings if winnings == 0: echo "YOU ARE NOW EVEN AT 0" stillplaying = tryAgain() # done playing if winnings < 0: echo "TOO BAD, YOU ARE IN THE HOLE. COME AGAIN." if winnings > 0: echo "CONGRATULATIONS---YOU CAME OUT A WINNER. COME AGAIN!" if winnings == 0: echo "CONGRATULATIONS---YOU CAME OUT EVEN, NOT BAD FOR AN AMATEUR"