Taller: Juegos

Aprende JS jugando

  • Hola, alguna vez te has preguntado a ti mismo como se hacen los videojuegos que tanto te gustan jugar; cómo fue que los hicieron sus creadores; te has preguntado si tú mismo serias capaz de crear un juego; la realidad del mundo actual te dice que si, que niños y adolescentes de cualquier lugar del mundo tienen en la actualidad la oportunidad de crear juegos por si mismos
  • 'Juegos' ha sido creado como una forma de brindarte la oportunidad de aprender código de programación de videojuegos a una edad temprana; de modo de nivelarte con respecto a tus pares de otras latitudes

  • 'Juegos' al igual que 'Aulas' tiene dos (02) partes: la primera, es este mismo espacio donde se explica el tema que se esta presentando; luego la segunda parte, es el 'editor web' donde se exhiben tanto el 'código' del juego como su 'renderizado'
  • para usar el editor sigue las mismas instrucciones dadas en la introduccion de 'Aulas'

  • cómo codificar un juego en JS
  • el código de los juegos presentados en este taller, te mostrara la logica pensada para diseñar cada juego y, poco a poco te ira enseñando cual es la estructura general de un juego; aprenderas que primero se planea paso a paso como se va a desarrollar un juego, por ejemplo:
  • paso 1 – para comenzar, debes usar un editor de código
  • paso 2 – debes crear un lienzo de juego (canvas); es decir esta sera la primera pieza de codigo que escribiras, la cual especifica la altura y el ancho del canvas (lienzo)
  • paso 3 – codificar al jugador; luego haraz lo mismo con el protagonista del juego
  • pasos 4, 5, 6 ... – codificar al enemigo, luego codificar cada una de las diferentes acciones que quieres implementar en el juego

  • Este taller busca que aprendas conceptos y codigos practicando con desafíos divertidos
  • como una forma de despertar tus habilidades en programación de juegos mientras te diviertes y te haces notar
  • ¡Diviértete con tus amigos de barrio, compañeros de colegio o compañeros de deporte en juegos de programación multijugador y muéstrales quién manda!
  • con el tiempo unate a concursos internacionales de programación en línea; para divertirte, para obtener premios o quizas la gloria.

Adivina un número

  • En el cuadro de entrada, ingresa un número entre 1 y 10. La computadora también genera un número entre 1 y 10. Si ambos coinciden, entonces ganas, de lo contrario pierdes

  • en Aula Javascript: Tema 2 vimos como podemos crear tanto una funcion como un boton y. como los unimos para que el navegador (chrome) ejecute la funcion y se logre el efecto que el usuario desea cuando hace click en el boton;
  • ahora, en este juego pueden ver lo mismo, como el boton esta unido a la función match() mediante el atributo onclick que se ha hecho sea igual a la funcion (button onclick='match()')

  • ahora, en Aula Javascript: Tema 4 vimos como la función llamada document.querySelector nos da la capacidad de examinar la pagina web y extraer un elemento html para poder manipularlo; en este caso el 'querySelector' busca y encuentra el elemento llamado input accede a su propiedad llamada 'value' y nos permite manipularla; en este caso, entrar cualquier numero entre 1 - 10; y recuerden que el punto (.) es la llave de la puerta que le permite al 'querySelector' acceder a la propiedad

  • noten que al elemento p se le ha dado una identificaccion 'id' que es igual a 'result'; esto ha sido con el fin de para luego crear la variable 'var result' la cual se ha hecho sea igual a la funcion llamada document.getElementById('result') la cual va a buscar y ubicar el elemento html que tiene el 'id= result'

  • noten que la 'funcion document.getElementById('result')' al igual que 'querySelector' tambien va busca y encuentra un elemento html pero de modo diferente; mientras que el 'querySelector' lleva el nombre del elemento entre parentesis, 'getElementById' lleva la identificacion 'id' entre parentesis; pero ademas la diferencia mas importante es que la 'funcion getElementById' no accede a la propiedad del elemento html, solo busca y encuentra el elemento.

