10.07.2015 Views

[ebook]Programacion de videojuegos con SDL

[ebook]Programacion de videojuegos con SDL

[ebook]Programacion de videojuegos con SDL

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!