diff options
author | melody! | 2024-08-07 21:23:52 -0400 |
---|---|---|
committer | melody! | 2024-08-07 21:23:52 -0400 |
commit | 7133a728596918544601a18e3090281eaff34ad1 (patch) | |
tree | 79aa8aec9445372c8e6fe3f8bef723dd76cdefb3 /src/Beekeep.hs | |
parent | 7a6eb573543666ef3f642f84dbb4a386429bf75e (diff) |
did stuff
Diffstat (limited to 'src/Beekeep.hs')
-rw-r--r-- | src/Beekeep.hs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/Beekeep.hs b/src/Beekeep.hs new file mode 100644 index 0000000..9fb874a --- /dev/null +++ b/src/Beekeep.hs @@ -0,0 +1,41 @@ +module Beekeep + ( Garden + , Block (..) + , gardenWidth + , gardenHeight + , newGarden + , gardenSet + , gardenGet + ) where +import Bee +import Plant +import Data.Array.IO + +someFunc :: IO () +someFunc = putStrLn "someFunc" + +data Block = + BEmpty + | BPlant Plant + | BHive Beehive + +type Garden = IOArray Int Block + +gardenWidth :: Int +gardenWidth = 128 + +gardenHeight :: Int +gardenHeight = 128 + +newGarden :: IO Garden +newGarden = newArray (1, gardenWidth * gardenHeight) BEmpty + +calcGardenIndex :: (Int, Int) -> Int +calcGardenIndex (x, y) = x + y * gardenHeight + +gardenGet :: Garden -> (Int, Int) -> IO Block +gardenGet g coords = readArray g (calcGardenIndex coords) + +gardenSet :: Garden -> (Int, Int) -> Block -> IO () +gardenSet g coords b = writeArray g (calcGardenIndex coords) b + |