Diana

  • cuando queremos crear un juego, primero tenemos que descifrar como resolverlo y, para ello, empezamos por enumerar los pasos o actividades que se llevaran a cabo durante el desarrollo del juego; uno por uno y en forma ordenada; uno tras otro; como cuando describimos que es lo primero que hacemos al despertarnos por la manana: nos despertamos, luego nos levantamos, luego nos dirigimos al bano y nos enjuagamos la boca, la cara, y hacemos pi, luego regresamos al dormi y nos vestimos, y asi seguimos describiendo las acciones matutinas

  • en js se tiene lo que se denomina 'comentar'; son lineas de texto que se pueden incluir en un script para hacer un comentario explicativo de las instrucciones que se estan especificando; no son instrucciones solo son explicaciones, por lo tanto no tienen ningun efecto de ejecucion; y el modo como se diferencian de las instrucciones es que siempre van precedidas por dos signos diagonales (//), los cuales hacen que automaticamente las letras tomen un color gris claro
  • en el presente ejercicio noten dichos comentarios que. en este caso: 1) van describiendo la secuencia de acciones que se ejecutaran durante el desarrollo del juego y, 2) van especificando el codigo que se ha creado para ir ejecutando cada accion del juego

  • // centro del objetivo = var target; // segmento de linea de interseccion de destino = var lineSegment; // punto de rotacion del arco = var pivot; // configurar inicio del evento de arrastre = window.addEventListener("mousedown", draw);
  • // tirar de la flecha hacia atras = function draw(e); // obtener la posicion del mouse en relacion con la posicion y la escala de svg = function aim(e); // hácerlo más difícil agregando un ángulo aleatorio cada vez = variables
  • // lanzamiento de la flecha, // duplicar la fecha, // animar la flecha a lo largo del camino, //ocultar la flecha anterior = function Loose()
  • // comprobar si hay colisiones entre la flecha y el objetivo = function hitTest(tween); // Damn = function onMiss(); // manejar todas las animaciones de texto proporcionando selector = function showMessage(selector)
  • // normalizar la posicion del mouse dentro de las coordenadas svg = function getMouseSVG(e)
  • // encontrar el punto de interseccion de dos segmentos de linea y si el punto esta o no en cualquiera de los segmentos de linea = function getIntersection(segment1, segment2)

Rodar los Dados

  • en Aula Javascript: Tema 9 vimos como en la mayoria de los casos es preferible separar el codigo js de todo elemento html

  • en el presente juego se han disenado tres (3) botones para ejecutar el juego: Nuevo juego, Rodar dados, Esperar; y a cada boton hemos considerado asignarles la funcion 'document.querySelector()' para acceder a su propiedad onclick mediante la adicion de un eventListener asi '.addEventListener('click',function() {}'

  • ahora, comenzamos a especificar las instrucciones que daran vida al juego (las instrucciones que el navegador chrome ejecutara para producir los efectos que deseamos)
  • empiezamos por enumerar las variables (pasos o acciones o objetos que intervienen en este juego); en este caso tenemos las variables: scores, roundScore, activePlayer, gamePlaying; las cuales luego incluimos en la funcion 'function init(){}'; asignandoles un valor inicial de cero (0) a cada variable de puntaje y, al juego en si mismo le asignamos un valor 'true' (verdadero)
  • el juego empieza con 'Jugador 1' haciendo click en el boton 'Rodar dados', el cual tiene asignado la funcion 'document.querySelector('.btn-roll').addEventListener('click',function(){}; a la cual se le ha asignado 'condiciones' (if, else) que se tienen que cumpli para que el juego se desarrolle como se desea
  • luego, para indicar que es el turno del 'Jugador 2' se hace click en boton 'Esperar' el cual tiene asignado la funcion 'document.querySelector('.btn-hold').addEventListener('click',function(){}; a la cual se le ha asignado 'condiciones' (if, else) que se tienen que cumpli para que el juego se desarrolle como se desea; y para efectos de puntaje esta funcion esta ligada a la funcion 'function nextPlayer(){}'
  • luego, para iniciar un nuevo juego se hace click en el boton 'Nuevo juego' el cual tiene asignado la funcion 'document.querySelector('.btn-new').addEventListener('click',init);
  • que es lo que esta diciendo esta funcion?
  • en Aula Javascript: Tema 8 vimos como querySelector encuentra, accede y actualiza el valor de su innerHTML configurandolo para que sea igual a cualquiera que sea el valor de la variable counter; en este caso, al hacer click en el boton 'Nuevo juego' le esta diciendo que actualice los valores de puntaje configurandolos para que sean igual a los valores establecidos en la function 'function init(){}'

