Show
Ignore:
Timestamp:
10/04/08 13:02:36 (3 months ago)
Author:
mokehehe
Message:

きのこ追加

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/haskell/nario/Actor.hs

    r20661 r20670  
    22 
    33module Actor ( 
    4         Actor (..), 
    5         ObjWrapper (..), 
     4        Actor(..), 
     5        ObjWrapper(..), 
    66        updateActors, 
    77        filterActors, 
     
    1313import Event 
    1414import AppUtil 
     15import Field  
    1516 
    1617 
    1718class Actor a where 
    18         update :: a -> (a, [Event]) 
     19        update :: Field -> a -> (a, [Event]) 
    1920        render :: a -> ImageResource -> Int -> Surface -> IO () 
    2021        bDead :: a -> Bool 
    21  
     22        bDead _ = False 
    2223 
    2324-- ============================================================================ 
     
    2627data ObjWrapper = forall a. Actor a => ObjWrapper a     -- 存在型aの動く範囲を型クラスに制限 
    2728 
    28 updateActors :: [ObjWrapper] -> [(ObjWrapper, [Event])] 
    29 updateActors = map (\(ObjWrapper x) -> let (x', ev') = update x in (ObjWrapper x', ev')) 
     29updateActors :: Field -> [ObjWrapper] -> [(ObjWrapper, [Event])] 
     30updateActors fld = map (\(ObjWrapper x) -> let (x', ev') = update fld x in (ObjWrapper x', ev')) 
    3031 
    3132filterActors :: [ObjWrapper] -> [ObjWrapper]