summaryrefslogtreecommitdiffstats
path: root/HTanks.hs
diff options
context:
space:
mode:
Diffstat (limited to 'HTanks.hs')
-rw-r--r--HTanks.hs12
1 files changed, 9 insertions, 3 deletions
diff --git a/HTanks.hs b/HTanks.hs
index 871b455..1f6ac11 100644
--- a/HTanks.hs
+++ b/HTanks.hs
@@ -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) $