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


 
Const numjugadores = 2
Const  maxpuntos = 100
Dim As Byte almacenpuntos(numjugadores), jugador, puntos, tirada
Dim As String nuevotiro
 
Cls: Color 15: Print "The game of PIG"
Print String(15, "=") + Chr(13) + Chr(10): Color 7
Print "Si jugador saca un 1, no anota nada y se convierte en el turno del oponente."
Print "Si jugador saca 2-6, se agrega al total del turno y su turno continúa."
Print "Si jugador elige 'mantener', su total de puntos se añade a su puntuación, "
Print " y se convierte en el turno del siguiente jugador." + Chr(10)
Print "El primer jugador en anotar 100 o más puntos gana." + Chr(13) + Chr(10): Color 7
 
Do
    For jugador = 1 To numjugadores
        puntos = 0
 
        While almacenpuntos(jugador) <= maxpuntos
            Color 15: Print
            Print Using "Jugador #: (&_, &)"; jugador;almacenpuntos(jugador);puntos;: Color 11
            Input "  ¿Tirada? (Sn) ", nuevotiro
            If Ucase(nuevotiro) = "S" Then
                tirada = Int(Rnd* 5) + 1
                Print "  Tirada:"; tirada
                If tirada = 1 Then
                    Color 11: Print Chr(10) + "­¡Pierdes tu turno! jugador"; jugador; 
                    Print " pero mantienes tu puntuación anterior de "; almacenpuntos(jugador): Color 7
                    Exit While
                End If
                puntos = puntos + tirada
            Else
                almacenpuntos(jugador) = almacenpuntos(jugador) + puntos
                Print "  Te quedas con:"; almacenpuntos(jugador)
                If almacenpuntos(jugador) >= maxpuntos Then 
                    Color 14: Print Chr(10) + "Gana el jugador"; jugador; " con"; almacenpuntos(jugador); " puntos."
                    Sleep: End
                End If
                Exit While
            End If
        Wend
    Next jugador
Loop
 