jueves, 11 de noviembre de 2010

Código Fuente del Tetris para Mac


Lo prometido es deuda: a continuación os dejo un enlace al código fuente de este proyecto mio que algún día pretende convertirse en juego.


Para que os podáis orientar un poco por el código tenéis que tener en cuenta dos ficheros: main.m y juegoTetris.m

main.m no llama directamente a juegoTetris.m, si no que llama a otra clase llamada motorPrincipal.m, este paso intermedio se debe a que tenía pensado realizar otro minijuego dentro de este y motorPrincipal.m tendría el menú en donde se elegirían las opciones de juego así como la lista de juegos disponibles. Pero como sólo juegoTetris.m es el juego que está en desarrollo casi podéis ignorar la clase motorPrincipal.m

También podréis observar que he decidido probar con el maravilloso recolector de basura de objective-c y de momento estoy encantado. Pues el uso de CPU no pasa del 5%, así que no consume apenas recursos y si llegase a necesitar recursos se puede desactivar para hacer lo que tenga que hacer que tantos recursos necesite y luego volver a reactivarlo para que recoja toda la basura que he dejado... ¡una maravilla!

Espero vuestros comentarios y aportaciones

Os adelanto que aun no he organizado el código y que podréis encontrar cualquier cosa en los pocos comentarios que he incluido.

Un saludo

6 comentarios:

  1. Muchas gracias por compartir el código fuente de tu juego.

    Veo que has comentado la salida de este código en NSCodeCenter en tema referente a OpenGL. Esta algo escondido en el tema y creo que tu código puede ayudar a mucha gente. A mi personalmente me va a ayudar en lo que a programación gráfica en MAC se refiere.

    Quizá sería bueno crear un nuevo hilo con tu código y que la gente novata tuviera algo para mirarse; aparte ver si se podría hacer sólo con Cocoa, quitando OpenGL y en definitiva proponer a la gente si le apetece hacer modificaciones y/o mejoras de tu código y subir luego estos cambios para aprender todos un poco más.

    Gracias de nuevo. Soy Jorge Sánchez en NSCodecenter

    ResponderEliminar
  2. Gracias a ti Jorge.

    Mi intención es rediseñar el código del juego usando COCOA para que esté más integrado con MAC OSX, pero sin renunciar a OpenGL pues creo que la alternativa es Quartz y tengo entendido que no es tan eficiente.

    Un saludo y gracias de nuevo por tu comentario.

    ResponderEliminar
  3. Ya yo también tenía pensado modificar tu código para integrar con Cocoa lo que es la gestión de la ventana del juego, preferencias y quizá añadir algún botón y cuadro para añadir el nombre del jugador o alguna otra cosa.

    De momento soy novato en esto de MAC y aunque lento espero ir controlando Cocoa.

    A ver que modificaciones es capaz de hacer la gente.

    ResponderEliminar
  4. Me gustaría que cuando lo termines nos enseñes tus progresos.

    Ánimo!

    Un saludo.

    ResponderEliminar
  5. Espero para el fin de semana tener algo, aunque no prometo nada porque no tengo mucho tiempo libre. Sino para la semana que viene tengo algo seguro.

    Aparte quiero cambiar un control que no me convence.

    Lo subire a NSCodecenter.

    ResponderEliminar
  6. Estaré pendiente, yo también lo tengo un poco abandonado, aunque espero retomarlo este fin de semana.

    Un saludo.

    ResponderEliminar