[ebook]Programacion de videojuegos con SDL
[ebook]Programacion de videojuegos con SDL
[ebook]Programacion de videojuegos con SDL
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
P R O G R A M A C I Ó N D E V I D E O J U E G O S C O N S D LSi (la mosca) tiene alas, entonces vuela.Uno <strong>de</strong> los problemas <strong>de</strong> los sistemas basados en <strong>con</strong>ocimiento es que pue<strong>de</strong>n ocurrirsituaciones como estas.Si (la gallina) tiene alas, entonces vuela.Desgraciadamente para las gallinas, éstas no vuelan. Pue<strong>de</strong>s observar que la<strong>con</strong>strucción para comprobar reglas es muy similar a la <strong>con</strong>strucción IF/THEN <strong>de</strong> loslenguajes <strong>de</strong> programación.Comportamientos y máquinas <strong>de</strong> estadoUna máquina <strong>de</strong> estados está compuesta por por una serie <strong>de</strong> estados y una serie <strong>de</strong>reglas que indican en que casos se pasa <strong>de</strong> un estado a otro. Estas máquinas <strong>de</strong> estados nosperniten mo<strong>de</strong>lar comportamientos en los personajes y elementos <strong>de</strong>l juego. Vamos ailustrarlo <strong>con</strong> un ejemplo. Imagina que en el juego <strong>de</strong> la mansión <strong>de</strong>l terror <strong>de</strong>l capítulo 2 hayun zombie. El pobre no tiene una inteligencia <strong>de</strong>masiado <strong>de</strong>sarrollada y sólo es capaz <strong>de</strong>andar hasta que se pega <strong>con</strong>tra la pared. Cuando suce<strong>de</strong> esto, lo único que sabe hacer esgirar 45 grados a la <strong>de</strong>recha y <strong>con</strong>tinuar andando. Vamos a mo<strong>de</strong>lar el comportamiento <strong>de</strong>lzombie <strong>con</strong> una máquina <strong>de</strong> estados. Para ello primero tenemos que <strong>de</strong>finir los posiblesestados.- Andando (estado 1)- Girando (estado 2)Las reglas que hacen que el zombie cambie <strong>de</strong> un estado a otro son las siguientes.- Si está en el estado 1 y choca <strong>con</strong> la pared pasa al estado 2.- Si esta en el estado 2 y ha girado 45 grados pasa al estado 1.Con estos estados y estas reglas po<strong>de</strong>mos <strong>con</strong>struir el grafo que representa a nuestramáquina <strong>de</strong> estados.Choca <strong>con</strong> la paredAndando (1) Girando (2)Gira 45 gradosFigura 7.2.La implementación <strong>de</strong> la máquina <strong>de</strong> estado es muy sencilla. La siguiente función simula elcomportamiento <strong>de</strong>l zombie.107