8 mkAlien
:: Id
-> Coord
-> StdGen -> Level
-> Piece
9 mkAlien
id xy rng lv
= thinkAlien rng al p
where
14 graphics
= repeat undefined,
19 thinkAlien
:: StdGen -> Level
-> () -> Piece
-> Piece
20 thinkAlien rng lv mem p
= p
{ transfer
= state0
} where
21 state0 c
= p
{ transfer
= state1
}
22 state1 c
= p
{ transfer
= state0
}
23 state2 c
= thinkAlien rng
' lv mem
(p
{ transfer
= state
' }) where
24 (coin
, rng
') = random rng
25 state
' = if coin
then state0
else state1