diff options
Diffstat (limited to 'HTanks.hs')
-rw-r--r-- | HTanks.hs | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -5,6 +5,7 @@ import Level import Render import Tank import Player +import CPUPlayer import DefaultPlayer import GLDriver @@ -42,8 +43,13 @@ main = do when (initialized gl) $ do currentTime <- getCurrentTime - let mainState = MainState {run = True, driver = SomeDriver gl, time = currentTime, players = [SomePlayer $ DefaultPlayer S.empty]} - gameState = GameState {level = testLevel, tanks = [Tank 0.0 0.0 0 0 2 360 False], textures = M.empty} + let mainState = MainState {run = True, driver = SomeDriver gl, time = currentTime, players = + [ SomePlayer $ DefaultPlayer S.empty + , SomePlayer $ CPUPlayer 0 + ]} + gameState = GameState {level = testLevel, tanks = [ Tank 0.0 0.0 0 0 2 360 False + , Tank 0.0 (-1.5) 0 0 2 360 False + ], textures = M.empty} runGame gameState $ do setup 800 600 @@ -82,7 +88,6 @@ mainLoop = do when runnext mainLoop - updateAngle :: Micro -> State Tank () updateAngle angle = do oldangle <- gets dir @@ -117,6 +122,7 @@ updateAngle angle = do modify $ \tank -> tank {dir = newangle180} + updateTank :: Maybe Micro -> Bool -> State Tank () updateTank angle move = do when (isJust angle) $ |