[Source] Juego de Formula 1 en C

Iniciado por wizardsec, Febrero 06, 2017, 04:32:38 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 06, 2017, 04:32:38 PM Ultima modificación: Febrero 06, 2017, 05:40:10 PM por wizardsec
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 los links. Registrarse o Entrar a mi 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

#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





Página web: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Error 404 - Not Found


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
tomare prestado tu codigo

Perfecto, no hay problema!

Si vas a añadir algo y quieres postear el código..  ;)
Página web: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Error 404 - Not Found

Marzo 28, 2017, 06:23:04 PM #3 Ultima modificación: Marzo 28, 2017, 06:28:12 PM por Mr.Tru
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
tomare prestado tu codigo

Perfecto, no hay problema!

Si vas a añadir algo y quieres postear el código..  ;)
eso intentare pero primero tengo que entender bien toda tu logica y despues ver si dan mis conocimientos para poder editarlo y meter una grafica simple en 2D no esperes mas que autos estaticos en movimiento XD
PD: no tengo tratando con las librerias como la descargo