Interface to concrete simulator models, which represent the state of the SOCCER game and implements the physical simulation.
A simulator model implementation should be a sub-package of simulator.model and
has the following responsibilities:
- Represent the state of the SOCCER
game at all times, including the following:
- Field (simulator team) name
- Game status (in progress or not, status message)
- Test mode or normal play mode
- Team names for each side
- Score for each team
- Game time (milliseconds)
- Player state for each player on each team
- position
- velocity (magnitude and direction)
- in play or not
- Ball position
- Ball velocity
- Implement commands from teams as described in ISimulatorNet
- Simulate the game physics, including
- Update positions and velocities of all objects as time
progresses
- Detect collisions and compute bounces
- Implement kicking
- Implement the game rules, including
- Foul detection and penalization
- Goal detection and score keeping