Unidad 5:   Animación del juego

imageUnidad 5Animación del juego
Unit Overview

Los estudiantes definen funciones que mapean atributos de su juego de un marco a otro, permitiéndoles mover sus peligros, objetivos y proyectiles.

Spanish

English

add translation

Product Outcomes:
  • Los estudiantes agregarán movimiento al peligro (danger) de sus juegos

  • Los estudiantes agregarán movimiento al objetivo (target) de sus juegos

  • Los estudiantes agregarán movimiento al proyectil de sus juegos

Standards and Evidence Statements:

Standards with prefix BS are specific to Bootstrap; others are from the Common Core. Mouse over each standard to see its corresponding evidence statements. Our Standards Document shows which units cover each standard.

  • F-IF.1-3: The student uses function notation to describe, evaluate, and interpret functions in terms of domain and range

    • evaluation of functions using function notation for inputs in their domains

  • F-LE.5: The student interprets expressions for functions in terms of the situations they model

    • interpretation of the parameters in a linear or exponential function in terms of a context

  • BS-DR.2: The student can derive test cases for a given contract and purpose statement

    • given a Contract and a Purpose Statement, write multiple examples or test cases

    • given multiple examples, identify patterns in order to label and name the variables

  • BS-DR.3: Given multiple test cases, the student can define a function

    • given examples and labeled variable(s), define the function

  • BS-IDE: The student is familiar with using a REPL, entering expressions properly, and interpreting error messages

    • look to error messages as a way of diagnosing syntax errors

  • BS-PL.1: The student is familiar with declaring values and applying built-in functions using the programming language

    • interpreting a function application and identifying its arguments

  • BS-PL.2: The student is comfortable using and writing Contracts for built-in functions

    • representing a function’s input and output using a contract

    • identifying correct and incorrect use of a function, based on its contract

  • BS-PL.3: The student is able to use the syntax of the programming language to define values and functions

    • defining and using functions

Length: 70 Minutes
Glossary:
  • contrato

  • declaración de propósito

  • ejemplos

  • variable: something that changes

Materials:
  • Lapiceros/lápices para los estudiantes, marcadores de pizarra para profesores

  • Cartel de clase (Lista de reglas, tabla de lenguaje, calendario del curso)

  • Tabla de Lenguaje (Vea abajo)

  • "Bug Hunting" [Bugs.rkt de source-files.zip | WeScheme] precargado en las máquinas de los estudiantes

  • El Libro de Trabajo del Estudiante

  • Todas las computadoras de los estudiantes deben tener sus plantillas de juego precargadas, con sus archivos de imagen enlazados

Preparation:

Types

Functions

Values

Number

+ - * / sqr sqrt expt

1 ,4 ,44.6

String

string-append string-length

"hello"

Image

rectangle circle triangle ellipse star scale rotate put-image

(circle 25 "solid" "red")



Cazando Errores

Overview

Learning Objectives

  • Gain more experience understanding and correcting programming errors

Evidence Statementes

  • Students will be able to read error messages for basic syntax errors

  • Students will be able to edit programs to eliminate basic syntax errors

