diff --git a/O21.Game/Engine/GameRules.fs b/O21.Game/Engine/GameRules.fs index 087bb11..30a9093 100644 --- a/O21.Game/Engine/GameRules.fs +++ b/O21.Game/Engine/GameRules.fs @@ -39,7 +39,7 @@ let ClampVelocity(Vector(x, y)): Vector = ) [] -let MaxOxygenUnits = 5 +let MaxOxygenUnits = 100 [] let OxygenUnitPeriod = 22 diff --git a/O21.Tests/GameEngineTests.fs b/O21.Tests/GameEngineTests.fs index 1b10696..61bd459 100644 --- a/O21.Tests/GameEngineTests.fs +++ b/O21.Tests/GameEngineTests.fs @@ -158,6 +158,19 @@ module OxygenSystem = let gameEngine = frameUpN timeZero period gameEngine Assert.Equal(expected, gameEngine.Player.OxygenAmount) + [] + let ``Player dies when oxygen amount is empty``(): unit = + let level = { LevelMap = [| [| Empty |] |] } + let player = Player.Default + + let player = { player with Player.Oxygen.Amount = 1 } + let player' = player.Update(level, 0); + Assert.True(match player' with | PlayerEffect.Update _ -> true | _ -> false) + + let player = { player with Player.Oxygen.Amount = -1 } + let player' = player.Update(level, 0) + Assert.True(match player' with | PlayerEffect.Die -> true | _ -> false) + module ParticleSystem = []