X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=advent22%2FMain.hs;h=a80afe48cc59bebddcfaa34579cc5528c903f340;hb=7ac14791ee38965b8b82f761de68c33a2809e7ec;hp=87bdf6cb0b834c2cbd0d6cb577e28c41a49e1d1b;hpb=5e886d892c0bef76b3f0fbac7de1001e75dabebb;p=advent-of-code-23.git diff --git a/advent22/Main.hs b/advent22/Main.hs index 87bdf6c..a80afe4 100644 --- a/advent22/Main.hs +++ b/advent22/Main.hs @@ -63,9 +63,11 @@ dropBlocks blocks = foldl' dropBlock [] blocks dropBlock :: [Block] -> Block -> [Block] dropBlock resting block = resting ++ [over both (^-^ (V3 0 0 fallDistance)) block] - where _2xy = alongside _xy _xy - blockPlane = block ^. _2xy - under = filter ((intersectsXY blockPlane) . (view _2xy)) resting + where -- _2xy = alongside _xy _xy + -- blockPlane = block ^. _2xy + blockPlane = over both (view _xy) block + -- under = filter ((intersectsXY blockPlane) . (view _2xy)) resting + under = filter ((intersectsXY blockPlane) . (over both (view _xy))) resting highestUnder = maxZ under fallDistance = block ^. _1 . _z - highestUnder - 1