module Strategy0 where
|
|
|
|
import Datatypes
|
|
import qualified Datatypes.Game as Game
|
|
import VM
|
|
|
|
seswlist = cycle [MoveSE, MoveSW]
|
|
|
|
strat0 :: Game -> ([Command],Int)
|
|
strat0 game = (take nsteps seswlist, score)
|
|
where
|
|
(nsteps, score) = stepr game
|
|
|
|
stepr :: Game -> (Int,Int)
|
|
stepr game = if notes == GameOver
|
|
then (1,score)
|
|
else (1 + (fst new_step), snd new_step)
|
|
where
|
|
(new_game,notes) = step game MoveSE
|
|
score = Game.score new_game
|
|
new_step = (stepl new_game)
|
|
|
|
stepl :: Game -> (Int,Int)
|
|
stepl game = if notes == GameOver
|
|
then (1,score)
|
|
else (1 + (fst new_step), snd new_step)
|
|
where
|
|
(new_game,notes) = step game MoveSW
|
|
score = Game.score new_game
|
|
new_step = (stepr new_game)
|
|
|