Superpatito memorex        

Super Patito Bros

Super patito bros 3 es una pequeña imitación del célebre juego Super Mario Bros 3 de la NES (Nintendo Entertainment System).

Si lo que buscas es código fuente en lenguaje c para poder hacer tu primer juego en Turbo C (por ejemplo: un proyecto de la escuela), te recomiendo que vayas a mi sección de trucos para hacer un juego que se encuentra abajo.
Super patito bros es un juego en lenguaje c compilable en turbo c++ 3.0 para msdos. Tiene aproximadamente 28000 lineas de código. Esto es nada mas para demostrar lo que se puede hacer en lenguaje C
patito.zip, 306.0 Kb

has clic para descargar el juego y el código fuente.



Y por si buscas otro juego más sencillo: memoria

¿como instalar el juego?
Descomprime el archivo zip en alguna carpeta de tu computadora.
Abre el archivo "Patito.exe" desde Msdos o Windows. El juego se abrirá.
Para elegir un nivel, muevete sobre el nivel con las flechas del teclado y presiona "Enter" para empezar.
Usa las flechas del teclado para desplazarte y saltar, avanza a la derecha hasta el final de la pantalla y cambiaras de escena.
La tecla Control te permite disparar si estas como pinguino rojo.
Con la tecla de Espacio podras volar un poco.
Para salir del juego presiona F4

El código fuente:
Para aquellos que quieren el código fuente hay unos cuantos trucos IMPORTANTES que considerar para compilar el código fuente:

El código fuente es para Turbo C++ 3.0, no he podido compilarlo con otros programas.
----nesecitas activar las librerías de graficos, eso se hace en el menú, selecciona "Options -> Linker -> Libraries", aparecerá una ventana de título "Libraries", debes activar la opción que dice "Graphics Library", y presiona "OK".
----necesitas cambiar la forma en que genera el código el compilador, eso se hace en el menú, selecciona "Options -> Compiler -> Code generation", aparecerá una ventana con 3 cuadros verdes, ve a la que dice "Model", seleciona la opción "Huge" y presiona "OK".
----nesecitas crear un nuevo proyecto y agregar todos los archivos con extensión ".C", eso se hace en el menú, selecciona Project -> Open project..., aparecerá una ventana con el título "Open project file", pero "open" en este caso no es para abrir un proyecto sino para crear un nuevo proyecto, escribe un nombre para el proyecto y presiona el boton OK. Se cerrará la ventana y aparecerá un cuadro azulverdoso en la parte inferior de la pantalla con el título "Project: Nombre del proyecto". Ve nuevamente al menú project -> add item... , aparecerá un cuadro con el título add to project list, seleciona un archivo con extención ".C" y has clic en el botón add. Has lo mismo con los demas archivos ".C". Y finalmente has clic en Done. Compila mientras este abierta la ventana de patito.c porque es el archivo principal, si no está abierto has doble clic en patito.c en la ventana del proyecto.

Sobre los archivos:
"PATITO.EXE" Es el juego en ejecutable msdos.
"EGAVGA.BGI" es el driver de graficos de 16 colores 640 X 480.
"patito.C" Es el archivo C principal.
"patito1.C", "patito2.C" y "patito3.C" son parte del mismo juego.
"MUNDO0.C" Es el código de cada nivel en el juego.
"Editor.C" El editor de nivel.
"teclado.h" Es una utilidad para el funcionamiento de varias teclas simultaneas.
"teclas.h" Es una lista de los scancodes.
"0.txt" Es el mapa del mundo.
"0-0.txt" ... "x-x.txt", son los mapas de cada escena.
"0-0.tim" ... "x-x.tim", son los mapas de cielo
"0.tic" Es el archivo de configuracion de nivel.
"mouse.com" Es un instalador del driver del mouse. Usalo sólamente cuando estés en modo MSdos y no aparesca el ratón en el editor
Los archivos BMP se cargan dentro del juego


Trucos para hacer un juego:
"muy util si vas a hacer tu primer juego"

Iniciar el modo gráfico:
Hay varios tipos de modo gráfico, el más sencillo de iniciar pero no el más bonito es el de 640x480 a 16 colores.
Haciendo un poco más de esfuerzo, puedes importar un driver externo de gráficos e iniciar 1280x1024 a color real.


Iniciando gráficos a 640x480x16
Funciona en MSdos, Freedos, Win9x, Dosbox, Win NT/XP (ntvdm.exe).
Basicamente la función usada es initgraph(), la cual inicia el modo gráfico elegido. Es importante tener el archivo "Egavga.bgi" en la misma carpeta del programa, o en donde se crea el programa al compilar, ya que es el driver de graficos que se utiliza.
Les dejo el archivo para iniciar gráficos, dentro del archivo dejo bien comentado que es lo que hace cada cosa.
Código fuente
Driver de graficos
Ejecutable


Iniciando gráficos en color real
Funciona en MSdos, Freedos, Win9x.
Este modo de color real es color a 24 bits.
Las resoluciones disponibles para el color real son: 320x200, 640x350, 640x400, 640x480, 800x600, 1024x768, 1280x1024.
En el archivo graficos.c vienen definidas varias funciones para poder dibujar en color real.
En el caso del color real si queremos dibujar algo, hay que definir primero el colo y luego la figura. Por ejemplo: para dibujar un pixel se usa primero RealColor() para definir el color y luego putpixel() para dibujar el pixel.
En el archivo graficos.c viene comentado como se usan las funciones, parte del texto está en ingles.
Es importante repartir el archivo "SVGATC.BGI" junto con nuestros programas para que funcionen, ya que es el driver de gráficos.
Código fuente: graficos.C
Código fuente: SVGAUTIL.H
Driver de graficos: SVGATC.BGI
Ejecutable


Uso del ratón o mouse:
Funciona en MSdos o Freedos (usando driver mouse.com), Win9x, Dosbox, Win NT/XP (ntvdm.exe).
Realmente no es muy complicado, aunque no entendamos nada sobre registros ni ensamblador, podemos agregar fácilmente el raton a nustros programas. Básicamente lo que hay que hacer es usar la función mostrar_raton() definida en el archivo, hacer un ciclo poniendo adentro estado_boton_posicion(), y poner condiciones if(botonraton== ) para que se cumplan al presionar los botones, y que nuestro programa haga lo que queramos con esos botones.
Código fuente: raton.C
Ejecutable


Uso del teclado, reconociendo varias teclas al mismo tiempo:
Funciona en tiempo real en MSdos o Freedos, Win9x. Tiene un pequeño retardo en Dosbox, Win NT/XP (ntvdm.exe)
Esta forma de usar el teclado es muy útil en juegos de acción o programas que requieren un uso complejo del teclado.
Con estas librerías podrás presionar varias teclas al mismo tiempo y el programa lo reonocerá. Por ejemplo puedes presionar "a", "s" y "d" al mismo tiempo y aparecerá en la pantalla.
Es imposible que te reconosca cualquier combinación de teclas, porque electrónicamente el teclado no está hecho para eso, pero si te reconocerá muchas combinaciones.
Es muy fácil utilizar esta librería del teclado, ya que no nececitamos conocimientos sobre ensamblador, ni interrupciones, ni scancodes, ni sobre puertos, etc.
En el archivo "Teclado.c" lo que se hace es utilizar una función InstalaTeclado(), que carga nuestras rutinas de interrupciones, luego el vector tecla[] nos dirá que tecla está presionada, pero hay que utilizar las constantes que vienen en el archivo "teclas.h", por ejemplo: "KEY_T" o "KEY_ESPACIO", y las insertas en el vector de esta manera: "tecla[KEY_T]" o "tecla[KEY_ESPACIO]". Al terminar el programa debemos utilizar: DesinstalaTeclado() para restaurar las rutinas anteriores del teclado.
El programa es muy sencillo de entender y utilizar.
Código fuente: Teclado.c
Código fuente: teclado.h
Código fuente: teclas.h
Ejecutable




