Changeset 20026 for lang/haskell
- Timestamp:
- 09/27/08 13:27:54 (8 weeks ago)
- Location:
- lang/haskell/nario
- Files:
-
- 2 added
- 4 modified
-
Field.hs (modified) (4 diffs)
-
Main.hs (modified) (3 diffs)
-
README.txt (modified) (2 diffs)
-
Util.hs (modified) (1 diff)
-
data (added)
-
data/stage0.map (added)
Legend:
- Unmodified
- Added
- Removed
-
lang/haskell/nario/Field.hs
r20025 r20026 2 2 module Field ( 3 3 Field, 4 getField,4 loadField, 5 5 fieldRef, 6 6 isBlock, … … 19 19 -- マップ 20 20 21 fieldMap :: Field 22 fieldMap = [ 23 -- 111111111111111122222222222222223333333333333333 24 " ", 25 " 123 1223 ", 26 " 123 456 12223 4556 ", 27 " 456 45556 ", 28 " ", 29 " ? ", 30 " ", 31 " ", 32 " ", 33 " _ ? O?O?O []", 34 " /,` [] l|", 35 " /,.,` _ [] l| l|", 36 "/.....` 78889/,` 789 l| l| 7889 l|", 37 "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 38 "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 39 ] 21 -- マップ読み込み 22 loadField :: Int -> IO Field 23 loadField stage = readFile fn >>= return . lines 24 where 25 fn = "data/stage" ++ (show stage) ++ ".map" 40 26 41 42 getField :: Int -> Field43 getField stage = fieldMap44 27 45 28 chr2img '@' = ImgBlock1 … … 49 32 chr2img '/' = ImgMt11 50 33 chr2img ',' = ImgMt12 51 chr2img ' `' = ImgMt1334 chr2img '\\' = ImgMt13 52 35 chr2img '.' = ImgMt22 53 36 chr2img '1' = ImgCloud00 … … 78 61 79 62 80 renderField sur imgres scrx = sequence_ $ concatMap lineProc $ zip [0..] fieldMap63 renderField sur imgres scrx fld = sequence_ $ concatMap lineProc $ zip [0..] fld 81 64 where 82 65 lineProc (y, ln) = map (cellProc y) $ zip [0..] ln -
lang/haskell/nario/Main.hs
r20025 r20026 33 33 main :: IO () 34 34 main = sdlStart [VIDEO] wndTitle wndSize $ \sur -> do 35 gs <- newIORef initState35 gs <- newIORef =<< initState 36 36 imgres <- loadImageResource 37 37 … … 76 76 77 77 -- 開始状態 78 initState :: GameState79 initState = 80 GameState {78 initState = do 79 fldmap <- loadField stage 80 return GameState { 81 81 pl = newPlayer, 82 fld = getField stage82 fld = fldmap 83 83 } 84 84 where … … 99 99 let scrx = getScrollPos (pl gs) 100 100 101 renderField sur imgres scrx 101 renderField sur imgres scrx (fld gs) 102 102 renderPlayer sur imgres scrx (pl gs) 103 103 -
lang/haskell/nario/README.txt
r20025 r20026 8 8 HSDL 9 9 http://fxp.hp.infoseek.co.jp/haskell/HSDL/ 10 11 10 12 11 … … 23 22 �I�� 24 23 24 25 26 ���t�@�C���\�� 27 data 28 �f�[�^ 29 data/img 30 �摜�f�[�^ 31 -
lang/haskell/nario/Util.hs
r20025 r20026 98 98 where 99 99 load imgtype = do 100 sur <- loadBMP $ (" img/" ++) $ imageFn imgtype100 sur <- loadBMP $ ("data/img/" ++) $ imageFn imgtype 101 101 -- colorKey <- mapRGB (surfacePixelFormat sur) $ Color r g b a 102 102 let colorKey = 0xff00ff
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)