USANDO METODOS EN C# EXAMEN CRAPS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/* CRAPS
Un jugador tira 2 dados,
Cada dado tiene 6 caras, COn sus numeros del 1-6 en cada cara
Una vez que los dados dejen de moverse, se calcula la suma de los puntos en los dos lados. Si la suma es 7 u 11
en el primero tiro el jugador gana
Si la suma es 3,2,12 en el primer tiro el jugador pierde
Si la suma es 4,5,6,8,9,10 en el primer tiro esta se convierte en el punto del jugador.
Para ganar.El jugador debe seguir tirando los dados hasta que salga otra vez su punto (Es decir, que tire ese mismo valor de punto)
*/
namespace Craps
{
class Program
{
//PROGRAMA PARA GENERAR NUMEROS ALEATORIOS, PARA USARLA EN EL METODO TIRAR DADO
private Random numerosAleatorios = new Random();
private enum Estado { CONTINUA, GANO, PERDIO }
private enum nombresDados{DOS_UNOS=2,
TRES=3,SIETE=7,ONCE=11,DOCE=12}
//METODO EJECUTA EL JUEGO CE CRAPS
public void Jugar()
{
//PRIMER TIRO DEDOS
Estado EstadoJuego=Estado.CONTINUA;
int puntos=0;
int sumaDeDados=tirarDados();
//DETERMINA EL ESTADO DE JUEGO Y EL PUNTO CON BASE EN EL PRIMER TIRO
switch((nombresDados)(sumaDeDados))
{
case nombresDados.SIETE:
case nombresDados.ONCE:
EstadoJuego = Estado.GANO;
break;
case nombresDados.DOCE:
case nombresDados.TRES:
case nombresDados.DOS_UNOS:
EstadoJuego = Estado.PERDIO;
break;
default: EstadoJuego = Estado.CONTINUA; //NO GANO NI PERDIO, ENTONCES HAY QUE RECORDAR EL PUNTO
break;
//AUN NO TERMINA
puntos = sumaDeDados;
Console.WriteLine("{0}",puntos);
break;
}
//MIENTRAS EL JUEGO NO TERMINE
while (EstadoJuego == Estado.CONTINUA)
{
sumaDeDados = tirarDados(); //TIRA LOS DATOS OTRA VEZ
if (sumaDeDados == puntos)
EstadoJuego = Estado.GANO;
if(sumaDeDados==(int) nombresDados.SIETE) //PIERDES SE CAE 7 ANTES DEL PUNTO
EstadoJuego=Estado.PERDIO;
}//FIN DEL WHILE
//MUESTRA MENSAJE
if (EstadoJuego == Estado.GANO)
{
Console.WriteLine("PERDISTE");
}
if (EstadoJuego == Estado.PERDIO)
{
Console.WriteLine("GANASTE");
}
}
//TIRAR DADO
public int tirarDados()
{
//ELIGE VALORES ALEATORIOS PARA LOS DADOS
int dado1 = numerosAleatorios.Next(1, 7);
int dado2 = numerosAleatorios.Next(1, 7);
int suma = dado1 + dado2;
//MUESTRA EL RESULTADO DE ESTE TIRO
Console.WriteLine("DADO UNO= {0}" + dado1+ " DADO DOS{1}" + dado2+ "SUMA={2}" + suma);
return suma;
}
static void Main(string[] args)
{
Program AAAA=new Program();
AAAA.Jugar();
Console.ReadLine();
}
}
}
Comentarios
Publicar un comentario