Advertisement
Guest User

Untitled

a guest
May 27th, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. Zonas de control
  2. Necesidad de KOTH
  3. Para el pathfinding se necesitaría que cada Tile almacene la lista de Spaceballers de cada equipo cuya Zona de Control está afectando al tile, y un boolean para cada equipo para cachear si hay jugadores cuya Zona de Control afecten al tile. Resumiendo:
  4. List<Spaceballers> zcSpaceballersLocal;
  5. List<Spaceballers> zcSpaceballersVisitor;
  6. boolean zcLocal;
  7. boolean zcVisitor;
  8. Respuesta de Fede
  9. Esto ensucia mucho la clase Tile. Un tile no debería tener información relativa a la lógica. Además es información redundante y puede generar errores.
  10. Spaceballer tiene un booleano facingUp. Este valor determina si el jugador mira hacia arriba (true) o hacia abajo (false). Si mira hacia arriba su zona de control son los veciones NW,NE,W y E; si mira hacia abajo su zona de control son los vecinos SW,SE,W y E.
  11. Cuando el pathfinding quiera saber si un Spaceballer afecta al Tile debe hacer lo siguiente:
  12. Acceder a todos los vecinos del Tile [O(1)]
  13. Por cada vecino, averiguar si está ocupado [O(n)]
  14. Si está ocupado ver si el spaceballer es rival
  15. Si es Rival preguntar si facingUp es true
  16. Para NW y NE, facingUp debe ser false
  17. Para W y E, no importa, siempre afecta
  18. Para SW y SE, facingUP debe ser true
  19. En cada caso guardarse el Spaceballer o hacer lo que sea necesario
  20.  
  21. Respuesta de Chema
  22.  
  23. Desde mi punto de vista, las zonas de control formarían parte de los tiles al igual que lo hace la ocupación de los mismos. (aunque aquí ya entramos en un debate más de tipo filosófico)
  24.  
  25. No solo el pathfinding necesita de esa información, sino que parte de las acciones propias del gameplay también van a depender de dichas zonas. Por ejemplo, cada vez que se realice un pase, si éste parte o se recibe desde una zona de control, deberá ejecutarse una tirada de dados, y no solo eso, sino que en función del número de enemigos que afecten a dicha zona, el penalizador aplicado a la tirada también variará. Las zonas de control también van a tener que iluminarse de un color diferente en el tablero.
  26.  
  27. En lo que respecta al pathfinding, me parece tremendamente excesivo tener que hacer toda esa cantidad de operaciones por cada tile recorrido por los algoritmos sólo para conocer o no la existencia de una zona de control.
  28.  
  29. No se si para ti es importante por temas de Red mantener la clase Tile sólo con una determinada información pero, en mi opinión, independientemente de si se hace en Tile o una nueva clase, deberían ser los spaceballers al moverse los que mantengan actualizada la información sobre las zonas de control, que debería estar disponible para consultarse igual que lo están los tiles del tablero o la ocupación de los mismos.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement