juego.tex 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. \subsection{Juego}
  2. \nuevoTAD{Juego}
  3. \genero{juego}
  4. \begin{seccion}[generadores]
  5. \funcion{empezarJuego}{mapa}{juego}
  6. \funcion{agregarJugador}{Juego j \times Jugador j'}{Juego}
  7. \restriccion{j' \notin jugadores(j)}
  8. \funcion{agregarPoke}{Poke p \times coord c \times juego j}{juego}
  9. \restriccion{c \in coords(j) \wedge ( \forall p' \in pokes(j))(distancia?(c, pokeCoord(p')) > 5)}
  10. \funcion{MoverJugador}{Jugador j \times Juego j' \times coord c}{juego}
  11. \restriccion{c \in coords(j') \wedge j \in jugadores(j') \wedge ¿¿ cviene del jugador ??}
  12. \funcion{capturar}{Jugador j \times Juego j' \times Poke p}{juego}
  13. \restriccion{ j \in jugadores(j') \wedge p \in pokesLibres(j')}
  14. \funcion{conectar}{Jugador j \times Juego j' }{juego}
  15. \restriccion { j \in jugadores(j') \wedge \not conectado?(j,j') \wedge coordenadas??}
  16. \funcion{desconectar}{Jugador j \times Juego j' }{juego}
  17. \restriccion { j \in jugadores(j') \wedge conectado?(j,j')}
  18. \funcion{expulsar}{Jugador j \times Juego j'}{juego}
  19. \restriccion { j \in jugadores(j') \wedge infraccionesDeJugador(j',j) > 5}
  20. \end{seccion}
  21. \begin{seccion}[observadores]
  22. \funcion{movimientosGlobales}{juego}{sec(jugador \times pos)}
  23. \funcion{jugadores}{juego}{conj(jugador)}
  24. \funcion{eliminado?}{juego g \times jugador j}{bool}
  25. \restriccion{j \in jugadores(g) }
  26. \funcion{conectado?}{juego g \times jugador j}{bool}
  27. \restriccion{j \in jugadores(g)}
  28. \funcion{PokeLibres}{juego}{dicc(coord \times pokemon)}
  29. \funcion{PokeCapturados}{juego}{dicc(jugador \times multiconj(pokemon))}
  30. \funcion{mapa}{juego}{mapa}
  31. \end{seccion}
  32. \begin{seccion}[otras operaciones]
  33. \funcion{PokeRareza}{Juego j \times Pokemon p}{nat}
  34. \restriccion{p \in poketotal(j)}
  35. \funcion{infraccionesDeJugador}{Juego j \times jugador j'}{nat}
  36. \restriccion{j' \in jugadores(j)}
  37. \funcion{PokeTotales}{Juego j}{multiconj(Pokemons)}
  38. \end{seccion}
  39. \begin{seccion}[axiomas]
  40. \doublespacing
  41. \funcion{alal}{}{nat}
  42. \funcion{alal}{}{nat}
  43. \funcion{alal}{}{nat}
  44. \singlespacing
  45. \end{seccion}