Skip to content

Commit

Permalink
nueva versión de enunciado
Browse files Browse the repository at this point in the history
  • Loading branch information
lgassman committed Sep 29, 2024
1 parent 3d3a163 commit 68e40e1
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 15 deletions.
17 changes: 5 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ Este ejercicio guía una clase de como trabajar en grupo usando GIT. La dinámic
está en esta presentación: https://docs.google.com/presentation/d/1-o5zEUfuUT72ea8q2rk8mwHSqMkdJvTyQ9Y8eqUTVZA


Los requerimientos esperan que ya se haya explicado wollok game (parte 1: objetos visuales, posiciones y mapeo de teclas (bloques)). También incluye
validaciones (excepciones) y testing
Los requerimientos esperan que ya se haya explicado wollok game (parte 1: objetos visuales, posiciones y mapeo de teclas (bloques)). También incluye validaciones (excepciones) y testing.
Se epera que los estudiantes ya sean capaces de trabajar con git de manera individual (clonar y pushear en main)


## Dinámica
Expand All @@ -28,23 +28,16 @@ Validar que la pelota se encuentre en la misma posicion que Lionel
(o lo máximo que se pueda mover). Validar que la pelota se encuentre en la misma posición que Lionel
- **Camiseta** Hacer que Lionel cambie su camiseta al apretar la tecla *c*. Si tiene la camiseta titular pasará a
usar la suplente y viceversa. Validar que solo se puede realizar si lionel está sobre el borde izquierdo (El x de la posición debe ser 0)
- **Levantarla** Hacer que la pelota suba por el eje y 1 posición, y luego de 2 segundos baje nuevamente a dónde estaba
- **Levantarla** Hacer que la pelota suba por (eje y) 1 posición, y luego de 2 segundos baje nuevamente a dónde estaba. Tip: Usar un scheduler. Validar que la pelota se encuentre en la misma posicion que Lionel.

Nota: No olvidarse de hacer los tests también, son parte del requerimiento!
Nota: Ojo con asumir en los tests que el tablero tiene el mismo tamaño que en el program. No es así.
Usar un describe con el método initialize

## Luego de los *merges*
Puede pasar dos cosas luego de todos los merges:
1) Haya quedado código duplicado (¿Tal vez en las validaciones?). Si es así, en un nuevo feature branch
Puede pasar que haya quedado código duplicado (¿Tal vez en las validaciones?). Si es así, en un nuevo feature branch
hacer el refactor para eliminar el código duplicado.
2) A veces hay requerimientos que se pueden molestar entre ellos. Probablemente luego de usar
la funcionalidad de "llevarla" haya dejado de funcionar bien el patear y el taquito,
porque luego de cambiar la posicion de la pelota al patear, al estar llevandola. ésta vuelve hacia lionel.
Si pasa eso hay que hacer un nuevo feature branch que:
- Tenga un test que detecte el problema
- Resolver el problema con la siguiente definición: Cuando se patea o se da el pase
de taco linonel deja de llevarla.




Expand Down
8 changes: 8 additions & 0 deletions objetos.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ object lionel {
method image() {
return "lionel-titular.png"
}

method retroceder() {
position = game.at(0.max(position.x() - 1), position.y())
}

method avanzar() {
position = game.at((game.width() - 1).min(position.x() + 1), position.y())
}

}

Expand Down
9 changes: 6 additions & 3 deletions pgmProgram.wpgm
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@ import objetos.*

program futbolito{

game.addVisualCharacter(lionel)
game.addVisual(lionel)
game.addVisual(pelota)
game.cellSize(40)
game.width(20)
game.width(15)
game.height(10)
keyboard.enter().onPressDo({game.say(lionel, "Vamos Argentina")})
keyboard.enter().onPressDo({game.say(lionel, "Vamos Argentina!")})
keyboard.left().onPressDo({lionel.retroceder()})
keyboard.right().onPressDo({lionel.avanzar()})

game.start()


Expand Down

0 comments on commit 68e40e1

Please sign in to comment.