Requerimientos para jugar:
Sistemas operativos compatibles:
MSdos, Freedos, Windows 3.1/95/98/98SE o compatible.
Procesador PII, 32MB de RAM, 8MB de espacio libre en disco duro.

Para usuarios de Windows:
Ya que este es un juego para MSdos, las versiones recientes de Windows ya no ejecutan nativamente los programas MSdos, ahora lo emulan con un programa interno. Esto causa que el juego no funcione como debería o no funcione en lo absoluto.
Las versiones de Windows incompatibles son:
NT, XP (en algunas configuraciones), Vista, Seven, y posteriores.
Algunos de los problemas comunes son:
-El teclado tiene hasta 1 segundo de retraso.
-No obedece el teclado.
-No inicia el modo gráfico.
-No funciona nada.
Puedes crear un disco de inicio de MSdos en cualquier version de Windows para poder jugar

Para usuarios de MSdos:
Para quienes no les aparece el ratón, seguramente es porque no lo han instalado.
Para solucionar este problema he incluido el archivo "mouse.com", que instala un driver genérico para el ratón. Ejecútalo antes de iniciar el juego.

Historia Super Patito Bros
El juego fue empezado en la única computadora que tenía, una Pentium III a 500MHz, 192MB de RAM, 40GB de disco con Windows 98SE (una computadora excelente para la época).
Actualmente sigo programando este juego en esa misma computadora.
La razón de esto es que en sistemas operativos más modernos como Windows XP, no ejecutan programas MSDOS si no que ¡lo emulan!, por lo que el juego tiene retraso en el teclado, y en algunas computadoras no funciona el juego.
Hice este juego porque fué un proyecto de programación 1.
Como verán, este es el primer juego que he hecho por lo que tiene muchos errores, y lo he continuado aún despues de haber pasado la materia.

Salida de la primera versión, la 0.0.00 en enero del 2007. Esta fue la que presenté para programación 1.
Versión 0.0.08: reconocimiento de múltiples teclas a la vez.
Versión 0.0.10: multiples niveles.
Versión 0.0.20: Juego multiarchivo, 3 archivos para el código fuente.
Versión 0.0.28: aparece nivel 3 y 4, correción de múltiples bugs.
Versión 0.2.00: Reescrito la función para detección de colisiones, corrección de bugs en el agua.
Versión 0.2.02: Reducción del parpadeo de los personajes.
Versión 0.2.04: Texto gráfico y de colores.
Versión 0.2.06: Ajuste de la velocidad del juego a 24 Cuadros por segundo, sin importar la velocidad del procesador.
Versión 0.2.08: Aparicion de un pequeño editor de mundo sencillo.
Versión 0.2.10: Creacion de archivos de mapa para cielo, ahora al romper bloques o agarrar monedas el cielo adquiere el color segun ese mapa.
Versión 0.2.12: Ahora la seleccion de nivel es libre.
Versión 0.2.14: Nuevo enemigo: las minas voladoras.
Versión 0.2.16: Bloques mejorados: Las nitroglicerinas explotan.
Versión 0.2.18: Efectos al romper bloques.
Versión 0.2.20: Efectos de los disparos.

Proximamente:
Disponibilidad de los niveles 4 al 9, (niveles vacios).
Los niveles 4 al 9 tienen autodeteccion de bloques. Ahora no nececitan modificarse desde el código fuente para editar un nivel.
Los niveles 4 al 9 cargan los enemigos desde un archivo externo, ya no se nececita modificar el código fuente.
Nuevo peligro: Balas, balines y disparos.
Apareceran las famosas tortugas.


Sobre el Autor:
Me llamo Thierry y soy estudiante del la UAQ. Si tienes alguna duda o algo que comentar, aqui te dejo mi correo electrónico: Thierry_2222@hotmail.com (no uso msn).
Espero que te guste mi juego.













Truco:
Supr (suprimir) elimina los patos del escenario