Quien Quiere Ser Millonario en Java
Quien Quiere Ser Millonario en Java
Quien Quiere Ser Millonario en Java
import javax.swing.*;
import java.text.*;
import java.util.*;
public class Motor {
//Variables
public static DecimalFormat miformato = new DecimalFormat("###,###,###,###")
;
public static int nOp1 = 0, aleatorioPrel = 0, aleatorioJuego = 0, respCorrP
rel = 0, respCorrJuego = 0,
nRespJuego = 0, min = 1, max = 10, maxJuego = 20, sIni = 0
, sFin = 0, mIni = 0, mFin = 0, resEntrar = 0, confJuego = 0, n = 1,
confirm = 0, confResp = 0, confOp = 0, conf50 = 0, nPreg =
0, tGanado = 0, vGanado = 0, tgSeg = 0, resta = 0;
public static Random rnd = new Random();
//Variables generales y de la adivinanza
public static String txtOp1 = "", txtPregPrel = "", adiv = "", respAdiv = ""
, resp = "", segundoIni = "", segundoFin = "", minutoIni = "", minutoFin = "",
adiv1 = "Blanco por dentro, \n verde por fuera; \n si quieres que te lo diga
, \n es-pera. \n Que es? \n La/El",
adiv2 = "Este banco est ocupado \n por un padre y por un hijo: \n el padre se
llama Juan \n y el hijo ya te lo he dicho. \n Que es?",
adiv3 = "Es pequea como una pera, \n pero alumbra la casa entera. \n Que es? \
n La/El",
adiv4 = "Redondo soy como un pandero, \n quien me tome en verano que use som
brero. \n Que es? \n La/El",
adiv5 = "Y lo es \n Y lo es \n y no lo adivinars \n aunque te d en un mes. \n Q
ue es? \n La/El",
adiv6 = "En rincones y entre ramas \n mis redes voy construyendo, \n para qu
e moscas incautas, \n en ellas vayan cayendo. \n Que es? \n La/El",
adiv7 = "Te la digo y no me entiendes, \n te la repito y no me comprendes. \
n Que es? \n La/El",
adiv8 = "Tengo nombre de animal, \n cuando la rueda se pincha \n me tienes q
ue utilizar. \n Que es? \n La/El",
adiv9 = "Soy ave y soy llana, \n pero no tengo pico ni alas. \n Que es? \n La
/El",
adiv10 = "Todos me quieren para descansar \n si ya te lo he dicho!! \n no pien
ses ms. \n Que es? \n La/El",
respAdiv1 = "PERA",
respAdiv2 = "ESTEBAN",
respAdiv3 = "BOMBILLA",
respAdiv4 = "SOL",
respAdiv5 = "HILO",
respAdiv6 = "ARAA",
respAdiv7 = "TELA",
respAdiv8 = "GATO",
respAdiv9 = "AVELLANA",
respAdiv10 = "SILLA";
//Variable de las preguntas del juego
public static String txtRespJuego = "", preg = "", resp1 = "", resp2 = "", r
esp3 = "", resp4 = "", txtRJ = "",
varPorcB = "",
preg1 = "Blancanieves cae en un hechizo de la bruja por comer una?",
preg2 = "Cuantos jugadores hay en un equipo \nde Baloncesto sin contar los su
plentes?",
preg3 = "Cual de los siguientes animales vive por ms aos?",
{
while (nOp1 != 4)
{
try {
txtOp1 = JOptionPane.showInputDialog(null, "Bienvenido" +
"\n 1. Preliminar del juego" +
"\n 2. Comenzar el juego" +
"\n 3. Ayuda" +
"\n 4. Salir" +
"\n Escoja una opcin ?",
"QUIEN QUIERE SER MILLONARIO?", JOptionPane.INFORMATION_M
ESSAGE);
nOp1 = Integer.parseInt(txtOp1);
switch (nOp1)
{
case 1:
casoPreliminarJuego();
break;
case 2:
casoComenzarJuego();
break;
case 3:
casoAyuda();
break;
case 4:
casoSalirJuego();
break;
default:
casoIncorrecto();
break;
}
} catch(Exception e)
{
casoIncorrecto();
}
}
}
public static void casoPreliminarJuego()
{
do {
Calendar seg1 = new GregorianCalendar();
Calendar min1 = new GregorianCalendar();
respCorrPrel = 0;
sIni = 0;
sFin = 0;
aleatorioPrel = (int)(Math.random()*(max))+min;
segundoIni = Integer.toString(seg1.get(Calendar.SECOND));
minutoIni = Integer.toString(min1.get(Calendar.MINUTE));
if (aleatorioPrel == 1)
{
adiv = adiv1;
respAdiv = respAdiv1;
}
if (aleatorioPrel == 2)
{
adiv = adiv2;
respAdiv = respAdiv2;
}
if (aleatorioPrel == 3)
{
adiv = adiv3;
respAdiv = respAdiv3;
}
if (aleatorioPrel == 4)
{
adiv = adiv4;
respAdiv = respAdiv4;
}
if (aleatorioPrel == 5)
{
adiv = adiv5;
respAdiv = respAdiv5;
}
if (aleatorioPrel == 6)
{
adiv = adiv6;
respAdiv = respAdiv6;
}
if (aleatorioPrel == 7)
{
adiv = adiv7;
respAdiv = respAdiv7;
}
if (aleatorioPrel == 8 )
{
adiv = adiv8;
respAdiv = respAdiv8;
}
if (aleatorioPrel == 9)
{
adiv = adiv9;
respAdiv = respAdiv9;
}
if (aleatorioPrel == 10)
{
adiv = adiv10;
respAdiv = respAdiv10;
}
txtPregPrel = JOptionPane.showInputDialog(null, adiv,
"QUIEN QUIERE SER MILLONARIO?", JOptionPane.INFORMATION_MESSA
GE);
txtPregPrel = txtPregPrel.toUpperCase();
boolean resultado = (respAdiv.equals(txtPregPrel));
if (resultado == true)
{
tiempoResponder();
resp = "Respuesta Correcta";
JOptionPane.showMessageDialog(null, resp + "\nTiempo que se demo
ro en reponder: \n" +
=
=
=
=
Integer.parseInt(segundoIni);
Integer.parseInt(segundoFin);
Integer.parseInt(minutoIni);
Integer.parseInt(minutoFin);
{
resta = mFin - mIni;
if (resta == 1)
{
sFin = sFin + 60;
}
if (resta == 2)
{
sFin = sFin + 120;
}
if (resta == 3)
{
sFin = sFin + 180;
}
}
resEntrar = sIni - sFin;
if (resEntrar < 0)
{
resEntrar = resEntrar * (-1);
}
}
public static void iniciarJuego()
{
confOp = 0;
conf50 = 0;
n = 1;
min = 1;
do
{
confResp = 0;
aleatorioJuego = (int)(Math.random()*(maxJuego))+min;
do
{
switch (aleatorioJuego)
{
case 1:
preg = preg1;
resp1 = "\n 1. " + resPreg1A;
resp2 = "\n 2. " + resPreg1B;
resp3 = "\n 3. " + resPreg1C;
resp4 = "\n 4. " + resPreg1D;
respCorrJuego = 2;
txtRJ = resp2 + resp4;
break;
case 2:
preg = preg2;
resp1 = "\n 1. " + resPreg2A;
resp2 = "\n 2. " + resPreg2B;
resp3 = "\n 3. " + resPreg2C;
resp4 = "\n 4. " + resPreg2D;
respCorrJuego = 3;
txtRJ = resp3 + resp4;
break;
case 3:
preg = preg3;
resp1 = "\n 1. " + resPreg3A;
resp2 = "\n 2. " + resPreg3B;
resp3 = "\n 3. " + resPreg3C;
break;
case 17:
preg = preg17;
resp1 = "\n 1. " + resPreg17A;
resp2 = "\n 2. " + resPreg17B;
resp3 = "\n 3. " + resPreg17C;
resp4 = "\n 4. " + resPreg17D;
respCorrJuego = 1;
txtRJ = resp1 + resp3;
break;
case 18:
preg = preg18;
resp1 = "\n 1. " + resPreg18A;
resp2 = "\n 2. " + resPreg18B;
resp3 = "\n 3. " + resPreg18C;
resp4 = "\n 4. " + resPreg18D;
respCorrJuego = 3;
txtRJ = resp3 + resp4;
break;
case 19:
preg = preg19;
resp1 = "\n 1. " + resPreg19A;
resp2 = "\n 2. " + resPreg19B;
resp3 = "\n 3. " + resPreg19C;
resp4 = "\n 4. " + resPreg19D;
respCorrJuego = 1;
txtRJ = resp1 + resp4;
break;
case 20:
preg = preg20;
resp1 = "\n 1. " + resPreg20A;
resp2 = "\n 2. " + resPreg20B;
resp3 = "\n 3. " + resPreg20C;
resp4 = "\n 4. " + resPreg20D;
respCorrJuego = 1;
txtRJ = resp1 + resp2;
break;
}
if (nPreg == 0)
{
if (confOp == 0 && conf50 == 0)
{
txtRespJuego = JOptionPane.showInputDialog(null, preg +
resp1 +
resp2 +
resp3 +
resp4 +
"\n5. Ayuda del publico" +
"\n6. Ayuda 50:50" +
"\n7. Salir",
"QUIEN QUIERE SER MILLONARIO?", JOptionPane.INFOR
MATION_MESSAGE);
}
if (confOp == 0 && conf50 == 1)
{
txtRespJuego = JOptionPane.showInputDialog(null, preg +
resp1 +
resp2 +
resp3 +
resp4 +
nRespJuego = Integer.parseInt(txtRespJuego);
conf50 = 1;
}
if (nRespJuego == 1 || nRespJuego == 2 || nRespJuego == 3 || nRe
spJuego == 4)
{
if (respCorrJuego == nRespJuego)
{
if (n <= 8 )
{
if(n == 1)
{
vGanado = 500000;
tgSeg = 0;
}
if(n == 2)
{
vGanado = 1000000;
tgSeg = 1;
}
if(n == 3)
{
vGanado = 2000000;
tgSeg = 0;
}
if(n == 4)
{
vGanado = 10000000;
tgSeg = 1;
//min = 5;
}
if(n == 5)
{
vGanado = 15000000;
tgSeg = 0;
}
if(n == 6)
{
vGanado = 30000000;
tgSeg = 1;
//min = 10;
}
if(n == 7)
{
vGanado = 60000000;
tgSeg = 0;
}
if(n == 8 )
{
vGanado = 120000000;
JOptionPane.showMessageDialog(null, "Ha ganado e
l premio mayor\n" +
"Total ganado : $" + miformato.format(vG
anado),
"QUIEN QUIERE SER MILLONARIO?", JOptionPa
ne.INFORMATION_MESSAGE);
casoSalirJuego();
}
if (tgSeg == 1)
{
tGanado = vGanado;
}
confJuego = JOptionPane.showConfirmDialog(null, "Res
puesta Correcta \n" +
"Hasta el momento ha ganado: $" + miformato
.format(vGanado) +
"\nDesea continuar jugando",
"QUIEN QUIERE SER MILLONARIO?", JOptionPane.I
NFORMATION_MESSAGE);
if (confJuego == JOptionPane.YES_OPTION)
{
confirm = 0;
confResp = 0;
nPreg = 0;
}
if (confJuego == JOptionPane.NO_OPTION)
{
JOptionPane.showMessageDialog(null, "Total ganad
o : $" + miformato.format(vGanado),
"QUIEN QUIERE SER MILLONARIO?", JOptionPa
ne.INFORMATION_MESSAGE);
confirm = 1;
confResp = 0;
nPreg = 0;
}
}
}else
{
JOptionPane.showMessageDialog(null, "Respuesta Incorrect
a \n" +
"Total ganado : $" + miformato.format(tGanado),
"QUIEN QUIERE SER MILLONARIO?", JOptionPane.ERROR
_MESSAGE);
confirm = 1;
}
}
if (nRespJuego == 5 && confOp == 0)
{
if (respCorrJuego ==
{
varPorcB = resp1
"\n" + resp3 + " = 16%" + "\n" + resp4 +
}
if (respCorrJuego ==
{
varPorcB = resp1
"\n" + resp3 + " = 20%" + "\n" + resp4 +
}
if (respCorrJuego ==
{
varPorcB = resp1
"\n" + resp3 + " = 50%" + "\n" + resp4 +
1)
+ " = 40%" + "\n" + resp2 + " = 24%" +
" = 20%";
2)
+ " = 30%" + "\n" + resp2 + " = 35%" +
" = 15%";
3)
+ " = 20%" + "\n" + resp2 + " = 15%" +
" = 15%";
}
if (respCorrJuego == 4)
{
varPorcB = resp1 + " = 15%" + "\n" + resp2 + " = 8%" + "
\n" + resp3 + " = 17%" + "\n" + resp4 + " = 60%";
}
JOptionPane.showMessageDialog(null, "Respuesta del Publico"
+
"\n" + varPorcB,
"QUIEN QUIERE SER MILLONARIO?", JOptionPane.INFORMATI
ON_MESSAGE);
confResp = 1;
confOp = 1;
}
if (nRespJuego == 7)
{
casoSalirJuego();
}
if (nRespJuego >= 8 )
{
confResp = 1;
}
if (nRespJuego == 5 && confOp == 1)
{
confResp = 1;
}
if (nRespJuego == 6 && conf50 == 1)
{
confResp = 1;
}
}while(confResp == 1);
n += 1;
}while(confirm == 0);
}
public static void casoAyuda()
{
JOptionPane.showMessageDialog(null, "Reglas\n" +
"Para poder empezar primero tienes que pasar \n el juego prelimi
nar.\n" +
"Premios \n" +
"1a Pregunta
$500,000 \n" +
"2a Pregunta $1,000,000 Queda en Seguridad \n" +
"3a Pregunta $2,000,000 \n" +
"4a Pregunta $10,000,000 Queda en Seguridad \n" +
"5a Pregunta $15,000,000 \n" +
"6a Pregunta $30,000,000 Queda en Seguridad \n" +
"7a Pregunta $60,000,000 \n" +
"8a Pregunta $120,000,000 \n",
"QUIEN QUIERE SER MILLONARIO?", JOptionPane.INFORMATION_MESSAGE);
}
public static void casoSalirJuego()
{
System.exit(0);
}
}