Hola a todos!
Os voy a dejar aquí posteado un juego que he creado para una práctica del ciclo superior (DAM) que estoy haciendo!
Para poder compilar os hará falta la librería "rlutil.h" No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
El código está hecho para un mínimo de 1 coche y un máximo de 4, pero es fácilmente ampliable modificando la línea nº28
Espero que os guste, si alguien lo prueba puede dejar un comentario!!
Código: c
Imágenes para visualizar el juego previamente




Os voy a dejar aquí posteado un juego que he creado para una práctica del ciclo superior (DAM) que estoy haciendo!
Para poder compilar os hará falta la librería "rlutil.h" No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
El código está hecho para un mínimo de 1 coche y un máximo de 4, pero es fácilmente ampliable modificando la línea nº28
Espero que os guste, si alguien lo prueba puede dejar un comentario!!
#include <stdio.h>
#include <stdlib.h>
#include "time.h"
#include <math.h>
#include "rlutil.h"
#define INICIO 10
#define FINAL 80
#define SALIDA 1
int pedirnumero(int , int );
void crearmeta(int ,int ,int ,int );
void imprimircoches(int ,int ,int [],int );
void crearcoche(int ,int [],int ,int );
void movercoche(int ,int ,int [],int ,int *);
int color(int );
void iniciar(int [], int );
int main(){
int coches;
int espaciado=4;
int fila=4;
int meta=0;
srand(time(NULL));
system("color f1");
setColor(BLACK);
coches=pedirnumero(1,4);
int columna[coches];
iniciar(columna,coches);
//imprimir(columna,coches);
system("cls");
crearmeta(INICIO,SALIDA,espaciado,coches);
crearmeta(FINAL,SALIDA,espaciado,coches);
imprimircoches(coches,espaciado,columna,fila);
getch();
do{
system("cls");
crearmeta(INICIO,SALIDA,espaciado,coches);
crearmeta(FINAL,SALIDA,espaciado,coches);
movercoche(coches,espaciado,columna,fila,&meta);
Sleep(25);
}while(!meta);
getch();
return 0;
}
int pedirnumero(int min,int max){
int num;
do
{
printf("Selecciona entre %d - %d coches: ",min, max);
scanf("%d",&num);
}
while(num<min || num>max);
return num;
}
void crearmeta(int col,int fila,int espaciado,int coches){
int i;
for(i=0;i<coches*espaciado+5;i++)
{
gotoxy(col,fila);
printf("|");
fila++;
}
}
void imprimircoches(int coches,int espaciado,int columna[],int fila){
int i;
for(i=0;i<coches;i++)
{
crearcoche(i,columna,fila,espaciado);
fila=fila+espaciado;
}
}
void crearcoche(int i,int columna[],int fila,int espaciado){
setColor(color(i));
gotoxy(columna[i],fila);
printf("** *",columna[i]);
gotoxy(columna[i],fila+1);
printf("********");
gotoxy(columna[i],fila+2);
printf("** *");
setColor(BLACK);
}
void movercoche(int coches,int espaciado,int columna[],int fila,int *meta){
int i;
int vel=0;
for(i=0;i<coches;i++)
{
vel=rand()%4;
columna[i]=columna[i]+vel;
crearcoche(i,columna,fila,espaciado);
fila=fila+espaciado;
if(columna[i]>=FINAL-7)
{
*meta=1;
}
}
}
int color(int i){
int color;
if(i>9)
{
i=rand()%9;
}
switch(i){
case 1:
color=BLUE;
break;
case 2:
color=GREEN;
break;
case 3:
color=BLACK;
break;
/*case 1:
color=10;
break;
case 2:
color=3;
break;
case 3:
color=11;
break;*/
case 4:
color=4;
break;
case 5:
color=12;
break;
case 6:
color=5;
break;
case 7:
color=13;
break;
case 8:
color=6;
break;
case 9:
color=14;
break;
default:
color=RED;
break;
}
return color;
}
void iniciar(int columna[], int coches){
int i;
for(i=0;i<coches;i++)
{
columna[i]=2;
}
}
Imágenes para visualizar el juego previamente



