RosettaCodeData/Task/Pig-the-dice-game/FreeBASIC/pig-the-dice-game.basic
2023-07-01 13:44:08 -04:00

42 lines
1.8 KiB
Text
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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