The   game of Pig   is a multiplayer game played with a single six-sided die.   The
object of the game is to reach   100   points or more.  
Play is taken in turns.   On each person's turn that person has the option of either:

 Rolling the dice:   where a roll of two to six is added to their score for that turn and the player's turn continues as the player is given the same choice again;   or a roll of   1   loses the player's total points   for that turn   and their turn finishes with play passing to the next player.
 Holding:   the player's score for that round is added to their total and becomes safe from the effects of throwing a   1   (one).   The player's turn finishes with play passing to the next player.


Task

Create a program to score for, and simulate dice throws for, a two-person game.



Related task

   Pig the dice game/Player


 
# syntax: GAWK -f PIG_THE_DICE_GAME.AWK
# converted from LUA
BEGIN {
    players = 2
    p = 1 # start with first player
    srand()
    printf("Enter: Hold or Roll?\n\n")
    while (1) {
      printf("Player %d, your score is %d, with %d temporary points\n",p,scores[p],points)
      getline reply
      reply = toupper(substr(reply,1,1))
      if (reply == "R") {
        roll = int(rand() * 6) + 1 # roll die
        printf("You rolled a %d\n",roll)
        if (roll == 1) {
          printf("Too bad. You lost %d temporary points\n\n",points)
          points = 0
          p = (p % players) + 1
        }
        else {
          points += roll
        }
      }
      else if (reply == "H") {
        scores[p] += points
        points = 0
        if (scores[p] >= 100) {
          printf("Player %d wins with a score of %d\n",p,scores[p])
          break
        }
        printf("Player %d, your new score is %d\n\n",p,scores[p])
        p = (p % players) + 1
      }
      else if (reply == "Q") { # abandon game
        break
      }
    }
    exit(0)
}
 