Changeset 20025 for lang/haskell
- Timestamp:
- 09/27/08 13:12:58 (2 months ago)
- Location:
- lang/haskell/nario
- Files:
-
- 6 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/haskell/nario/Const.hs
r20004 r20025 13 13 -- 画像 14 14 data ImageType = 15 ImgNario00 | ImgNario01 | ImgNario02 | ImgNario03 | ImgNario04 16 | ImgNario10 | ImgNario11 | ImgNario12 | ImgNario13 | ImgNario14 17 | ImgBlock1 | ImgBlock2 | ImgBlock3 | ImgBlock4 | ImgBlock5 15 ImgNario00 | ImgNario01 | ImgNario02 | ImgNario03 | ImgNario04 16 | ImgNario10 | ImgNario11 | ImgNario12 | ImgNario13 | ImgNario14 17 | ImgBlock1 | ImgBlock2 | ImgBlock3 | ImgBlock4 | ImgBlock5 18 | ImgMt02 | ImgMt11 | ImgMt12 | ImgMt13 | ImgMt22 19 | ImgCloud00 | ImgCloud01 | ImgCloud02 | ImgCloud10 | ImgCloud11 | ImgCloud12 20 | ImgDk00 | ImgDk01 | ImgDk10 | ImgDk11 21 | ImgGrass00 | ImgGrass01 | ImgGrass02 18 22 deriving Eq 19 23 … … 34 38 imageFn ImgBlock4 = "block4.bmp" 35 39 imageFn ImgBlock5 = "block5.bmp" 40 imageFn ImgMt02 = "mt02.bmp" 41 imageFn ImgMt11 = "mt11.bmp" 42 imageFn ImgMt12 = "mt12.bmp" 43 imageFn ImgMt13 = "mt13.bmp" 44 imageFn ImgMt22 = "mt22.bmp" 45 imageFn ImgCloud00 = "cloud00.bmp" 46 imageFn ImgCloud01 = "cloud01.bmp" 47 imageFn ImgCloud02 = "cloud02.bmp" 48 imageFn ImgCloud10 = "cloud10.bmp" 49 imageFn ImgCloud11 = "cloud11.bmp" 50 imageFn ImgCloud12 = "cloud12.bmp" 51 imageFn ImgDk00 = "dk00.bmp" 52 imageFn ImgDk01 = "dk01.bmp" 53 imageFn ImgDk10 = "dk10.bmp" 54 imageFn ImgDk11 = "dk11.bmp" 55 imageFn ImgGrass00 = "grass00.bmp" 56 imageFn ImgGrass01 = "grass01.bmp" 57 imageFn ImgGrass02 = "grass02.bmp" 36 58 37 59 images = [ 38 60 ImgNario00, ImgNario01, ImgNario02, ImgNario03, ImgNario04, 39 61 ImgNario10, ImgNario11, ImgNario12, ImgNario13, ImgNario14, 40 ImgBlock1, ImgBlock2, ImgBlock3, ImgBlock4, ImgBlock5 62 ImgBlock1, ImgBlock2, ImgBlock3, ImgBlock4, ImgBlock5, 63 ImgMt02, ImgMt11, ImgMt12, ImgMt13, ImgMt22, 64 ImgCloud00, ImgCloud01, ImgCloud02, ImgCloud10, ImgCloud11, ImgCloud12, 65 ImgDk00, ImgDk01, ImgDk10, ImgDk11, 66 ImgGrass00, ImgGrass01, ImgGrass02 41 67 ] -
lang/haskell/nario/Field.hs
r20004 r20025 21 21 fieldMap :: Field 22 22 fieldMap = [ 23 " ", 24 " ", 25 " ", 26 " ", 27 " ", 28 " ", 29 " O?O ", 30 " ", 31 " ", 32 " O?O?O ", 33 " ", 34 " ", 35 " ", 36 "@@@@@@@@@@@@@@@@", 37 "@@@@@@@@@@@@@@@@" 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 "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 38 39 ] 39 40 … … 45 46 chr2img 'O' = ImgBlock2 46 47 chr2img '?' = ImgBlock4 48 chr2img '_' = ImgMt02 49 chr2img '/' = ImgMt11 50 chr2img ',' = ImgMt12 51 chr2img '`' = ImgMt13 52 chr2img '.' = ImgMt22 53 chr2img '1' = ImgCloud00 54 chr2img '2' = ImgCloud01 55 chr2img '3' = ImgCloud02 56 chr2img '4' = ImgCloud10 57 chr2img '5' = ImgCloud11 58 chr2img '6' = ImgCloud12 59 chr2img '7' = ImgGrass00 60 chr2img '8' = ImgGrass01 61 chr2img '9' = ImgGrass02 62 chr2img '[' = ImgDk00 63 chr2img ']' = ImgDk01 64 chr2img 'l' = ImgDk10 65 chr2img '|' = ImgDk11 47 66 48 67 49 68 isBlock :: Cell -> Bool 50 isBlock c = c `elem` "@O? "69 isBlock c = c `elem` "@O?[]l|" 51 70 52 71 inField :: Field -> Int -> Int -> Bool … … 59 78 60 79 61 renderField sur imgres = sequence_ $ concatMap lineProc $ zip [0..] fieldMap80 renderField sur imgres scrx = sequence_ $ concatMap lineProc $ zip [0..] fieldMap 62 81 where 63 82 lineProc (y, ln) = map (cellProc y) $ zip [0..] ln … … 66 85 then return () 67 86 else do 68 blitSurface (getImageSurface imgres $ chr2img c) Nothing sur $ pt (x*16 ) (y*16)87 blitSurface (getImageSurface imgres $ chr2img c) Nothing sur $ pt (x*16 - scrx) (y*16) 69 88 return () 70 89 -
lang/haskell/nario/Main.hs
r20004 r20025 97 97 fillRect sur Nothing backColor 98 98 99 renderField sur imgres 100 renderPlayer sur (pl gs) imgres 99 let scrx = getScrollPos (pl gs) 100 101 renderField sur imgres scrx 102 renderPlayer sur imgres scrx (pl gs) 101 103 102 104 flipSurface sur -
lang/haskell/nario/Player.hs
r20004 r20025 6 6 newPlayer, 7 7 updatePlayer, 8 renderPlayer 8 renderPlayer, 9 getScrollPos 9 10 ) where 10 11 … … 28 29 vx :: Int, 29 30 vy :: Int, 31 scrx :: Int, 30 32 stand :: Bool, 31 33 … … 40 42 vx = 0, 41 43 vy = 0, 44 scrx = 0, 42 45 stand = False, 43 46 … … 70 73 | ax /= 0 = rangeadd (vx player) ax (-maxspd) maxspd 71 74 | otherwise = friction (vx player) acc 72 x' = (x player) + vx' 75 x' = max xmin $ (x player) + vx' 76 scrx' 77 | vx' > 0 && (x' - (scrx player)) `div` one > 160 = (scrx player) + vx' 78 | otherwise = (scrx player) 79 73 80 padl = if isPressed (kp PadL) then 1 else 0 74 81 padr = if isPressed (kp PadR) then 1 else 0 … … 76 83 | isPressed (kp PadB) = maxVx * 2 77 84 | otherwise = maxVx 85 xmin = (scrx player) + chrSize `div` 2 * one 78 86 79 player' = player { x = x', vx = vx' }87 player' = player { x = x', vx = vx', scrx = scrx' } 80 88 81 89 lr' = … … 145 153 146 154 147 renderPlayer sur player imgres = do 155 getScrollPos :: Player -> Int 156 getScrollPos player = (scrx player) `div` one 157 158 renderPlayer sur imgres scrx player = do 148 159 blitSurface (getImageSurface imgres imgtype) Nothing sur pos 149 160 where 150 pos = pt ((x player) `div` one - chrSize `div` 2 ) ((y player) `div` one - chrSize)161 pos = pt ((x player) `div` one - chrSize `div` 2 - scrx) ((y player) `div` one - chrSize) 151 162 imgtype = imgTable !! (lr player) !! (pat player) -
lang/haskell/nario/README.txt
r19999 r20025 20 20 B�{�^�� 21 21 22 �G�X�P�[�v�L�[ 23 �I�� 24 -
lang/haskell/nario/Util.hs
r20004 r20025 100 100 sur <- loadBMP $ ("img/" ++) $ imageFn imgtype 101 101 -- colorKey <- mapRGB (surfacePixelFormat sur) $ Color r g b a 102 setColorKey sur [SRCCOLORKEY] 0 102 let colorKey = 0xff00ff 103 setColorKey sur [SRCCOLORKEY] colorKey 103 104 return (imgtype, sur) 104 r = 0105 r = 255 105 106 g = 0 106 b = 0107 b = 255 107 108 a = 255 108 109
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)