Archive for the 'Programacion' Category

Colas y pilas usando estructuras dinámicas (C++)

Aquí os dejo los módulos necesarios para manejar una cola y una pila con listas. Tened en cuenta que estos módulos rara vez vais a tener que modificarlos, por lo que es aconsejable realizar la tarea principal del programa en un módulo aparte y enlazarlo desde donde creais oportuno.

COLAS
Show ▼


PILAS

Show ▼

Y ya está. A seguir estudiando!

¿Cómo hago un makefile? (C++)

Muy fácil.

OPTS = -Wall -ggdb

LIBS =
OBJS = archivo1.o archivo_main.o

ejecutable: $(OBJS)
	g++ $(OPTS) $(OBJS) -o ejecutable $(LIBS)
archivo1.o: archivo1.cc archivo.h
	g++ $(OPTS) -c archivo1.cc -o archivo1.o
archivo2_main.o: archivo_main.cc archivo.h
	g++ $(OPTS) -c archivo_main.cc -o archivo_main.o

clean:
	rm *.o -rf
	clear

Primero creamos las etiquetas OPTS (options), LIBS (libraries), OBJS (objects). La etiqueta options llevará las opciones que usamos a la hora de compilar, en este caso he puesto -Wall para mostrar avisos y -ggdb para pasarlo por el GDB si es necesario. En libraries no he puesto nada porque no he usado ninguna librería de compilación y en objects he puesto los archivos objetos necesarios para la compilación final del programa.

El cuerpo del makefile hay que leerlo de abajo hacia arriba estableciéndose una estructura de requisitos, siendo su objetivo el de conseguir los archivos objetos necesarios para la compilación final. De este modo para crear el archivo “archivo2_main.o” son necesarios los archivos “archivo_main.cc” y “archivo.h” y para crear el “archivo1.o” necesitamos “archivo1.cc” y “archivo.h”, de este modo ya tenemos “archivo1.o” y “archivo_main.o” por lo que podemos crear el “ejecutable” teniendo como requisito $(OBJS) e introduciendo en su línea de compilación las $(LIBS).

De este modo podemos compilar un pequeño programita de 3 archivos en un único ejecutable śolamente con escribir en la terminal “make”. Por otra parte si queréis borrar los objects debéis escribir “make clean”. Y listo. Espero que os sirva ^^.

Adiós LC

Bueno, bueno… pues ya está. La práctica de Lógica Computacional parece que está aprobada, al menos según un mail que me ha mandado la profesora jeje. Como dije hace ya algunas entradas mi pretensión era la de hacer una oca friki totalmente, basándome en El Señor de los Anillos y haciendo así una especie de juego de rol. Finalmente todas esas ideas de niveles y combates contra el programa se quedaron en mi cabeza ya que me faltaba tiempo para ello, así que solamente se quedó implementado el sistema de fichas y de combates entre jugadores.

En cuanto al exámen teórico… pues bueno, hecho está y espero tener al menos un cinco pelado ya que, después de hacerme todos los exámenes colgados en la web de la asignatura y creer ir sobrado, el exámen de este año ha sido totalmente distinto, sintiendo en el momento que me lo pusieron delante como si una mano invisible me pegase una colleja hundiendo mi autoestima. Finalmente creo que no salió tan mal, además tengo un 0,6 por ahí pendiente que me tienen que subir de los exámenes parciales y con un poquito de suerte algo de las prácticas. Así que espero decir pronto adiós a Lógica y decir hola a alguna otra que no me va a gustar tanto, pero es lo que hay.

Bueno, lógicamente (juas, que gracioso soy), no voy a colgar la oca ya terminada y lista para entregar, así que colgaré el sistema de combate para que os flipéis un poquillo. Eso sí, el sistema implementado en el juego final dependía de la raza elegida en cuanto a puntos de vida, fuerza y maná, cosa que no tiene esta versión. Quizás más adelante me curre algún Street Fighter bien hecho :P .

Descargar sistema de combate Prolog

OCA RPG: El Señor de los Anillos

Sí, lamentablemente la informática en mis manos es un arma con la que hacer frikadas innumerables, y esta es una más. Ya desde mediados del cuatrimestre tenía pensado transformar la OCA de las prácticas de Lógica Computacional en algo distinto, en algo así como un RPG donde estuviera presente el combate por turnos y algunos de los atributos que caracterizan a los juegos de rol, lo único que me faltaba era la ambientación. Finalmente he decidido utilizar el mundo de JRR Tolkien como base, ya que es uno de los que más conozco debido a mi adicción a sus libros y me pareció una buena idea.

De este modo he estado perfeccionando el código del programa en Prolog añadiendo un sistema de combate Jugador 1 vs Jugador 2 y de combates aleatorios contra otros enemigos, con distintos tipos de ataque en ambos modos, también un sistema de creación de fichas de usuarios y algunas cosillas más que aún me quedan por hacer. Por el momento el resultado va tomando forma:

Show ▼

Espero que el tiempo que estoy perdiendo con programación lógica me sirva para que me suban un poquillo la nota de práctica o de teoría ^^.

Death Note en C

Se que con esta entrada me puedo llevar muchos capones, aún así voy a ser valiente y me voy a atrever a publicar mi Death Note en C :D . Es muy básica, ya que solo admite 50 víctimas, pero aún así vale la pena tener tu propia Death Note en el ordenador (con fondo negro y todo jajaja). Desde aquí quiero mostrar mi respeto a los programadores, pero no he podido resistirme a hacer tal frikada después de aprender a utilizar registros, así que aquí la tenéis!

Ver Death Note en C

Esta frikada me ha parecido una buena idea para el blog, así que si seguis leyéndome cada poco tiempo encontraréis adaptaciones a C de distintas cosas de animes y mangas o cualquier cosa que se me ocurra ^^.

Ejecutable Death Note en C (Windows)