Files
sml-projects/fcore/game-update.sml

30 lines
838 B
Standard ML

structure GameUpdate =
struct
fun update (game, input) =
let
val {player, walls, wallTree, platforms, platformTree, enemies, enemyTree} =
game
val player = Player.runPhysicsAndInput (game, input)
(* check and react to enemy collisions with player projectile *)
val enemies =
ProjectileEnemy.checkCollisions
(#projectiles player, enemies, enemyTree)
val enemyTree = Enemy.generateTree enemies
(* check player-enemy collisions and react *)
val (player, enemies, enemyTree) =
PlayerEnemy.checkCollisions (player, enemies, enemyTree)
in
{ player = player
, walls = walls
, wallTree = wallTree
, platforms = platforms
, platformTree = platformTree
, enemies = enemies
, enemyTree = enemyTree
}
end
end