move projectile type into player type

This commit is contained in:
2025-01-07 12:57:15 +00:00
parent 8d81a4f354
commit f54fa1bf02
3 changed files with 18 additions and 5 deletions

View File

@@ -39,6 +39,7 @@ sig
, jumpPressed: bool , jumpPressed: bool
, enemies: defeated_enemies vector , enemies: defeated_enemies vector
, charge: int , charge: int
, projectiles: player_projectile vector
} }
datatype player_patch = datatype player_patch =
@@ -59,7 +60,6 @@ sig
type game_type = type game_type =
{ player: player { player: player
, playerProjectiles: player_projectile vector
, walls: wall vector , walls: wall vector
, wallTree: QuadTree.t , wallTree: QuadTree.t
, platforms: platform vector , platforms: platform vector
@@ -113,6 +113,7 @@ struct
, jumpPressed: bool , jumpPressed: bool
, enemies: defeated_enemies vector , enemies: defeated_enemies vector
, charge: int , charge: int
, projectiles: player_projectile vector
} }
datatype player_patch = datatype player_patch =
@@ -133,7 +134,6 @@ struct
type game_type = type game_type =
{ player: player { player: player
, playerProjectiles: player_projectile vector
, walls: wall vector , walls: wall vector
, wallTree: QuadTree.t , wallTree: QuadTree.t
, platforms: platform vector , platforms: platform vector
@@ -158,6 +158,7 @@ struct
, jumpPressed = false , jumpPressed = false
, enemies = Vector.fromList [] , enemies = Vector.fromList []
, charge = 60 , charge = 60
, projectiles = Vector.fromList []
} }
val wall1 = {id = 1, x = 0, y = 0, width = 100, height = 1080} val wall1 = {id = 1, x = 0, y = 0, width = 100, height = 1080}
@@ -177,7 +178,6 @@ struct
val enemyTree = Enemy.generateTree enemies val enemyTree = Enemy.generateTree enemies
in in
{ player = player { player = player
, playerProjectiles = Vector.fromList []
, walls = walls , walls = walls
, wallTree = wallTree , wallTree = wallTree
, platforms = platforms , platforms = platforms

View File

@@ -152,7 +152,6 @@ struct
let let
val val
{ player { player
, playerProjectiles
, walls , walls
, wallTree , wallTree
, platforms , platforms
@@ -170,7 +169,6 @@ struct
val enemyTree = Enemy.generateTree enemies val enemyTree = Enemy.generateTree enemies
in in
{ player = player { player = player
, playerProjectiles = playerProjectiles
, walls = walls , walls = walls
, wallTree = wallTree , wallTree = wallTree
, platforms = platforms , platforms = platforms

View File

@@ -16,6 +16,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) = ) =
{ yAxis = yAxis { yAxis = yAxis
, xAxis = xAxis , xAxis = xAxis
@@ -30,6 +31,7 @@ struct
, jumpPressed = jumpPressed , jumpPressed = jumpPressed
, enemies = enemies , enemies = enemies
, charge = charge , charge = charge
, projectiles = projectiles
} }
fun withPatch (player: player, patch) = fun withPatch (player: player, patch) =
@@ -48,6 +50,7 @@ struct
, jumpPressed , jumpPressed
, enemies , enemies
, charge , charge
, projectiles
} = player } = player
in in
case patch of case patch of
@@ -66,6 +69,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_Y_AXIS yAxis => | W_Y_AXIS yAxis =>
mkPlayer mkPlayer
@@ -82,6 +86,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_RECOIL recoil => | W_RECOIL recoil =>
mkPlayer mkPlayer
@@ -98,6 +103,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_ATTACKED attacked => | W_ATTACKED attacked =>
mkPlayer mkPlayer
@@ -114,6 +120,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_MAIN_ATTACK mainAttack => | W_MAIN_ATTACK mainAttack =>
mkPlayer mkPlayer
@@ -130,6 +137,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_FACING facing => | W_FACING facing =>
mkPlayer mkPlayer
@@ -146,6 +154,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_HEALTH health => | W_HEALTH health =>
mkPlayer mkPlayer
@@ -162,6 +171,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_X x => | W_X x =>
mkPlayer mkPlayer
@@ -178,6 +188,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_Y y => | W_Y y =>
mkPlayer mkPlayer
@@ -194,6 +205,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_JUMP_PRESSED jumpPressed => | W_JUMP_PRESSED jumpPressed =>
mkPlayer mkPlayer
@@ -210,6 +222,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_ENEMIES enemies => | W_ENEMIES enemies =>
mkPlayer mkPlayer
@@ -226,6 +239,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
| W_CHARGE charge => | W_CHARGE charge =>
mkPlayer mkPlayer
@@ -242,6 +256,7 @@ struct
, mainAttackPressed , mainAttackPressed
, enemies , enemies
, charge , charge
, projectiles
) )
end end