Pārlūkot izejas kodu

README-es.md edited on August 3, 2016 at 2:20pm

Jose R Ortiz Ubarri 8 gadus atpakaļ
vecāks
revīzija
56d88c64d9
1 mainītis faili ar 11 papildinājumiem un 11 dzēšanām
  1. 11
    11
      README-es.md

+ 11
- 11
README-es.md Parādīt failu

6
 
6
 
7
 [Verano 2016 - Ive - Coralys]
7
 [Verano 2016 - Ive - Coralys]
8
 
8
 
9
-En casi todas las instancias en que queremos resolver un problema seleccionamos entre distintas opciones dependiendo  de si se cumplen o no ciertas condiciones. Los programas de computadoras se construyen para resolver problemas y, por lo tanto, deben tener una estructura que permita tomar decisiones y seleccionar alternativas. En C++ las  selecciones  se estructuran utilizando `if`, `else`, `else if` o `switch`. Muchas veces el uso de estas estructuras también envuelve el uso de expresiones de relación y operadores lógicos.  En la experiencia de laboratorio de hoy, practicarás el uso de algunas estructuras de selección completando el diseño de una aplicación de juego de colisiones de carros con obstáculos en una pista.
9
+En casi todas las instancias en las cuales queremos resolver un problema, seleccionamos entre distintas opciones dependiendo de si se cumplen o no ciertas condiciones. Los programas de computadoras se construyen para resolver problemas y, por lo tanto, deben tener una estructura que permita tomar decisiones y seleccionar alternativas. En C++, las selecciones se estructuran utilizando `if`, `else`, `else if` o `switch`. Muchas veces el uso de estas estructuras también envuelve el uso de expresiones de relación y operadores lógicos. En la experiencia de laboratorio de hoy, practicarás el uso de algunas estructuras de selección completando el diseño de una aplicación de juego de colisiones de carros con obstáculos en una pista.
10
 
10
 
11
 
11
 
12
 ## Objetivos:
12
 ## Objetivos:
21
 
21
 
22
 1. Repasado los siguientes conceptos:
22
 1. Repasado los siguientes conceptos:
23
 
23
 
24
-    a. Operadores lógicos
24
+    a. operadores lógicos
25
 
25
 
26
     b. if, else, else if, switch
26
     b. if, else, else if, switch
27
 
27
 
36
 
36
 
37
 ## Juego de desplazamiento de carro
37
 ## Juego de desplazamiento de carro
38
 
38
 
39
-Los juegos de colisiones consisten en manejar un objeto esquivando o provocando la posible colisión contra otros objetos. La colisión puede descontar puntos o detener el juego. También hay colisiones con algunos objetos que acumulan puntos. En el juego de esta experiencia de laboratorio el objeto que se maneja es un carrito, los objetos que causan que el juego se detenga son pinos, agujeros, entre otros, y los objetos que suman puntos son las banderas.
39
+Los juegos de colisiones consisten en manejar un objeto esquivando o provocando la posible colisión contra otros objetos. La colisión puede descontar puntos o detener el juego. También hay colisiones con algunos objetos que acumulan puntos. En el juego de esta experiencia de laboratorio, el objeto que se maneja es un carrito, los objetos que causan que el juego se detenga son pinos, agujeros; entre otros, y los objetos que suman puntos son las banderas.
40
 
40
 
41
 Los controles del juego son bien sencillos: la tecla con la flecha hacia arriba desplaza el carro hacia arriba y la tecla con la flecha hacia abajo desplaza el carro hacia abajo. Al jugar, el juego da la sensación de que el carro está en movimiento hacia la derecha usando un método muy simple: desplazando el fondo con sus obstaculos y banderas hacia la izquierda mientras el carro permanece en el mismo lugar. El jugador puede desplazar el carro hacia arriba o hacia abajo para esquivar los obstáculos y para capturar las banderas. De haber una colisión con un obstáculo el juego se detiene. El jugador puede continuar, marcando el botón de `Retry`.
41
 Los controles del juego son bien sencillos: la tecla con la flecha hacia arriba desplaza el carro hacia arriba y la tecla con la flecha hacia abajo desplaza el carro hacia abajo. Al jugar, el juego da la sensación de que el carro está en movimiento hacia la derecha usando un método muy simple: desplazando el fondo con sus obstaculos y banderas hacia la izquierda mientras el carro permanece en el mismo lugar. El jugador puede desplazar el carro hacia arriba o hacia abajo para esquivar los obstáculos y para capturar las banderas. De haber una colisión con un obstáculo el juego se detiene. El jugador puede continuar, marcando el botón de `Retry`.
42
 
42
 
64
 
64
 
65
 ### Ejercicio 1 - Familiarizarte con las funciones pre-definidas. 
65
 ### Ejercicio 1 - Familiarizarte con las funciones pre-definidas. 
66
 
66
 
67
-El primer paso en esta experiencia de laboratorio es familiarizarte con las funciones (métodos) pre-definidas en el código.  Invocarás algunas de estas funciones en el código que completarás para detectar las colisiones.  
67
+El primer paso en esta experiencia de laboratorio es familiarizarte con las funciones (métodos) pre-definidas en el código. Invocarás algunas de estas funciones en el código que completarás para detectar las colisiones.  
68
 
68
 
69
-#### Instrucciones:
69
+#### Instrucciones
70
 
70
 
71
 1. Carga a `QtCreator` el proyecto `CarScrollingGame`. Hay dos maneras de hacer esto:
71
 1. Carga a `QtCreator` el proyecto `CarScrollingGame`. Hay dos maneras de hacer esto:
72
 
72
 
110
    * la imagen de la pista usando la función `setTrackPixmap()`
110
    * la imagen de la pista usando la función `setTrackPixmap()`
111
    * la imagen de los obstáculos usando la función `setObstaclesPixmap()`
111
    * la imagen de los obstáculos usando la función `setObstaclesPixmap()`
112
 
112
 
113
-La función `setTrackPixmap(Track)` ya está definida y recibe una variable de tipo `Track` que puede ser un valor entre (**play::DAY**, **play::NIGHT**, **play::BEACH**, **play::CANDYLAND**).
113
+La función `setTrackPixmap(Track)` ya está definida y recibe una variable de tipo `Track` que puede ser un valor entre: **play::DAY**, **play::NIGHT**, **play::BEACH**, **play::CANDYLAND**.
114
 
114
 
115
-La función `setObstaclePixmap(string)` ya está definida y recibe una variable de tipo `string` que puede ser un valor entre (**"hole"**, **"cone"**, **"it"**, **"zombie"**, **"spongebob"**, **"patric"**, **"monster"**).
115
+La función `setObstaclePixmap(string)` ya está definida y recibe una variable de tipo `string` que puede ser un valor entre: **"hole"**, **"cone"**, **"it"**, **"zombie"**, **"spongebob"**, **"patric"**, **"monster"**.
116
 
116
 
117
 #### Instrucciones
117
 #### Instrucciones
118
 
118
 
127
        * `play::BEACH` - los obstáculos sean de tipo "spongebob" o "patric"
127
        * `play::BEACH` - los obstáculos sean de tipo "spongebob" o "patric"
128
        * `play::CANDYLAND` - los obstáculos sean de tipo "monster"
128
        * `play::CANDYLAND` - los obstáculos sean de tipo "monster"
129
 
129
 
130
-       En las opciones que tengan dos posibles obstáculos utilza  `rand() % 2`  para escoger aleatoriamente entre un obstáculo u otro. 
130
+       En las opciones que tengan dos posibles obstáculos utilza `rand() % 2` para escoger aleatoriamente entre un obstáculo u otro. 
131
 
131
 
132
 
132
 
133
 ### Ejercicio 3 - Completar la función para colisiones con obstáculos. 
133
 ### Ejercicio 3 - Completar la función para colisiones con obstáculos. 
134
 
134
 
135
 En este ejercicio completarás el método `obstacleCollision` que se encuentra en el archivo `work.cpp`. La función recibe un objeto de clase `Obstacle` y otro objeto de clase `Car` y debe detectar si hay colisión o no entre el carro y el obstáculo. La función devuelve cierto si hay colisión entre el carro y un obstáculo, y falso si no hay colisión.
135
 En este ejercicio completarás el método `obstacleCollision` que se encuentra en el archivo `work.cpp`. La función recibe un objeto de clase `Obstacle` y otro objeto de clase `Car` y debe detectar si hay colisión o no entre el carro y el obstáculo. La función devuelve cierto si hay colisión entre el carro y un obstáculo, y falso si no hay colisión.
136
 
136
 
137
-Para detectar la colisión la función debe solicitar las coordenadas del obstáculo y la coordenada en $$Y$$ del carro.  Recuerda que el carro no se desplaza en la coordenada $$X$$, esa coordenada es fija y está guardada en la variable constante `CARX`.  La colisión ocurre si el obstáculo tiene la misma coordenada en $$X$$ y está a cierta distancia hacia arriba y abajo de la coordenada en $$Y$$ como muestra la Figura 1. El rango de distancia del centro del carro hacia arriba y abajo se encuentra guardada en la variable constante `OBSTACLERANGE`.
137
+Para detectar la colisión la función debe solicitar las coordenadas del obstáculo y la coordenada en $$Y$$ del carro.  Recuerda que el carro no se desplaza en la coordenada $$X$$, esa coordenada es fija y está guardada en una variable constante llamada `CARX`.  La colisión ocurre si el obstáculo tiene la misma coordenada en $$X$$ y está a cierta distancia hacia arriba y abajo de la coordenada en $$Y$$ como muestra la Figura 1. El rango de distancia del centro del carro hacia arriba y abajo se encuentra guardada en la variable constante `OBSTACLERANGE`.
138
 
138
 
139
 Si se detecta una colisión la función debe devolver `true` y si no, debe devolver `false`.
139
 Si se detecta una colisión la función debe devolver `true` y si no, debe devolver `false`.
140
 
140
 
148
 
148
 
149
 ### Ejercicio 4 - Completar la función para colisiones con banderas.
149
 ### Ejercicio 4 - Completar la función para colisiones con banderas.
150
 
150
 
151
-En este ejercicio completarás el método `flagCollision` que se encuentra en el archivo `work.cpp`. La función recibe un objeto de la clase `Obstacle` y otro objeto de la clase `Flag` y debe detectar si hay colisión o no entre el carro y la bandera. Esta función es bien similar a la función del Ejericio 3, excepto que esta función no devuelve valor. Las acciones que ocurren cuando se detecta la colisión se van a tomar dentro de la función.
151
+En este ejercicio completarás el método `flagCollision` que se encuentra en el archivo `work.cpp`. La función recibe un objeto de la clase `Obstacle` y otro objeto de la clase `Flag` y debe detectar si hay colisión o no entre el carro y la bandera. Esta función es bien similar a la función del Ejericio 3, excepto que esta función no devuelve un valor. Las acciones que ocurren cuando se detecta la colisión se van a tomar dentro de la función.
152
 
152
 
153
 En este caso si se detecta una colisión, se debe aumentar la puntuación del juego 30 puntos utilizando la función `setScore`, y se debe esconder la bandera utilizando la función `flag.hide()` para crear la ilusión de que se recogió la bandera en la colisión.
153
 En este caso si se detecta una colisión, se debe aumentar la puntuación del juego 30 puntos utilizando la función `setScore`, y se debe esconder la bandera utilizando la función `flag.hide()` para crear la ilusión de que se recogió la bandera en la colisión.
154
 
154
 
159
 
159
 
160
 ## Entregas
160
 ## Entregas
161
 
161
 
162
-Utiliza "Entrega" en Moodle para entregar el archivo `work.cpp` que contiene las invocaciones y cambios que hiciste al programa. Recuerda utilizar buenas prácticas de programación, al incluir el nombre de los programadores y documentar tu programa.
162
+Utiliza "Entrega" en Moodle para entregar el archivo `work.cpp` que contiene las invocaciones y cambios que hiciste al programa. Recuerda utilizar buenas prácticas de programación, incluye el nombre de los programadores y documenta tu programa.
163
 
163
 
164
 ---
164
 ---
165
 
165