Piedra, Papel & Tijera

  • en juego anterior Rodar los Dados vimos que se disenaron tres (3) botones para ejecutar el juego y, que ha cada boton se considero asignarles la funcion 'document.querySelector()' para acceder a su propiedad onclick mediante la adicion de un eventListener.

  • ahora, en el presente juego tambien se han disenado tres (3) botones: 'Piedra', 'Papel', 'Tijera' para ejecutar el juego; y, a los cuales tambien se les ha asignado la funcion 'document.querySelector()' para acceder a su propiedad onclick pero con dos diferencias respecto al juego anterior
  • la primera diferencia, es que ahora a cada boton se le ha asignado la misma clase 'player-option'
  • la segunda diferencia, es que ahora se esta usando la variante del querySelector denominada 'document.querySelectorAll('.player-option')'; la cual, lleva los terminos 'All' y entre parentesis la clase 'player-option' que significa que querySelector ira en busca de todos los elementos boton a los que se les ha asignado la clase 'player-option'

  • luego, empezamos por definir las variables que van a intervenir en el juego: player, computer, playerScore, computerScore; luego, definimos que accederemos a player y computer por medio de la funcion 'document.getElementById'; luego establecemos que playerScore y computerScore tienen un score initial de juego con un valor de cero (0)
  • luego, establecemos que al iniciar el juego un eventListener dara la voz de alerta de que el juego se ha iniciado
  • creamos la funcion 'function playGame() {}'; la cual, contiene las instrucciones de: animacion, tiempo de espera, exhibir el score

  • en esta ultima instruccion: 'exhibir el score', se esta utilizando la funcion: displayPlayerScore.innerHTML = `Jugador: ${playerScore}`; la cual, en su segundo componenete (despues del signo =) esta mostrando lo que en js se denomina un 'template literal'
  • hablaremos sobre 'template literal' en proximos ejercicios

Air Bomb Game

  • en Aula CSS: Las reglas @keyframes & @media senalamos que la regla @keyframes se utiliza para especificar códigos de animación; y, que para utilizar keyframes se crea una regla de @keyframes con un nombre

  • este juego se basa en animaciones mediante la regla @keyframes
  • los objetos y elementos que conforman el juego son: las nubes (clouds), los aviones (airplanes), el escenario de fondo (stage), el controlador del tiempo de juego (timer), el fin del juego (gameover)
  • al @keyframes clouds_move se le ha asignado 10 frames de animacion; al @keyframes airplane_move se le ha asignado 21 animaciones
  • al resto de elementos y objetos que forman parte del juego se les ha asignado @keyframes como se observa en el editor
  • mencion aparte acerca de los @keyframes intro, @keyframes intro-timer; estos @keyframes estan referidos a la pantalla de introduccion al juego, la cual muestra un semaforo con animacion de sus luces

  • el contenido restante de los tags 'style' estan referidos a especificar detalles y estilos de los objetos del juego; prestenle atencion sobre todo a las especificaciones indicadas para nubes y aviones

  • instrucciones para jugar
  • este juego, como ya se menciono, es sobre aviones
  • la misión es bombardearlos haciendo click en ellos.
  • presten atención, el juego es con tiempo y solo tienen 15 segundos para disparar a todos los aviones
  • la puntuación cambia según sea el tipo de avion
  • Disfrutenlo

Taller: Juegos 2

