Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: snake_linux en 6 Septiembre 2015, 13:45 pm



Título: [Aportación] Poketty, batallas pokemon en tu terminal.
Publicado por: snake_linux en 6 Septiembre 2015, 13:45 pm
Hola a tod@s, hoy en vez de preguntaros una duda, voy a hacer una aportación, hace tiempo me ayudasteis a resolver unas cuantas dudas sobre un juego que estaba haciendo, bueno pues ya voy por la versión 1.2, se trata de un simulador de batallas pokemon, pero en vez de ser en modo gráfico, es en modo terminal, por ende, en modo texto (no esperéis una experiencia tipo pokemon por que no tiene nada que ver).

(http://hispagnu.no-ip.org/imagenes/poketty1.2.png)

Poketty usa archivos .pkm (extensión que me he inventado) para crear pokemons que se cargarán en el juego al arrancar, en esos archivos se configura los ataques, la fuerza de los mismos, las veces que los puedes usar, número de pociones, nombre del pokemon etc... los .pkm son simples ficheros de configuración, por lo que crear .pkm es muy muy sencillo, la estructura es:

Código:
#nombre del pokemon
nombre=
#vida del pokemon
pv=
#ataques del pokemon
ataque1=
ataque2=
ataque3=
ataque4=
#puntos de daño mínimo del pokemon, es decir, la fuerza mínima de los ataques, corresponden con los ataques anteriores en orden
pd1_min=
pd2_min=
pd3_min=
pd4_min=
#puntos de daño máximo del pokemon, es decir, la fuerza máxima de los ataques, corresponden con los ataques anteriores en orden
pd1_max=
pd2_max=
pd3_max=
pd4_max=
#puntos de poder del pokemon, es decir, las veces que puedes usar un ataque en la partida, corresponden
#a los ataques anteriores y a los pd anteriores
pp1=
pp2=
pp3=
pp4=
#numero de pociones que tiene el pokemon
pociones=

Se rellenan esos valores, se guarda en un .pkm en el mismo directorio que el ejecutable y se tipea el nombre del .pkm cuando se te pida, evidentemente, son necesarios dos para cada batalla.

A partir de la 1.1 tiene modo contra CPU, al principio era solo contra otro amigo, por turnos.

En la 1.2 se añades puntos de daño mínimos para cada ataque, antiguamente era siempre 0, por lo que cada ataque no tenía un mínimo de daño más que 0.

En vez de escribir el código aquí en geshi, pongo el enlace para descargar el .tar ya que el código es demasiado extenso para leerlo via web:

http://hispagnu.no-ip.org/poketty/descargas.html (http://hispagnu.no-ip.org/poketty/descargas.html)

Para compilarlo simplemente hacer un:

Código:
gcc poketty.c -o poketty

PD: Solo lo he probado en linux, en otras plataformas no se si funcionaría, pero no creo que adaptarlo sea muy dificil, el caso es que como es en modo consola, le veo más sentido para linux que están más acostumbrados.

Decidme si os gusta y si os parece ya un proyecto relativamente importante en C.