Product Outcomes

    Materials

    • Lapiceros/lápices para los estudiantes, marcadores de pizarra para profesores

    • Cartel de clase (Lista de reglas, tabla de lenguaje, calendario del curso)

    • Tabla de Lenguaje (Vea abajo)

    • "Bug Hunting" [Bugs.rkt de source-files.zip | WeScheme] precargado en las máquinas de los estudiantes

    Preparation

    • Los estudiantes están registrados en WeScheme.org, o han abierto DrRacket.

    Cazando Errores (Time 20 mins)

    • Cazando ErroresDepurando (buscando y corrigiendo problemas en el código) es una parte importante de la programación, así que es una buena idea practicar buscando errores en código.

      Abre el programa Bug Hunting en una nueva ventana, y observa si puedes encontrar errores en cada expresión. Haz clic en "Run" y lee el mensaje de error cuidadosamente. Después de corregir cada uno, hacer clic en Run te mostrará el mensaje de error del siguiente problema.

      Make sure students understand that the goal is not to FIX the bugs, but rather just to find them.

    Movimiento de peligro y objetivo

    Overview

    Learning Objectives

    • Students learn to move game elements through functions that compute attributes in one frame from attributes in the previous frame

    Evidence Statementes

    • Students will be able to write functions that take in one dimension of a game element’s coordinate and produce the next coordinate value in that dimension

    • Students will learn how to control speed of movement through functions

    Product Outcomes

    • Los estudiantes agregarán movimiento al peligro (danger) de sus juegos

    • Los estudiantes agregarán movimiento al objetivo (target) de sus juegos

    Materials

    • Lapiceros/lápices para los estudiantes, marcadores de pizarra para profesores

    • El Libro de Trabajo del Estudiante

    • Todas las computadoras de los estudiantes deben tener sus plantillas de juego precargadas, con sus archivos de imagen enlazados

    • Cartel de clase (Lista de reglas, tabla de lenguaje, calendario del curso)

    • Tabla de Lenguaje (Vea abajo)

    Preparation

    Movimiento de peligro y objetivo (Time 30 minutos)

    • Movimiento de peligro y objetivoimageLas dimensiones de tu videojuego son 640x480, y cada personaje es ubicado en un conjunto de coordenadas (x,y). Tu Objetivo (T), Jugador (P) y Peligro (D) cada movimiento sobre el eje x- o y-, mueve las coordenadas x- o y- de acuerdo a una función animada. Esas funciones de animación empezaran de forma simple: Ellas toman la coordenada x- o y- actual, y producen la siguiente coordenada x- o y-. Después, tú podrás adaptarlas para crear desplazamientos más sofisticados, usando ambas coordenadas x- y y-.

    • Ve a la Page 16 de tu libro de trabajo hasta la sección update-danger.

      • Lee el problema de palabra cuidadosamente, y presta atención a qué toma la función.

      • Llena el Contrato y Declaración de propósito para la función, usando lo que encerraste para ayudarte a elegir el Dominio.

      • Escribe dos Ejemplos para la función.

      • Encierra y etiqueta lo que varía entre esos ejemplos, y etiquétalo con un nombre de variable.

      • Define la función.

      If students are working on their own, check their work to make sure every last step is being executed correctly. If the class is working through it together, be sure to ask students to justify each step in terms of a prior step. Tip: tell students that they must get your permission before typing in their code, then use that expectation to check each student’s paper carefully.

    • Poniendo todo eso unido, update-danger es definido por:   (Nota: Tú podrías tener diferentes ejemplos o nombres de variable.)

      Abre tu archivo de juego guardado y desplaza hasta que encuentres la definición para update-danger. ¿Es correcto el contrato? Asegúrate que coincida con lo que tienes en tu libro de trabajo, agrega tus ejemplos, y corrige la definición. ¡Cuando haces clic en "Run" tú deberías ver tu peligro volar a través de la pantalla!

    • Ahora es tiempo de animar el objetivo, el cual se mueve en la dirección opuesta.

      Ve a la Page 17 de tu libro de trabajo hasta la sección update-target.

      • Lee el problema de palabra cuidadosamente, y presta atención a qué toma la función.

      • Llena el Contrato y Declaración de Propósito para la función, usando lo que encerraste para ayudarte a elegir el Dominio.

      • Escribe dos Ejemplos para la función.

      • Encierra y etiqueta lo que varía entre esos ejemplos, y etiquétalo con un nombre de variable.

      • Define la función.

      For students who finish these quickly, have them experiment with making the Target and Danger move faster or slower, or change direction altogether. Be sure that they are typing in Examples, and updating those examples to keep up with any changes to their definition.

    Movimiento de Proyectil (Opcional)

    Overview

    OPTIONAL: students discover that the "mystery" definitions in the game are actually used to add projetiles, and adapt these definitions to add a custom projectile and projectile animation to their game.

    Learning Objectives

    • Students learn to move game elements through functions that compute attributes in one frame from attributes in the previous frame

    Evidence Statementes

    • Students will be able to write functions that take in one dimension of a game element’s coordinate and produce the next coordinate value in that dimension

    Product Outcomes

    • Los estudiantes agregarán movimiento al proyectil de sus juegos

    Materials

      Preparation

        Movimiento de Proyectil (Opcional) (Time 15 minutos)

        • Movimiento de Proyectil (Opcional)Esta plantilla de juego también tiene un objeto misterioso, el cual es definido al final de la pantalla. El "Misterio" es realmente un proyectil, el cual será ubicado en la posición del jugador cada vez que la barra espaciadora sea presionada. Como puedes ver, el mystery es definido para ser una pequeña estrella gris, pero tu puedes cambiarla por la imagen que desees. Si tienes un juego donde el jugador es un mono, puedes cambiar la definición de mystery para que sea la imagen de una banana, para que el mono tire bananas cada vez que presiones la barra espaciadora. Un juego que se desarrolla en el espacio podría tener un alíen tirando cristales, o un juego deportivo podría tratarse de un atleta lanzando un balón.
          • Cambia la definición de mystery, para que tu proyectil luzca de la forma que desees. No olvides usar scale y rotate si tienes que cambiar ligeramente la imagen.

          • Usa las instrucciones de diseño para escribir update-mystery, para que el proyectil se mueva de izquierda a derecha. Pista: esto será muy parecido a tus soluciones para update-danger y update-target!

          Be careful when introducing Projectiles into the game! Many students will actually be less creative when using them, as it will automatically push their mindset towards the standards "shoot the bad guy" format. Many teachers choose to skip this section entirely, or else add it after the games are complete.

        Concluyendo

        Overview

        Learning Objectives

          Evidence Statementes

            Product Outcomes

              Materials

                Preparation

                  Concluyendo (Time 5 minutos)

                  • Concluyendo¡Felicidades - tienes los inicios de un juego funcional! Sin embargo, varias cosas siguen incompletas:

                    • El jugador no se mueve

                    • Cuando el objetivo y el peligro se mueven fuera de la pantalla, nunca regresan

                    • Nada sucede cuando el jugador colisiona con el peligro o el objetivo

                    Las siguientes lecciones incrementarán lo que conoces sobre las funciones, de tal manera que puedas definir funciones para implementar en cada una de esas características.

                    • Have students volunteer what they learned in this lesson

                    • Reward behaviors that you value: teamwork, note-taking, engagement, etc

                    • Pass out exit slips, dismiss, clean up.