Pila de Blocks

  • este juego es un clone de 'Stack'; un juego de apilamiento de bloques que se puede enontrar en el 'App Store'
  • un clone es una copia de un juego existente que ha sido hecho por otro programador; pero cambiando el diseno y/o proposito del juego, sin embargo manteniendo las mismas caracteristicas y funcionalidad; con ello, logrando captar una audiencia diferente

  • ahora, como veran de entrada la imagen es de tipo SVG
  • en Aula Animaciones: SVG Animación vimos que es SVG
  • luego en Aula Animaciones: SVG Animación 2 vimos el uso de CSS @keyframes para hacer las animaciones
  • ahora, en este juego la animacion del objeto SVG se hace mediante el uso de js

  • como debe ser, se empieza por definir los 'elementos html' que van a intervenir en el juego, en este caso: state, scene, blocks, score, start, instructions, getDepth, setCSS; y, luego los usamos para definir las variables usando 'const'
  • luego para buscar y encontrar estos elementos en el DOM, a todas las variables las hacemos que sean igual al metodo 'document.getElementById'; el cual, precisamente ira a buscarlas y encontralas
  • luego, una por una empezamos a definir y crear estas funciones; pueden observar cuales son fijandose en los 'comentarios' (//..... letras color gris claro)
  • la primera funcion que se crea es aquella que reproduce el escenario donde se desenvuelve el juego: 'function renderScene (index) {}'; donde se ubica el block generico de inicio (color negro) sobre el cual se apilaran los nuevos blocks, que aunque aparece en primer lugar, en realidad se convertira en el ultimo de la pila a medida que se vayan creando nuevos blocks
  • luego, como la logica lo indica, se especifica la funcion que crea el block generico: function create (type, index, height, width) {}; la cual lleva entre parentesis los parametros pensados para dibujar/crear este block generico
  • luego, se sigue con la funcion que gobierna los intentos por colocar nuevos blocks encima del block generico: function placeBlock (index) {}
  • luego se establece las funciones que dirigen el juego: init, ready, lose, reset, performInput
  • noten que en 'performInput' se ha incluido el metodo 'window.addEventListener('click', performInput)', para activar las funciones (ready, rest, lose) mediante el click

Juego de Memoria

  • qué es el juego de memoria?
  • este es un juego simple creado para probar la memoria de un usuario; hay una baraja de cartas con diferentes iconos; el desafio es emparejar cartas en el menor tiempo, con menos movimientos.
  • como jugar?
  • 1) haz click en una carta; 2) sigue revelando cartas y trabajando tu memoria para recordar cada carta revelada; 3) combina las cartas correctamente con menos movimientos y en un tiempo más rápido
  • cómo se hizo este juego?
  • primero, se diseño el juego asi: 1) se creó una baraja de cartas, la cual se baraja cuando se actualiza el juego; 2) se creó un contador para contar el número de movimientos realizados por el jugador y el reloj para saber la duración de una jugada; 3) se agregó efectos a las cartas para cuando coinciden y no tienen comparación; 4) se creó un modal (ventana emergente) para cuando el jugador gana o pierde el juego
  • luego, se manipulo el DOM con js modificando parte del HTML.

  • ahora, hacerca del script js
  • empezando veran el 'array of objects', que en este caso es el array of cartas, denominado 'cardArray'; a partir del cual se crean las acciones que dan vida al juego
  • a contimuacion, observaran el codigo especificado para crear la baraja de cartas (con cardSpawner); el cual utiliza el metodo 'for loop'
  • luego, veran el codigo utilizado para crear el contador y el reloj (Timer function)
  • lo que se ha denominado Logica principal del juego comprende el codigo que crea los efectos mencionados en punto (3) Funcion para comenzar el juego
  • con let youWin = () => { y let youLoose = () => { se crea el modal mencionado en punto (4)
  • luego veran la funcion que baraja (shuffle) las cartas cuando se actualiza el juego, mencionado en punto (1); que emplea una de los loops llamado for each
  • finalmente encuentran la funcion creada para iniciar el juego function play(); aqui obseven lo siguiente
  • 1) como ya saben document.getElementById se utiliza para ir a buscar y encontrar un elemento html por su id en este caso el div que lleva el id welcome-screen pero en este esta funcion se lo esta usando de este modo document.getElementById('welcome-screen').style.display = 'none' es decir con el agregado .style.display ; que esta pasando aqui como se les explico en .... el punto (.) se utiliza como la llave que permite acceder al interior de una hcasa en ste caso permite acceder a las especificaciones de estilo (tags style) y, con otra llave (otro punto) accedemos dentro del style a la propiedad display
  • 2) esta funcion lleva en su contenido el llamado a la funcion timer();

