on master help sign in
Rogue: be gender-nonspecific: rename "dude" to "player" everywhere
d3697b7Jonathan Daugherty
test/Rogue.hs+21−21
@@ -12,13 +12,13 @@ import Control.Monad.RWS
12
12
13import System.Random
13import System.Random
14
14
15−data Dude = Dude
15+data Player = Player
16− { dudeX :: Int
16+ { playerX :: Int
17− , dudeY :: Int
17+ , playerY :: Int
18 } deriving (Show,Eq)
18 } deriving (Show,Eq)
19
19
20data World = World
20data World = World
21− { dude :: Dude
21+ { player :: Player
22 , level :: Level
22 , level :: Level
23 }
23 }
24 deriving (Show,Eq)
24 deriving (Show,Eq)
@@ -45,7 +45,7 @@ main :: IO ()
45main = do
45main = do
46 vty <- mkVty def
46 vty <- mkVty def
47 level0 <- mkLevel 1
47 level0 <- mkLevel 1
48− let world0 = World (Dude (fst $ levelStart level0) (snd $ levelStart level0)) level0
48+ let world0 = World (Player (fst $ levelStart level0) (snd $ levelStart level0)) level0
49 (_finalWorld, ()) <- execRWST (play >> updateDisplay) vty world0
49 (_finalWorld, ()) <- execRWST (play >> updateDisplay) vty world0
50 shutdown vty
50 shutdown vty
51
51
@@ -98,33 +98,33 @@ processEvent = do
98 else do
98 else do
99 case k of
99 case k of
100 EvKey (KChar 'r') [MCtrl] -> ask >>= liftIO . refresh
100 EvKey (KChar 'r') [MCtrl] -> ask >>= liftIO . refresh
101− EvKey KLeft [] -> moveDude (-1) 0
101+ EvKey KLeft [] -> movePlayer (-1) 0
102− EvKey KRight [] -> moveDude 1 0
102+ EvKey KRight [] -> movePlayer 1 0
103− EvKey KUp [] -> moveDude 0 (-1)
103+ EvKey KUp [] -> movePlayer 0 (-1)
104− EvKey KDown [] -> moveDude 0 1
104+ EvKey KDown [] -> movePlayer 0 1
105 _ -> return ()
105 _ -> return ()
106 return False
106 return False
107
107
108−moveDude :: Int -> Int -> Game ()
108+movePlayer :: Int -> Int -> Game ()
109−moveDude dx dy = do
109+movePlayer dx dy = do
110 world <- get
110 world <- get
111− let Dude x y = dude world
111+ let Player x y = player world
112 let x' = x + dx
112 let x' = x + dx
113 y' = y + dy
113 y' = y + dy
114 -- this is only valid because the level generation assures the border is always Rock
114 -- this is only valid because the level generation assures the border is always Rock
115 case levelGeo (level world) ! (x',y') of
115 case levelGeo (level world) ! (x',y') of
116− EmptySpace -> put $ world { dude = Dude x' y' }
116+ EmptySpace -> put $ world { player = Player x' y' }
117 _ -> return ()
117 _ -> return ()
118
118
119updateDisplay :: Game ()
119updateDisplay :: Game ()
120updateDisplay = do
120updateDisplay = do
121 let info = string defAttr "Move with the arrows keys. Press ESC to exit."
121 let info = string defAttr "Move with the arrows keys. Press ESC to exit."
122− -- determine offsets to place the dude in the center of the level.
122+ -- determine offsets to place the player in the center of the level.
123 (w,h) <- asks outputIface >>= liftIO . displayBounds
123 (w,h) <- asks outputIface >>= liftIO . displayBounds
124− theDude <- gets dude
124+ thePlayer <- gets player
125− let ox = (w `div` 2) - dudeX theDude
125+ let ox = (w `div` 2) - playerX thePlayer
126− oy = (h `div` 2) - dudeY theDude
126+ oy = (h `div` 2) - playerY thePlayer
127− -- translate the world images to place the dude in the center of the level.
127+ -- translate the world images to place the player in the center of the level.
128 world' <- map (translate ox oy) <$> worldImages
128 world' <- map (translate ox oy) <$> worldImages
129 let pic = picForLayers $ info : world'
129 let pic = picForLayers $ info : world'
130 vty <- ask
130 vty <- ask
@@ -132,10 +132,10 @@ updateDisplay = do
132
132
133worldImages :: Game [Image]
133worldImages :: Game [Image]
134worldImages = do
134worldImages = do
135− theDude <- gets dude
135+ thePlayer <- gets player
136 theLevel <- gets level
136 theLevel <- gets level
137− let dudeImage = translate (dudeX theDude) (dudeY theDude) (char pieceA '@')
137+ let playerImage = translate (playerX thePlayer) (playerY thePlayer) (char pieceA '@')
138− return [dudeImage, levelGeoImage theLevel]
138+ return [playerImage, levelGeoImage theLevel]
139
139
140buildGeoImage :: Geo -> Image
140buildGeoImage :: Geo -> Image
141buildGeoImage geo =
141buildGeoImage geo =