elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Simulacion la tortuga y la liebre[C]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Simulacion la tortuga y la liebre[C]  (Leído 8,369 veces)
HRSLASH

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Simulacion la tortuga y la liebre[C]
« en: 22 Marzo 2011, 05:21 am »

Hola gente del foro!! Comparto un programita q hice q simula, como dice el titulo, la famosa carrera entre la tortuga y la liebre.. lo q represento en los vectores correspondientes a cada animal, son las acciones de los mismos en la carrera, q pueden ser avanzar, retroceder o quedarse dormido segun el num aleatorio q salga.. cuando ambos competidores compartan el mismo cuadro la tortuga mordera a la liebre.. y ovbiamente ganara el q 1ro llegue a la meta..
Bueno espero comentarios y sugerencias!!
Saludos!!

P.D: el codigo lo hice en linux por lo tanto el system("clear") tira error si no se ejecuta en ese OS

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. #define SIZE 71
  5.  
  6. int printRace(int [][SIZE], int, int, int);
  7.  
  8. main()
  9. {
  10.    srand(time(NULL));
  11.    int row, column, raceTrack[3][SIZE];
  12.    int tortoise = 1, hare = 1, finish;
  13.  
  14.    printf("BANG!!%63s%ds\nAND THEY 'RE OFF!!\n\n", "Time: ", 0);
  15.    finish = printRace(raceTrack, tortoise, hare, SIZE);
  16.  
  17.    if (finish == 1)
  18.        printf("\nTORTOISE WINS\n");
  19.    else if (finish == 2)
  20.        printf("\nHare wins\n");
  21.    else
  22.        printf("\nIt's a tie\n");
  23.  
  24.  
  25.    return 0;
  26. }
  27.  
  28.  
  29.  
  30.  
  31.  
  32. int printRace(int rt[][SIZE], int t, int h, int size)
  33. {
  34.    void wait(int);
  35.  
  36.    int tortoiseArray[10] = {3, 3, 3, 3, 3, -6, -6, 1, 1, 1};
  37.    int hareArray[10] = {0, 0, 9, 9, -12, 1, 1, 1, -2, -2};
  38.    int timer = 1, row, column;
  39.  
  40.    while (t < size - 1 && h < size - 1){
  41.        for (row = 1; row < 3; row++){
  42.            for (column = 1; column < size; column++){
  43.                if (t != h || t == 1){
  44.                    if (row == 1 && column == t)
  45.                        printf("%c", 'T');
  46.                    else if (row == 2 && column == h)
  47.                        printf("%c", 'H');
  48.                    else
  49.                        printf("_");
  50.                }
  51.                else{
  52.                    if (row == 1 && column == t)
  53.                        printf("%c", 'T');
  54.                    else if (row == 2 && column == h)
  55.                        printf("%s", "OUCH!!!");
  56.                    else
  57.                        printf("_");
  58.                }
  59.            }
  60.            printf("\n");
  61.        }
  62.        t += tortoiseArray[rand() % 10];
  63.        h += hareArray[rand() % 10];
  64.        if (t < 1)
  65.            t = 1;
  66.        if (h < 1)
  67.            h = 1;
  68.        if (t > size - 1)
  69.            t = size - 1;
  70.        if (h > size - 1)
  71.            h = size - 1;
  72.        wait(1);
  73.        printf("%69s%ds","Time: ", timer++);
  74.        system("clear");
  75.        printf("\n\n\n");
  76.    }
  77.  
  78.    for (row = 1; row < 3; row++){
  79.        for (column = 1; column < size; column++){
  80.            if (row == 1 && column == t)
  81.                printf("%c", 'T');
  82.            else if (row == 2 && column == h)
  83.                printf("%c", 'H');
  84.            else
  85.                printf("_");
  86.        }
  87.        printf("\n");
  88.    }
  89.  
  90.    if (t == size - 1 && h == size -1)
  91.        return 0;
  92.    else if (t == size -1)
  93.        return 1;
  94.    else
  95.        return 2;
  96. }
  97.  
  98. void wait(int seconds)
  99. {
  100.    clock_t endwait;
  101.    endwait = clock() + seconds * CLOCKS_PER_SEC;
  102.    while (clock() < endwait);
  103. }
  104.  
  105.  


En línea

La televisión es para mi el medio mas instructivo y cultural que conozco, cuando la prenden me voy a leer
<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Re: Simulacion la tortuga y la liebre[C]
« Respuesta #1 en: 23 Marzo 2011, 00:48 am »

Ya lo prove se ve demasiado divertido jeje... felicidades


En línea

<<<--Basura-->>>
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Grabadora Hp 9100 se volvio tortuga!!!
Software
Duncan McLeod 4 3,010 Último mensaje 26 Febrero 2003, 16:12 pm
por Duncan McLeod
MI PC es más lenta que una tortuga!
Dudas Generales
SpuTniK. 5 4,753 Último mensaje 8 Junio 2010, 18:44 pm
por luinuz
Módulo Tortuga, una duda con el CUADRADO
Programación General
tornrohola 1 2,878 Último mensaje 6 Junio 2011, 23:46 pm
por tornrohola
Simulador de "La tortuga y la Liebre" :)
Programación General
reethok 0 6,282 Último mensaje 23 Diciembre 2011, 12:39 pm
por reethok
Graficos de Tortuga (C++)
Programación C/C++
HRSLASH 2 5,521 Último mensaje 5 Marzo 2012, 15:31 pm
por HRSLASH
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines