Skip to content

Commit

Permalink
Enunciado
Browse files Browse the repository at this point in the history
  • Loading branch information
lgassman committed Sep 30, 2024
1 parent e1c2fec commit 93e68f7
Show file tree
Hide file tree
Showing 14 changed files with 113 additions and 133 deletions.
8 changes: 0 additions & 8 deletions .classpath

This file was deleted.

14 changes: 14 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: build

on: [push, pull_request]
jobs:
wollok-ts:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- run: |
wget -O wollok-ts-cli https://github.com/uqbar-project/wollok-ts-cli/releases/latest/download/wollok-ts-cli-linux-x64
chmod a+x ./wollok-ts-cli
./wollok-ts-cli test --skipValidations -p ./
shell: bash
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
bin

# Local history
.history

# Wollok Log
*.log
35 changes: 0 additions & 35 deletions .project

This file was deleted.

7 changes: 0 additions & 7 deletions .settings/org.eclipse.jdt.core.prefs

This file was deleted.

21 changes: 0 additions & 21 deletions META-INF/MANIFEST.MF

This file was deleted.

62 changes: 47 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,53 @@
# Gitiando
# Futbolito

Este ejercicio guía una clase de como trabajar en grupo usando GIT. La dinámica de la clase
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.
Se epera que los estudiantes ya sean capaces de trabajar con git de manera individual (clonar y pushear en main)

Este ejercicio es para trabajar en grupo usando GIT

## Dinámica

Cada integrante del grupo debe resolver sólo uno de los requerimientos en un
*feature branch*, y luego realizar un *pull request (PR)* sobre *main* . Esperar a que todos
cada estudiante terminen su requerimiento antes de comenzar a *mergear* los Pull Requests

## Requerimientos
- Hacer que Lionel lleve la pelota al apretar la tecla *l*: Cuando la lleva pelota, la pelota
se mueve junto con Lionel. Validar que la pelota se encuentre en la misma posición que Lionel.
- Hacer que Lionel patee la pelota al apretar la tecla *p*: La pelota se desplaza 3 posiciones
a la derecha (o lo máximo que se pueda antes de salir de pantalla).
Validar que la pelota se encuentre en la misma posicion que Lionel
- Hacer Lionel de un pase atrás al apretar la tecla *t*: La pelota se mueve 2 posiciones a la izquierda
(o lo máximo que se pueda mover). Validar que la pelota se encuentre en la misma posición que Lionel
- Hacer que Lionel cambie su camiseta al apretar la tecla *c*. Si tiene la camiseta titular pasará a
usar la suplente y viceversa
*feature branch*, y luego realizar un *pull request (PR)* sobre *main*. Esperar a que
cada estudiante termine su requerimiento antes de comenzar a *mergear* los *pull requests*

## Requerimientos (pizarrón)

- **inicio** : al apretar la tecla *i* la pelota se debe quedar en el origen borde izquierdo (0,5)
- **Buscarla** : al apretar la tecla *b* lionel se mueve a donde está la pelota


## Requerimientos (Estudiantes)
- **Patear**: Hacer que Lionel patee la pelota al apretar la tecla *p*: La pelota se desplaza 3 posiciones
a la derecha (o lo máximo que se pueda antes de salir de pantalla). Tip: usar el método min de los números entre el x actual de la pelota + 3 y el ancho del tablero - 1.
Validar que la pelota se encuentre en la misma posicion que Lionel
- **Taquito**: Hacer Lionel de un pase atrás al apretar la tecla *t*: La pelota se mueve 2 posiciones a la izquierda. (o lo máximo que se pueda mover)
Tip: usar el método max de los números entre el x actual de la pelota - 2 y 0.
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 (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 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.

También podría pasar que un lo que andaba muy bien en tu feature branch se vea afectado por lo que introdujo otro.
Según como lo hayan implementado, podría pasar que si levantás la pelota, y la mandás al inicio antes que caiga, quede un efecto raro.
En ese caso hay que hacer un nuevo feature branch, armar un test case que detecte el problema y resolverlo
(elijan de que manera se debería comportar en ese caso)








3 changes: 0 additions & 3 deletions build.properties

This file was deleted.

26 changes: 26 additions & 0 deletions objetos.wlk
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/** First Wollok example */
import wollok.game.*

object lionel {

var property position = game.at(3,5)

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())
}

}


object pelota {
const property image="pelota.png"
var property position = game.at(5,5)
}
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "futbolito",
"name": "futbolito-GIT",
"version": "1.0.0",
"wollokVersion": "3.0.0",
"wollokVersion": "4.0.0",
"author": "leo",
"license": "ISC"
}
18 changes: 18 additions & 0 deletions pgmProgram.wpgm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import wollok.game.*
import objetos.*

program futbolito{

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

game.start()


}
10 changes: 0 additions & 10 deletions src/log4j.properties

This file was deleted.

16 changes: 0 additions & 16 deletions src/objetos.wlk

This file was deleted.

15 changes: 0 additions & 15 deletions src/program.wpgm

This file was deleted.

0 comments on commit 93e68f7

Please sign in to comment.