([Versión imprimible](https://github.com/glantucan/puzzle_game/blob/gh-pages/printableSlides/Tema_0_Presentacion.md))
* [Instrucciones para participar en el foro](./instruccionesForo.html) ## [Glosario de programación](https://github.com/glantucan/puzzle_game/wiki/Glosario-de-programacion) ## [Enlaces a tutoriales recomendados](./EnlacesTutoriales.html) ### [Colección de Ejercicios de Repaso Básicos](https://github.com/glantucan/puzzle_game/blob/master/printableSlides/Ejercicios%20Unity_1.5.pdf) Hay ejercicios de condicionales, bucles, arrays y unos pocos de Listas. Si os cuestan haced primero los de los tutoriales del enlace anterior. ## Tema 0: Vectores y conceptos matemáticos básicos * [Ejericios de Vectores y matemáticas](https://github.com/glantucan/math_exercises) ## Tema 1: Repaso y conceptos básicos * [Transparencias](./client/t01_repaso_client.html)
([Versión imprimible](https://github.com/glantucan/puzzle_game/blob/gh-pages/printableSlides/Tema_1_Repaso.md)) * Descargas del proyecto de ejemplo * [Proyecto de partida (sin código)](https://github.com/glantucan/puzzle_game/archive/00_BareProject.zip) * **Última versión siempre aquí** ([Grupo A](https://github.com/glantucan/deim_A/archive/master.zip) || [Grupo B](https://github.com/glantucan/DEIM_B/archive/master.zip)) * **Versión 1** ([Grupo A](https://github.com/glantucan/deim_A/archive/8e2cdb4382a5fbfebdd3d45861a1b2785aa2f7fb.zip) (Oct 6, 2016) || [Grupo B](https://github.com/glantucan/DEIM_B/archive/1e4ffbd36c4f81eba74a821658ab41e399fefd3d.zip) ( Oct 6, 2016))
Movimiento básico del personaje con las teclas de flecha o WASD. * **Versión 2** ([Grupo A](https://github.com/glantucan/deim_A/archive/1d14e1100b881f28c95e950b468386d5654f6920.zip) (Oct 7, 2016) || [Grupo B](https://github.com/glantucan/DEIM_B/archive/d0371d44d07246b08be543775a7da7d7a8883ee8.zip) ( Oct 7, 2016))
Detección y activación de un botón. Triggers y rigidbodies. Funciones evento para detección de triggers. Configuración del rigidbody y el collider para funcionar como trigger. * **Versión 3** ([Grupo A](https://github.com/glantucan/deim_A/archive/cda79b39d729c2213a96f838d0e7e22fe57121ac.zip) (Oct 13, 2016))
Añadida la corrección del examen. * **Versión 4** ([Grupo A](https://github.com/glantucan/deim_A/archive/90eaef99f61dd552aa2faa29c42d1b7ba36e67cd.zip) (Oct 14, 2016) )
Añadida la corrección de los ejercicios 13 y 14 (escalera con escalones alternos y escalera con descansillos). * **Versión 5** [Grupo A](https://github.com/glantucan/deim_A/archive/865ef80ca4717b77fb91c07f226f0039515dcb56.zip) (Oct 17, 2016) Encender las luces de activación del botón. Introducción a la definición de funciones propias. [Grupo B](https://github.com/glantucan/DEIM_B/archive/e29cb0d4ef545a056375e1915a5b2f346cd574d8.zip) (Oct 14, 2016)) Encender las luces de activación del botón. Creación de animaciones simples. ~~(También incluye corrección del examen)~~. No es verdad. Coged la [versión 4 del grupo A](https://github.com/glantucan/deim_A/archive/90eaef99f61dd552aa2faa29c42d1b7ba36e67cd.zip) (Debí de pisar la versión que contenía la corrección en alguno de los múltiples cambios de clase). [Grupo B](https://github.com/glantucan/DEIM_B/archive/73de5c6845893f8b2a4797b7748912727b1a84a3.zip) (Oct 17, 2016) Lanzamiento de animaciones desde el código. * ** Versión 6** ([Grupo B](https://github.com/glantucan/DEIM_B/archive/6f14fb341d155df6d38438dac7771317a85515f6.zip) (Oct 18, 2016) Conceptos de encapsulado y abstracción. Definición de funciones de diferentes tipos.
* ** Versión 7** ([Grupo A](https://github.com/glantucan/deim_A/archive/a80ce66577b8d93e69bf9face3a2e1a2447afe61.zip) (Oct 19, 2016))
Realización de la acción correspondiente a un botón (levantar una rampa), antes de encapsular y abstraer en funciones. * ** Versión 8** ([Grupo A](https://github.com/glantucan/deim_A/archive/8361db22638f5ff5c9567c802ccbafddb33cdd9e.zip) (Oct 20, 2016) || [Grupo B](https://github.com/glantucan/DEIM_B/archive/f6a7ca37425caa62f913d2fde342e371e91f1d20.zip) (Oct 20, 2016)) Versión definitiva del código para los botones, encapsulada y abstraída en varias funciones. Las versiones de cada grupo han quedado ligeramente diferentes, echadles un vistazo a ambas para ver dos de los posibles enfoques: * La del grupo A no realiza comprobaciones innecesarias y esconde el truco para deducir el nombre del target de la acción en otra función. * La del B es más abstracta. Por ejemplo: `SetChildActive()` es más reutilizable que las funciones del grupo A. Sin embargo se están realizando comprobaciones que no son necesarias. **RETO para nota:** Escribir una versión del código que tome lo mejor de ambos enfoques. ### Lecturas complementarias **y necesarias**: * Entender los scripts de Unity y la Unity scripting API * Detección de colisiones y Triggers en Unity * Arrays y listas en C# * [Ejercicios de Arrays y `List