From 7133a728596918544601a18e3090281eaff34ad1 Mon Sep 17 00:00:00 2001 From: melody! Date: Wed, 7 Aug 2024 21:23:52 -0400 Subject: did stuff --- src/Beekeep.hs | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/Beekeep.hs (limited to 'src/Beekeep.hs') 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 + -- cgit 1.4.1-2-gfad0