Está compilado completamente en Borland debido a que es el compilador que exigen en el colegio.
Comenté las líneas de código que pensé sería apropiado explicar.
Código:
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<windows.h>
char clave1[3], c1[20],c2[20],j1[30],j2[30];
int clave[3], ins=0, dado, casilla1=0, casilla2=0, j=1;
void menu(); // predeclaracion del procedimiento menu para comodidad de trabajo
void logo()
{
textcolor(10);
gotoxy(60,2);cprintf(" -- ");
gotoxy(60,3);cprintf(" | | ");
gotoxy(60,4);cprintf(" | | ");
gotoxy(60,5);cprintf(" | | ");
gotoxy(60,6);cprintf(" ------ ------");
gotoxy(60,7);cprintf("| RIP GAMES ® |");
gotoxy(60,8);cprintf(" ------ ------");
gotoxy(60,9);cprintf(" | | ");
gotoxy(60,10);cprintf(" | | ");
gotoxy(60,11);cprintf(" | | ");
gotoxy(60,12);cprintf(" | | ");
gotoxy(60,13);cprintf(" | | ");
gotoxy(60,14);cprintf(" | | ");
gotoxy(60,15);cprintf(" -- ");
textcolor(7);
}
void blink(char palabra[], int cantidad, int tiempo, int color, int x, int y) //emula el pestañeo del blink
{ //parametros: palabra a usar, cantidad de veces q pestañeara, tiempo de cada pestañeo, color de la palabra, coordenadas X-Y
textcolor(color);
for(int i=0;i<cantidad;i++) //de 0 a "cantidad" (controla la cantidad de pestañeos)
{
for(int j=1;j<=(strlen(palabra));j++)//de 1 a "largo de la palabra" (calcula las coordenadas q debe borrar)
{
gotoxy(x+j-1,y);cprintf(" ");//borra "palabra" escrita en la repeticion anterior
}
Sleep(tiempo); //usa el parametro tiempo para saber cuanto dura el parpadeo
gotoxy(x,y);cprintf(palabra); //escribe la palabra
Sleep(tiempo); //vuelve a esperar..
}
textcolor(6); //vuelve al color amarillo caracteristico de la mayoria de los mensajes del juego
}
void salir() //sale de la aplicacion
{
logo();
textcolor(6);
gotoxy(5,5);cprintf("Gracias por probar con juegos RIP GAMES!");
gotoxy(5,18);cprintf("Esperamos que el juego haya sido de su agrado y que lo sigan usando.");
gotoxy(5,19);cprintf("No olvide mantenerse al tanto de las actualizaciones que puedan surgir!");
blink("HASTA PRONTO",5,500,12,15,12);
textcolor(12);
gotoxy(5,21);cprintf("Presione una tecla para salir de la aplicacion. ");
getch();
exit(0);
}
void transambos() //transicion por ambos lados
{
textcolor(15);
int x=1;
for(int j=75;j>1;j--) //de 75 a 2, para controlar las coordenadas X
{
for(int i=24;i>1;i--) //de 24 a 2, controla la coord Y del <<
{
gotoxy(j,i);cprintf(" < ");
i--; //permite el efecto de zig-zag (uno va adelante del otro)
gotoxy(j+1,i);cprintf(" < ");
}
for(int i=1;i<24;i++) //de 1 a 23, controla la coord Y del >>
{
gotoxy(x,i);cprintf(" > ");
i++; //permite el efecto de zig-zag (uno va adelante del otro)
gotoxy(x+1,i);cprintf(" > ");
}
x++; //otro contador como la J, pero para la cortina contraria (aumenta)
Sleep(30); //tiempo de espera para mover de columna (mover en X)
}
clrscr();
textcolor(7);
}
void transizq() //transicion hacia la izquierda
{
textcolor(15);
for(int j=77;j>1;j--)//controla las X
{
for(int i=24;i>1;i--) //controla las Y
{
gotoxy(j,i);cprintf(" < ");
i--; //permite el zig-zag
gotoxy(j+1,i);cprintf(" < ");
}
Sleep(15); //tiempo de espera para mover de columna (mover en X)
}
clrscr();
textcolor(7);
}
void transder() //transicion hacia la derecha
{
textcolor(15);
for(int j=1;j<77;j++) //controla las X
{
for(int i=1;i<24;i++) //controla las Y
{
gotoxy(j,i);cprintf(" > ");
i++; //permite el zig-zag
gotoxy(j+1,i);cprintf(" > ");
}
Sleep(15); //tiempo de espera para mover de columna (mover en X)
}
clrscr();
textcolor(7);
}
void instrucciones()
{
textcolor(3);
gotoxy(12,2);cprintf("* * * * * INSTRUCCIONES * * * * *");
textcolor(3);
gotoxy(7,4);cprintf("Objetivos del juego:");
textcolor(6);
gotoxy(7,5);cprintf(" - Llegar con su ficha de jugador hasta la casilla 57 para ganar!");
gotoxy(7,6);cprintf(" - Aumentar las capacidades de razonamiento logico de los alumnos.");
gotoxy(7,7);cprintf(" - Entretener al publico en general.");
textcolor(3);
gotoxy(7,9);cprintf("Requerimientos de hardware Recomendados:");
textcolor(6);
gotoxy(7,10);cprintf(" -16 mb de memoria ram.");
gotoxy(7,11);cprintf(" - Procesador de 1 ghz.");
gotoxy(7,12);cprintf(" - Espacio libre en disco duro: 6 mb.");
textcolor(3);
gotoxy(7,14);cprintf("Requerimientos de Software Recomendados:");
textcolor(6);
gotoxy(7,15);cprintf(" - Sistema Operativo: windows 98/XP/Vista/7");
gotoxy(7,16);cprintf(" - Controladores Requeridos por el Hardware del equipo.");
gotoxy(7,18);system("PAUSE");
transizq();
textcolor(3);
gotoxy(10,2);cprintf("* * * Logistica y reglas * * *");
textcolor(6);
gotoxy(2,4);cprintf("1- Cada ficha se movera de acuerdo al numero indicado por el dado.");
gotoxy(2,6);cprintf("2- El dado se lanzara automaticamente cada 4 segundos.");
gotoxy(2,8);cprintf("3- Gana el jugador cuya ficha se posicione justo sobre la casilla 57,");
gotoxy(2,9);cprintf("es decir, la casilla LLEGADA.");
gotoxy(2,11);cprintf("4- Si un jugador saca una cantidad excesiva a la requerida para ganar,");
gotoxy(2,13);cprintf(" debera devolverse tantos espacios como cantidad de casillas se haya excedido");
gotoxy(2,15);cprintf(" EJEMPLO: si le falta 1 casilla para ganar y saca 3 en el dado,");
gotoxy(2,16);cprintf(" debera devolverse 2 casillas.");
gotoxy(5,19);system("PAUSE");
transder();
textcolor(3);
gotoxy(20,2);cprintf("* * * * Elementos del menu * * * *");
textcolor(6);
gotoxy(2,4);cprintf("1- Inscripcion de los jugadores: ");
gotoxy(2,5);cprintf("Esta opcion se usa para registrar a ambos jugadores, solicitandoles sus nombres");
gotoxy(2,6);cprintf("y cedulas de identidad. Una vez registrados ambos, el sistema genera una");
gotoxy(2,7);cprintf("clave de 4 digitos que debera ser ingresada por los usuarios antes del juego.");
gotoxy(2,9);cprintf("2- Juego Ludo version 1.0 (dos jugadores): ");
gotoxy(2,10);cprintf("Opcion que da acceso al juego solicitando la clave de registro dada.");
gotoxy(2,11);cprintf("Crea el tablero de juego, lanza el dado cada 4 segundos y mueve las fichas ");
gotoxy(2,12);cprintf("hasta que alguna de ellas llegue a la casilla 57. Luego, muestra el nombre");
gotoxy(2,13);cprintf("del ganador en una pantalla de premiacion.");
gotoxy(2,15);cprintf("3- Instrucciones: ");
gotoxy(2,16);cprintf("Muestra los objetivos del juego, los requerimientos de software y hardware");
gotoxy(2,17);cprintf("para su optima ejecucion, las reglas y explica los elementos del menu.");
gotoxy(2,19);cprintf("4- Salir: ");
gotoxy(2,20);cprintf("Esta opcion permite salir de la aplicacion mediante un mensaje de despedida.");
gotoxy(2,22);
system("PAUSE");
transizq();
menu();
}
void limpiardatos() //vacia todas las variables con datos de la sesion
{
textcolor(12);
gotoxy(5,19);cprintf("Sus datos han sido reiniciados.");
gotoxy(5,20);cprintf("Debera volver a ingresar toda la informacion solicitada anteriormente.");
gotoxy(5,22);system("PAUSE");
textcolor(7);
strcpy(c1,"");strcpy(c2,"");strcpy(j1,"");strcpy(j2,"");ins=0;casilla1=0;casilla2=0;
}
void mickey()
{
textcolor(15);
gotoxy(5,5);cprintf("::::::::::::::::::::::::::::::::::::::::::");
gotoxy(5,6);cprintf("::::::::::-''''''-::::::::::::::::::::::::");
gotoxy(5,7);cprintf("::::::::' ':::::::::::::::::::::::");
gotoxy(5,8);cprintf(":::::::' '::::::::::::::::::::::");
gotoxy(5,9);cprintf("::::::: ::::::::::::::::::::::");
gotoxy(5,10);cprintf("::::::: ''''''''''-::::::::::::");
gotoxy(5,11);cprintf("::::::::. d@MZ#%z.X.'::::::::::");
gotoxy(5,12);cprintf("::::::::::,.... %D6kX7:!#M'.'::' '::");
gotoxy(5,13);cprintf(":::::::::::::: '@MRMX9$b?'Rc'> ::");
gotoxy(5,14);cprintf("::::::---::::: #M5M?''& :H. ::");
gotoxy(5,15);cprintf(":::' '': ..... ^%D&. :HM<@Mx..d':");
gotoxy(5,16);cprintf(":: HI@MD6@huXM5@8$@XS@MI@l::");
gotoxy(5,17);cprintf(":: )6@R#^'7MBMMR6@RB6NI6@F,::");
gotoxy(5,18);cprintf(":: 'M5@d5x'5@RI@@IM@$B@*),:::");
gotoxy(5,19);cprintf("::. ,, 'M8@RI@n '*R5@MR*'',:::::");
gotoxy(5,20);cprintf(":::. ':::,.*R6*E#> ,.::::::::");
gotoxy(5,21);cprintf(":::::,,....,::::::::,,::.': _ .~,:::::::::");
gotoxy(5,22);cprintf("::::::::::::::::::::::::::,,..,:::::::::::");
textcolor(7);
}
void premio(char jugador[]) // genera la pantalla de premiacion, dando el nombre del ganador
{
clrscr();
textcolor(6);
gotoxy(4,3);cprintf("Felicitaciones %c !!! ",jugador);
gotoxy(4,4);cprintf("Usted es el feliz ganador del JUEGO LUDO VERSION 1.0");
gotoxy(4,5);cprintf("Al ser esta una version BETA de la aplicacion, su recompensa sera otorgada");
gotoxy(4,6);cprintf("por el Profesor Luis Vallenilla.");
gotoxy(4,8);cprintf("En versiones futuras se agregaran mas atracciones, novedades e increibles");
gotoxy(4,9);cprintf("premios que no puede dejar pasar!");
gotoxy(4,11);cprintf("Asi que no espere mas, comuniquese de inmediato a cualquiera de nuestros");
gotoxy(15,13);cprintf(" correos: pierorex141@hotmail.com");
gotoxy(25,14);cprintf("rostyn15@hotmail.com");
gotoxy(25,15);cprintf("linares-12@hotmail.com");
blink(jugador,15,300,12,17,3);
limpiardatos();
transambos();
menu();
}
void lanzar() // genera el numero aleatorio entre 1 y 6
{
srand(time(0)); //inicializa la funcion alearotia, tomando como variacion los segundos de la PC
dado=(rand()%6)+1; // dado = numero aleatorio entre (0 y 5)+1 es decir: 1 y 6
Sleep(4000);
gotoxy(44,8);cprintf("%i",dado); // escribe el numero del dado en la casilla correspondiente
}
void jugar() // juega... desde aki se llama a "lanzar"
{ // y es el q maneja las jugadas (movimientos de fichas)
int jugada=0, x1=2, y1=30, coord2[1];
coord2[0]=4; coord2[1]=30;
do
{
jugada++; //indica de quien es el turno (par:j2 impar:j1)
lanzar();
if(jugada%2!=0) // juega el usuario 1
{
gotoxy(40,22);cprintf(" ");
gotoxy(42,22);cout<<j1;
casilla1=casilla1+dado; // cuenta las casillas q recorremos
for(int i=1;i<16;i++) // limpia las posiciones anteriores del jugador 1
{
gotoxy(2,2*i);cprintf(" ");
gotoxy(4*i-2,2);cprintf(" ");
gotoxy(62,2*i);cprintf(" ");
gotoxy(4*i+2,28);cprintf(" ");
gotoxy(30,2*i);cprintf(" ");
}
if(casilla1<14) // chequea si estamos en el pasillo 1 (casillas 1 a 13)
{
y1=30; x1=2; // coordenadas iniciales del pasillo 1
for(int i=0;i<casilla1;i++) // desde 0 hasta casilla1 (de 0 a lo q sake el dado)
{
y1=y1-2; // le restamos 2 a la Y, tantas veces como indique el dado
} // usamos 2 porque el tamaño vertical de las casillas es 2 digitos
}
else if((casilla1>13)&&(casilla1<30)) // chequea si estamos en el pasillo 2 (casillas 14 a 29)
{
y1=2; x1=2; // coordenadas iniciales del pasillo 2
for(int i=14;i<casilla1;i++) // desde 14 hasta lo acumulado en casilla
{
x1=x1+4; // usamos 4 porque el tamaño horizontal de las casillas es 4 digitos
}
}
else if((casilla1>29)&&(casilla1<43)) // chequea si estamos en el pasillo 3 (casillas 30 a 42)
{
y1=2; x1=62;
for(int i=29;i<casilla1;i++)
{
y1=y1+2;
}
}
else if((casilla1>42)&&(casilla1<51)) // chequea si estamos en el pasillo 4 (casillas 43 a 50)
{
y1=28; x1=62;
for(int i=42;i<casilla1;i++)
{
x1=x1-4;
}
}
else if(casilla1>50) // chequea si estamos en el pasillo 5 (casillas 51+++)
{
y1=28; x1=30;
for(int i=50;i<casilla1;i++)
{
y1=y1-2;
}
if(casilla1==57) // chequea si el jugador ganó (si quedó sobre la 57)
{
gotoxy(30,14);cprintf("$");
Sleep(5000);
premio(j1); //manda el nombre del jugador como parametro a "premio()"
}
if(casilla1>57) // chequea si se pasó y debe devolverse los cuadros de exceso
{ //calculamos el exceso y se lo restamos a 57 para obtener el numero de
casilla1=57-(casilla1-57); // casilla donde deberia quedar el usuario
y1=14; x1=30; // coordenadas finales del pasillo 5
for(int i=57;i>casilla1;i--)//de 57 hasta casilla donde queda el usuario (menor a 57)
{
y1=y1+2; // sumamos a Y porque debe bajar (devolverse casillas)
}
}
}
gotoxy(x1,y1);cprintf("$");// escribe la ficha en su posicion dependiendo de los ciclos anteriores
}
else // juega el usuario 2
{
gotoxy(40,22);cprintf(" ");
gotoxy(42,22);cout<<j2;
casilla2=casilla2+dado; // cuenta las casillas q recorremos
for(int i=1;i<16;i++) // limpia las posiciones anteriores del jugador 2
{
gotoxy(2+2,2*i);cprintf(" ");
gotoxy(4*i-2+2,2);cprintf(" ");
gotoxy(62+2,2*i);cprintf(" ");
gotoxy(4*i+2+2,28);cprintf(" ");
gotoxy(30+2,2*i);cprintf(" ");
}
if(casilla2<14) // chequea si estamos en el pasillo 1 (casillas 1 a 13)
{
coord2[1]=30; coord2[0]=2+2;
for(int i=0;i<casilla2;i++)
{
coord2[1]=coord2[1]-2;
}
}
else if((casilla2>13)&&(casilla2<30)) // chequea si estamos en el pasillo 2 (casillas 14 a 29)
{
coord2[1]=2; coord2[0]=2+2;
for(int i=14;i<casilla2;i++)
{
coord2[0]=coord2[0]+4;
}
}
else if((casilla2>29)&&(casilla2<43)) // chequea si estamos en el pasillo 3 (casillas 30 a 42)
{
coord2[1]=2; coord2[0]=62+2;
for(int i=29;i<casilla2;i++)
{
coord2[1]=coord2[1]+2;
}
}
else if((casilla2>42)&&(casilla2<51)) // chequea si estamos en el pasillo 4 (casillas 43 a 50)
{
coord2[1]=28; coord2[0]=62+2;
for(int i=42;i<casilla2;i++)
{
coord2[0]=coord2[0]-4;
}
}
else if(casilla2>50) // chequea si estamos en el pasillo 5 (casillas 51+++)
{
coord2[1]=28; coord2[0]=30+2;
for(int i=50;i<casilla2;i++)
{
coord2[1]=coord2[1]-2;
}
if(casilla2==57) // chequea si el jugador ganó (si quedó sobre la 57)
{
gotoxy(32,14);cprintf("%");
Sleep(5000);
premio(j2);
}
if(casilla2>57) // chequea si se pasó y debe devolverse los cuadros de exceso
{
casilla2=57-(casilla2-57);
coord2[1]=14; coord2[0]=30+2;
for(int i=57;i>casilla2;i--)
{
coord2[1]=coord2[1]+2;
}
}
}
gotoxy(coord2[0],coord2[1]);cprintf("%"); // escribe la ficha en su posicion dependiendo de los ciclos anteriores
}
}
while(1==1);
}
void tablero()
{
gotoxy(12,29);cprintf("SALIDA");
for(int y=29;y>1;y--) // crea el pasillo 1
{
gotoxy(1,y-1);cprintf("| |");
gotoxy(1,y);cprintf("|___|");
y--;
Sleep(200);
}
gotoxy(2,1);cprintf("___");
for(int x=5;x<60;x++) // crea el pasillo 2
{
gotoxy(x,1);cprintf(" ___");
gotoxy(x,2);cprintf("| |");
gotoxy(x,3);cprintf("|___|");
x++;x++;x++;
Sleep(200);
}
gotoxy(62,1);cprintf("___");
for(int y=2;y<30;y++) //crea el pasillo 3
{
gotoxy(61,y);cprintf("| |");
gotoxy(61,y+1);cprintf("|___|");
y++;
Sleep(200);
}
for(int x=61;x>28;x--) //crea el pasillo 4
{
gotoxy(x,27);cprintf(" ___");
gotoxy(x,28);cprintf("| |");
gotoxy(x,29);cprintf("|___|");
x--;x--;x--;
Sleep(200);
}
for(int y=28;y>15;y--) //crea el pasillo 5
{
gotoxy(29,y);cprintf("| |");
gotoxy(29,y+1);cprintf("|___|");
y--;
Sleep(200);
}
gotoxy(30,15);cprintf("___");
gotoxy(28,13);cprintf("LLEGADA");
Sleep(500);
gotoxy(42,6);cprintf(" ___");
Sleep(500);
gotoxy(42,7);cprintf("| |");
Sleep(500);
gotoxy(42,8);cprintf("| |");
Sleep(500);
gotoxy(42,9);cprintf("|___|");
gotoxy(43,10);cprintf("DADO");
Sleep(500);
gotoxy(35,20);cprintf(" ______________________");
Sleep(500);
gotoxy(35,21);cprintf("| |");
Sleep(500);
gotoxy(35,22);cprintf("| |");
Sleep(500);
gotoxy(35,23);cprintf("|______________________|");
Sleep(500);
textcolor(15);
gotoxy(2,30);cprintf("$");
gotoxy(4,30);cprintf("%");
}
int comparar(int clave[], int clave2[],char clave1[]) //compara la clave del sistema con la introducida por los usuarios
{
for(int i=0;i<4;i++) //transforma la clave dada por el usuario de char a int (de 0 a 3 porque son 4 digitos)
{
for(int x=48;x<58;x++) //va de 48 a 57 (10 numeros) ya que la clave son solo numeros (del 0 al 9)
{
if(clave2[i]==x)//si la introducida por usuario en posicion i es igual a x (cualquier numero entre 48 y 58)
clave1[i]=x-48;//se guarda como un numero: x - 48 (el numero que haya salido - 48) 48: ascii de 0
} // EJM: ascii del 7=55, entonces 55-48=7
}
for(int i=0;i<4;i++) // compara la clave del sistema con la transformada a int
{
if(clave[i]!=clave1[i]) //si las claves en posicion i son diferentes
return(1); //devuelve valor 1 (sera usado como negacion)
}
return(0); //si no devuelve 1 en el ciclo, significa que son iguales y devolvera 0 (sera usado como afirmacion)
}
void leerclave(int clave2[]) // lee la clave que introducira el usuario
{
for(int i=0;i<4;i++) // de 0 a 3 (4 digitos)
{
clave2[i]=getch(); // lee caracter por caracter
gotoxy(49+i,4);cprintf("*"); // coloca un * por cada digito
}
}
void generar(int clave[]) // crea la clave de 4 digitos en el procedimiento de inscripcion
{
gotoxy(5,8);cprintf("Clave de registro: ");
for(int i=0;i<4;i++) // de 0 a 3 (4 digitos)
{
srand(time(0)); //inicializa secuencia aleatoria tomando como valor variable los segundos del reloj de la PC
clave[i]=(rand()%9)+1; //a la posicion i le asigna valor aleatorio entre (0 y 8) +1, es decir entre 1 y 9
gotoxy(24+i,8);cprintf("%i",clave[i]); //escribe la clave para su visualizacion
Sleep(2500);
}
gotoxy(5,9);system("PAUSE");
}
void llenar(char cadena[]) //llena una cadena char, usado para llenar nombres y cedulas
{
cin>>cadena;
}
void inscripcion(char nombre[], char ci[]) //
{
clrscr();
textcolor(3);
gotoxy(10,2);cprintf(" * * * Inscripcion del jugador %i",j);cprintf(" * * *"); //j indica el numero de jugador
textcolor(6);
gotoxy(5,4);cprintf("Ingrese su nombre: ");
llenar(nombre);
textcolor(4);
gotoxy(5,11);cprintf("No venezolanos: usar inicial de su pais antes de la cedula.");
textcolor(6);
gotoxy(5,5);cprintf("Ingrese su cedula de identidad: ");
llenar(ci);
if(j==2) //si se esta registrando el usuario 2, se borra la advertencia de la cedula y se lleva j a 1
{
gotoxy(5,11);cprintf(" ");
j=1;
}
else
j=2; //si se esta registrando el usuario 1, se lleva j a 2
}
void juego() // el cuerpo del juego
{
int clave2[3], error=0;
do
{
clrscr();
textcolor(3);
gotoxy(5,2);cprintf("JUEGO LUDO V1.0 <--> POR: RIP GAMES, C.A.");
textcolor(6);
gotoxy(5,4);cprintf(" Ingresen su clave de registro, por favor: ");
leerclave(clave2);
if(comparar(clave,clave2,clave1)!=0) //compara el valor de retorno de comparar, si dio 1 (diferente a 0) es error
{
textcolor(12);
gotoxy(5,6);cprintf("ERROR: Clave incorrecta...");
error++; // suma 1 a la cantidad de errores
gotoxy(5,8);
system("PAUSE");
}
else // si comparar retorna 0, la clave es legal
{
transder();
textcolor(6);
gotoxy(3,7);cprintf("Clave correcta!");
gotoxy(3,8);cprintf("Por favor maximize la ventana de juego para una optima experiencia");
gotoxy(3,10);
system("PAUSE");
transambos();
textcolor(3);
tablero(); // crea el tablero
jugar(); //comienza a mover las fichas para jugar
break;
}
}
while(error<3); // si llega a 3 errores, se limpian los datos y vuelve al menu principal
limpiardatos();
transizq();
menu();
}
void menu() // MENU PRINCIPAL
{
char r; // variable de eleccion del menu
do
{
clrscr();
textcolor(3);
gotoxy(15,2);cprintf("* * * Menu Principal * * *");
textcolor(6);
gotoxy(5,4);cprintf("1- Inscripcion de los jugadores");
gotoxy(5,5);cprintf("2- Juego Ludo version 1.0 (dos jugadores)");
gotoxy(5,6);cprintf("3- Instrucciones");
gotoxy(5,7);cprintf("4- Salir");
gotoxy(5,8);cprintf(" Elija la opcion de su preferencia: ");
cin>>r;
switch(r)
{
case '1': //caso de inscripcion
ins=1; //pasa a 1 la bandera para indicar que ya se han registrado los jugadores
transder();
inscripcion(j1,c1);
transizq();
inscripcion(j2,c2);
generar(clave);
transder();
menu();
break;
case '2': //caso del juego
if(ins==1) //si esta bandera no esta accionada, no entra al juego porque no se han registrado
{
transizq();
juego();
}
else
{
textcolor(12);
gotoxy(10,10);cprintf("Deben inscribirse los jugadores antes de poder jugar");
gotoxy(10,12);system("PAUSE");
menu();
}
break;
case '3': //caso de instrucciones
transder();
instrucciones();
break;
case '4': //caso de salida
transizq();
salir();
break;
default:
textcolor(12);
gotoxy(5,10);cprintf("Error: Debe elegir entre 1-4");
gotoxy(5,12);system("PAUSE");
}
}
while(1==1); //repite el menu siempre
}
void bienvenida() //...
{
clrscr();
textcolor(3);
gotoxy(13,2);cprintf("Juego Ludo V1.0 --- Por: RIP GAMES, C.A.");
logo();
textcolor(6);
gotoxy(3,5);cprintf("4to Anno, sección: B, Administracion: Procesamiento de Datos");
gotoxy(10,7);cprintf("Programadores: Jean Hernandez #10");
gotoxy(26,8);cprintf("Yeljhornan Linares #12");
gotoxy(26,9);cprintf("Rosty Marquez #15");
gotoxy(10,11);cprintf("Profesor Luis Vallenilla");
gotoxy(10,13);cprintf("Lunes, 7 de Diciembre de 2009");
textcolor(15);
for(int b=0;b<10;b++) //barra de carga (de 1 a 10) en 10 segundos +/-
{
gotoxy(30,17);cprintf("%i",b*10);cprintf("%"); //numero *10 (simula porcentaje alto)
gotoxy(b+26,19);cprintf("®"); //mueve la barra superior
gotoxy(26,20);cprintf(" "); //limpia la barra inferior
for(int a=1;a<11;a++)
{
gotoxy(a+25,20);cprintf("®"); // mueve barra inferior
Sleep(100); //cada 0.1 segundos aumenta la barra inferior
}
}
gotoxy(30,17);cprintf("100%"); //indica fin de la carga
textcolor(6);
gotoxy(15,23);cprintf("Aplicacion cargada completamente");
gotoxy(15,24);system("PAUSE");
transambos();
menu();
}
void sponsor() //presentacion tipo pelicula
{
clrscr();
textcolor(2);
gotoxy(50,13);cprintf("RIP GAMES");
gotoxy(51,15);cprintf("Presents");
logo();
Sleep(4000);
transder();
textcolor(3);gotoxy(30,3);cprintf("In association with Disney Pictures");
mickey();
Sleep(4000);
transizq();
bienvenida();
}
main()
{
SetConsoleTitle("Juego Ludo V 1.0 <<<>>> By: RIP GAMES, C.A.");
strcpy(j1,""); strcpy(j2,""); //vacia las cadenas para desechar basura
sponsor();
getch();
}/*
0 = Negro 8 = Gris
1 = Azul 9 = Azul claro
2 = Verde A = Verde claro
3 = Aguamarina B = Aguamarina claro
4 = Rojo C = Rojo claro
5 = Púrpura D = Púrpura claro
6 = Amarillo E = Amarillo claro
7 = Blanco F = Blanco brillante
*/
Aceptadas las criticas destructivas y constructivas / sugerencias / aclaraciones / modificaciones / etc etc etc
Salu2
DosNuker