Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Source] Juego de Formula 1 en C

  • 3 Respuestas
  • 5055 Vistas

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

Desconectado wizardsec

  • *
  • Underc0der
  • Mensajes: 31
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Wizard Security
« en: Febrero 06, 2017, 04:32:38 pm »
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" https://github.com/tapio/rlutil/blob/master/rlutil.h
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
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "time.h"
  4. #include <math.h>
  5. #include "rlutil.h"
  6.  
  7. #define INICIO 10
  8. #define FINAL 80
  9. #define SALIDA 1
  10.  
  11. int pedirnumero(int , int );
  12. void crearmeta(int ,int ,int ,int );
  13. void imprimircoches(int ,int ,int [],int );
  14. void crearcoche(int ,int [],int ,int );
  15. void movercoche(int ,int ,int [],int ,int *);
  16. int color(int );
  17. void iniciar(int [], int );
  18.  
  19. int main(){
  20.     int coches;
  21.     int espaciado=4;
  22.     int fila=4;
  23.     int meta=0;
  24.     srand(time(NULL));
  25.     system("color f1");
  26.     setColor(BLACK);
  27.  
  28.     coches=pedirnumero(1,4);
  29.     int columna[coches];
  30.     iniciar(columna,coches);
  31.     //imprimir(columna,coches);
  32.     system("cls");
  33.     crearmeta(INICIO,SALIDA,espaciado,coches);
  34.     crearmeta(FINAL,SALIDA,espaciado,coches);
  35.     imprimircoches(coches,espaciado,columna,fila);
  36.     getch();
  37.  
  38.     do{
  39.         system("cls");
  40.         crearmeta(INICIO,SALIDA,espaciado,coches);
  41.         crearmeta(FINAL,SALIDA,espaciado,coches);
  42.         movercoche(coches,espaciado,columna,fila,&meta);
  43.         Sleep(25);
  44.     }while(!meta);
  45.     getch();
  46.  
  47.     return 0;
  48. }
  49.  
  50. int pedirnumero(int min,int max){
  51.     int num;
  52.     do
  53.     {
  54.         printf("Selecciona entre %d - %d coches: ",min, max);
  55.         scanf("%d",&num);
  56.     }
  57.     while(num<min || num>max);
  58.     return num;
  59. }
  60.  
  61. void crearmeta(int col,int fila,int espaciado,int coches){
  62.     int i;
  63.  
  64.     for(i=0;i<coches*espaciado+5;i++)
  65.     {
  66.         gotoxy(col,fila);
  67.         printf("|");
  68.         fila++;
  69.     }
  70. }
  71.  
  72. void imprimircoches(int coches,int espaciado,int columna[],int fila){
  73.     int i;
  74.     for(i=0;i<coches;i++)
  75.     {
  76.         crearcoche(i,columna,fila,espaciado);
  77.         fila=fila+espaciado;
  78.     }
  79. }
  80.  
  81. void crearcoche(int i,int columna[],int fila,int espaciado){
  82.     setColor(color(i));
  83.     gotoxy(columna[i],fila);
  84.     printf("**    *",columna[i]);
  85.     gotoxy(columna[i],fila+1);
  86.     printf("********");
  87.     gotoxy(columna[i],fila+2);
  88.     printf("**    *");
  89.     setColor(BLACK);
  90. }
  91.  
  92. void movercoche(int coches,int espaciado,int columna[],int fila,int *meta){
  93.     int i;
  94.     int vel=0;
  95.     for(i=0;i<coches;i++)
  96.     {
  97.         vel=rand()%4;
  98.         columna[i]=columna[i]+vel;
  99.         crearcoche(i,columna,fila,espaciado);
  100.         fila=fila+espaciado;
  101.         if(columna[i]>=FINAL-7)
  102.         {
  103.             *meta=1;
  104.         }
  105.     }
  106. }
  107.  
  108. int color(int i){
  109.     int color;
  110.     if(i>9)
  111.     {
  112.         i=rand()%9;
  113.     }
  114.     switch(i){
  115. case 1:
  116.     color=BLUE;
  117.     break;
  118. case 2:
  119.     color=GREEN;
  120.     break;
  121. case 3:
  122.     color=BLACK;
  123.     break;
  124. /*case 1:
  125.     color=10;
  126.     break;
  127. case 2:
  128.     color=3;
  129.     break;
  130. case 3:
  131.     color=11;
  132.     break;*/
  133. case 4:
  134.     color=4;
  135.     break;
  136. case 5:
  137.     color=12;
  138.     break;
  139. case 6:
  140.     color=5;
  141.     break;
  142. case 7:
  143.     color=13;
  144.     break;
  145. case 8:
  146.     color=6;
  147.     break;
  148. case 9:
  149.     color=14;
  150.     break;
  151. default:
  152.     color=RED;
  153.     break;
  154.     }
  155.     return color;
  156. }
  157.  
  158. void iniciar(int columna[], int coches){
  159.     int i;
  160.     for(i=0;i<coches;i++)
  161.     {
  162.         columna[i]=2;
  163.     }
  164. }
  165.  

Imágenes para visualizar el juego previamente




« Última modificación: Febrero 06, 2017, 05:40:10 pm por wizardsec »
Página web: wizardsec.com

Error 404 - Not Found

Conectado Mr.Tru

  • *
  • Underc0der
  • Mensajes: 60
  • Actividad:
    0%
  • Reputación 0
  • Run to win!
    • Ver Perfil
    • Email
« Respuesta #1 en: Marzo 22, 2017, 01:50:32 pm »
tomare prestado tu codigo

Desconectado wizardsec

  • *
  • Underc0der
  • Mensajes: 31
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Wizard Security
« Respuesta #2 en: Marzo 25, 2017, 09:18:15 pm »
tomare prestado tu codigo

Perfecto, no hay problema!

Si vas a añadir algo y quieres postear el código..  ;)
Página web: wizardsec.com

Error 404 - Not Found

Conectado Mr.Tru

  • *
  • Underc0der
  • Mensajes: 60
  • Actividad:
    0%
  • Reputación 0
  • Run to win!
    • Ver Perfil
    • Email
« Respuesta #3 en: Marzo 28, 2017, 06:23:04 pm »
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
« Última modificación: Marzo 28, 2017, 06:28:12 pm por Mr.Tru »

 

¿Te gustó el post? COMPARTILO!



Programa un virus en C sin ser detectado por nada "Source"

Iniciado por Dr0B4ck

Respuestas: 11
Vistas: 17862
Último mensaje Julio 01, 2016, 06:28:35 pm
por fernando0101
Código Fuente de mi juego preferido!

Iniciado por LKI

Respuestas: 1
Vistas: 3591
Último mensaje Noviembre 07, 2014, 05:28:20 pm
por Y3K
Juego de triqui/gato

Iniciado por karurosu

Respuestas: 1
Vistas: 3014
Último mensaje Junio 20, 2014, 11:17:50 pm
por ANTRAX