The Slingshot Game

  • matter.js es un js 2D engine fácil de usar
  • primero, se crea matter.js engine y su renderer;
  • luego, el primer objeto que se crea es el suelo; usando el método Matter.Bodies Class; estableciendo la propiedad isStatic en 'true'; de este modo, no se verá afectado por la gravedad y permanecerá fijo
  • luego agregamos dos casillas usando el mismo método.
  • luego, se adiciona todos los objetos usando el método estático 'World.add' y, pasamos la matriz de objetos; finalmente ejecutamos ambos 'engine and renderer'

  • Agregar control del mouse
  • en este punto, no hay interaccion; por lo que se agrega el control del mouse.
  • primero creamos un mouse y pasamos el canvas renderizado como argumento; luego, creamos un mouse restriction y le pasamos el mouse al engine.
  • al final, configuramos nuestro mouse de este modo 'render.mouse = mouse;'
  • y adicionamos la restricción del mouse asi 'Matter.World.add(engine.world,[boxA,boxB,ground,mouseConstraint]);'

  • The Slingshot Game
  • matter.js proporciona un class llamado 'composites' que permite colocar muchos objetos simultáneamente en varias estructuras como una pirámide o una pila
  • ahora configuremos el nivel de juego. creamos una plataforma en la parte superior derecha de la pantalla; luego creamos una pila de octágonos y los colocamos en la plataforma.
  • a continuación, se crea una bola que vamos a disparar; la colocamos en el lado izquierdo de la pantalla; luego se crea un cabestrillo usando la clase Constraint; el primer atributo es el punto A, que será el punto fijo del cabestrillo, se pondra en la misma posición que la pelota; el siguiente es bodyB, que es un objeto que queremos adjuntar al cabestrillo, se pondra en la pelota; el último es la rigidez del cabestrillo; se configura en 0.05
  • ahora, trabajaremos en el evento de despido.
  • para disparar, se tiene que arrastrar la bola y soltar el botón del ratón; entonces, se usa el evento 'endDrag'; dentro del controlador de eventos, se comprueba si el objeto que se desencadena es la bola y luego se establece la bandera de disparo en 'true'
  • luego, se sigue verificando la posición de la bola en cada actualización de pantalla mediante el evento 'afterUpdate'; entonces, si la bandera de disparo es 'true' y la posición de la bola está muy cerca del punto original, entonces soltaremos la bola del cabestrillo y la reemplazaremos por la nueva.
  • si se cumple la condición; luego crea una nueva bola en la posición inicial; luego, establezca el atributo bodyB de la eslinga en la nueva bola. Y reinicia la bandera de fuego.
  • y aqui esta el resultado.

Mente Maestra

  • El juego consiste en descifrar el código que esta oculto
  • Como jugar?
  • el código es un código de cuatro colores que contiene los botones de colores que se muestran; el código puede contener múltiplos del mismo color; intenta adivinar el código correcto (color y orden) haciendo clic en los botones de colores y luego presionando el botón de enviar.
  • luego, tu suposición se comparará con el código; por cada color correcto que esté en la posición correcta, se mostrará una clavija negra.
  • sin embargo, por cada color correcto que esté en la posición incorrecta, se mostrará una clavija blanca.
  • utilice estos comentarios para determinar el código correcto

  • ahora respecto al script js, presten atencion a los comentarios (// ....), lean que accion u acciones va a ejecutar la funcion que le sigue
  • observen el uso repetido del metodo 'for loop' en varias funciones; repasen los ejercicios dados en Aula Javascript: Array Methods: Temas 14, 15 donde se explica como funciona este metodo
  • parte del codigo de este ejercicio utiliza una libreria denominada 'jquery.min.js'; que es una libreia? se explicara en un tema de 'Aula Javascript', por ahora sera suficiente que sepan que sirven para ahorrar mucho trabajo de hacer codigo; podran darse cuenta de que se esta usando una expresion derivada de 'jquery' cuando vean las expresiones '$('.delete')' '$('.submit')' (con el signo $ por delante)

  • debido a su tamaño el mastermind.css no ha sido incluido en el editor; pero estará a disposición de todos uds con simplemente solicitarlo

Corredor sin Fin

  • este juego es un simulador de Super Mario Run pero acelerado donde para saltar hay que preferiblemente hacer click; el cual permite al jugador (en este ejercicio, un objeto) saltar plataformas para evitar caer en vacíos; según se vaya avanzando, la dificultad aumenta, pero aunque el objeto choque y caiga al vacio el juego continua sin interrupción; es un juego que pone a prueba la paciencia del jugador

  • ahora, como se dijo este código es un simulador; que podría significar esto?; bueno, que podría ser usado como código base para convertirlo en un juego más real; es decir, cambiando el objeto run por un personaje como el mismo Mario por ejemplo; eso seria algo que uds podrían hacer mas adelante cuando empiecen a dominar el programar

  • el script js utiliza lo siguiente para producir el juego: un vector, un jugador (el objeto color negro), plataforma, un administrador de plataforma, un sistema de partículas.

  • debido a su tamaño el script js no ha sido incluido en el editor; pero estará a disposición de todos uds con simplemente solicitarlo

  • por ahora practiquen con los valores de las propiedades CSS de los elementos html: body, container, y canvas

Encuentra el Tesoro

  • El objetivo es encontrar el tesoro escondido; el juego mostrará un mapa del tesoro; en el cual, el programa seleccionará una ubicación que representa dónde está enterrado el tesoro escondido. Cada vez que el jugador hace click en el mapa, el juego le dirá qué tan cerca del tesoro se encuentra; cuando hace click en la ubicación del tesoro, el juego lo felicita por encontrar el tesoro y dice cuántos clicks se necesitaron para encontrarlo.

  • Pasos a seguir para configurar el juego:
  • 1. Crear una página web con una imagen (el mapa del tesoro) y un lugar para mostrar mensajes al jugador.
  • 2. Elejir un lugar al azar en la imagen del mapa para esconder el tesoro.
  • 3. Crear un click handler; cada vez que el jugador hace click en el mapa, el click handler hará lo siguiente:
  • a) agregar 1 a un contador de clicks; b) calcular qué tan lejos está la ubicación del click de la ubicación del tesoro; c) mostrar un mensaje para decirle al jugador si esta en calor o frío; d) felicitar al jugador si hace click en el tesoro, y decir numero de clicks.

  • Codificando cada uno de estos pasos
  • Primero, tenemos las tres funciones getRandomNumber, getDistance y getDistanceHint
  • Luego, en ➊, configuramos las variables que necesitaremos: ancho, alto y clicks.
  • Después de eso, en ➋, creamos la ubicación aleatoria del tesoro var target = {.
  • En ➌ se adiciona un click handler al elemento img; lo primero que hace es incrementar la variable de clicks en 1. $("#map").click(function (event) { clicks++;
  • Luego, en ➍, calcula la distancia entre el evento (la ubicación del click) y el objetivo (la ubicación del tesoro) var distance = getDistance(event, target);
  • En ➎ usamos la función getDistanceHint para convertir esta distancia en un string que representa la distancia ("Fría", "Caliente", etc.).

Taller: Juegos 3

Defensa del planeta

  • Este taller busca que aprendas conceptos y codigos practicando con desafíos divertidos
  • como una forma de despertar tus habilidades en programación de juegos mientras te diviertes y te haces notar
  • ¡Diviértete con tus amigos de barrio, compañeros de colegio o compañeros de deporte en juegos de programación multijugador y muéstrales quién manda!
  • con el tiempo unate a concursos internacionales de programación en línea; para divertirte, para obtener premios o quizas la gloria.

  • debido a su tamaño el script js no ha sido incluido en el editor; pero estará a disposición de todos uds con simplemente solicitarlo

Juego de memoria 2

  • Este taller busca que aprendas conceptos y codigos practicando con desafíos divertidos
  • como una forma de despertar tus habilidades en programación de juegos mientras te diviertes y te haces notar
  • ¡Diviértete con tus amigos de barrio, compañeros de colegio o compañeros de deporte en juegos de programación multijugador y muéstrales quién manda!
  • con el tiempo unate a concursos internacionales de programación en línea; para divertirte, para obtener premios o quizas la gloria.

  • debido a su tamaño el script js no ha sido incluido en el editor; pero estará a disposición de todos uds con simplemente solicitarlo

Explosión de color

  • Este taller busca que aprendas conceptos y codigos practicando con desafíos divertidos
  • como una forma de despertar tus habilidades en programación de juegos mientras te diviertes y te haces notar
  • ¡Diviértete con tus amigos de barrio, compañeros de colegio o compañeros de deporte en juegos de programación multijugador y muéstrales quién manda!
  • con el tiempo unate a concursos internacionales de programación en línea; para divertirte, para obtener premios o quizas la gloria.

  • debido a su tamaño el script js no ha sido incluido en el editor; pero estará a disposición de todos uds con simplemente solicitarlo

\

Flip-card Memory

  • Este taller busca que aprendas conceptos y codigos practicando con desafíos divertidos
  • como una forma de despertar tus habilidades en programación de juegos mientras te diviertes y te haces notar
  • ¡Diviértete con tus amigos de barrio, compañeros de colegio o compañeros de deporte en juegos de programación multijugador y muéstrales quién manda!
  • con el tiempo unate a concursos internacionales de programación en línea; para divertirte, para obtener premios o quizas la gloria.

  • debido a su tamaño el flip-card-memory.css no ha sido incluido en el editor; pero estará a disposición de todos uds con simplemente solicitarlo
  • jquery library

Toma el Color

  • Este taller busca que aprendas conceptos y codigos practicando con desafíos divertidos
  • como una forma de despertar tus habilidades en programación de juegos mientras te diviertes y te haces notar
  • ¡Diviértete con tus amigos de barrio, compañeros de colegio o compañeros de deporte en juegos de programación multijugador y muéstrales quién manda!
  • con el tiempo unate a concursos internacionales de programación en línea; para divertirte, para obtener premios o quizas la gloria.

  • jquery library

Leer la Mente

  • Este taller busca que aprendas conceptos y codigos practicando con desafíos divertidos
  • como una forma de despertar tus habilidades en programación de juegos mientras te diviertes y te haces notar
  • ¡Diviértete con tus amigos de barrio, compañeros de colegio o compañeros de deporte en juegos de programación multijugador y muéstrales quién manda!
  • con el tiempo unate a concursos internacionales de programación en línea; para divertirte, para obtener premios o quizas la gloria.

  • debido a su tamaño el game.css no ha sido incluido en el editor; pero estará a disposición de todos uds con simplemente solicitarlo
  • jquery library

Taller: Juegos 4

RubbaRabbit

  • 1 - 5 lessons a week
  • Your own instructor
  • Most popular!

back-to-base

  • 1 - 5 lessons a week
  • Your own instructor
  • Most popular!

CYOAwesome

  • 1 - 3 lessons per week
  • Collaborate on projects together
  • 2+ friends with their own instructor

ld46

  • 1 - 5 lessons a week
  • Your own instructor
  • Most popular!

tangletruck

  • 1 - 5 lessons a week
  • Your own instructor
  • Most popular!

TowerGame

  • 1 - 3 lessons per week
  • Collaborate on projects together
  • 2+ friends with their own instructor