From 2912fb948842cb33451343a32e25fdc6f6867a79 Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Tue, 6 Dec 2022 13:39:30 -0800 Subject: [PATCH] support sizes other than 9 --- app/Parser.hs | 28 ++++++-- app/Rendering.hs | 94 +++++++++++++++----------- levels/center13.txt | 50 ++++---------- levels/center8.txt | 32 +++------ levels/cycle10.txt | 56 ++++------------ levels/eat11.txt | 66 ++++++------------- levels/enter2.txt | 52 +++++---------- levels/infiniteEnter11.txt | 96 +++++++-------------------- levels/infiniteEnter18.txt | 14 ++-- levels/infiniteEnter19.txt | 54 +++++---------- levels/infiniteEnter20.txt | 50 ++------------ levels/open4.txt | 44 +++++-------- levels/player10.txt | 38 ++++------- levels/player11.txt | 24 ++----- levels/player8.txt | 132 +++++-------------------------------- levels/swap3.txt | 40 ++++------- levels/transfer14.txt | 61 +++++++---------- levels/transfer26.txt | 94 +++++++++----------------- levels/transfer8.txt | 92 ++++++++------------------ 19 files changed, 346 insertions(+), 771 deletions(-) diff --git a/app/Parser.hs b/app/Parser.hs index 9fad19d..715cc67 100644 --- a/app/Parser.hs +++ b/app/Parser.hs @@ -34,7 +34,7 @@ parseBlocks (x:xs) = case words x of ["block", [name], color, boring] -> do color_ <- parseColor color - let (xs1,xs2) = splitAt 9 xs + let (xs1,xs2) = splitWalls xs let locs = findLocs name xs1 let b = Box undefined (Original (walls xs1)) color_ (boring == "boring") bs <- parseBlocks xs2 @@ -49,13 +49,17 @@ parseBlocks (x:xs) = pure ((name, Box undefined (Infinity target) color_ True,[]):bs) ["epsilon", [name], [target], color] -> do color_ <- parseColor color - let (xs1,xs2) = splitAt 9 xs + let (xs1,xs2) = splitWalls xs let locs = findLocs name xs1 let b = Box undefined (Epsilon target (walls xs1)) color_ False bs <- parseBlocks xs2 pure ((name, b, locs):bs) _ -> Left "bad block" +splitWalls (x:xs) = + case splitAt (length x - 1) xs of + (a,b) -> (x:a, b) + parseColor :: String -> Either String Attr parseColor "white" = Right (withForeColor defAttr white) parseColor "cyan" = Right (withForeColor defAttr cyan) @@ -68,11 +72,23 @@ parseColor "green" = Right (withForeColor defAttr green) parseColor x = Left ("bad color " ++ x) walls :: [String] -> Array Coord Bool -walls rows = listArray ((-4,-4),(4,4)) (map ('▓'==) (concat rows)) +walls rows = listArray ((ylo,xlo),(yhi,xhi)) (map ('▓'==) (concat rows)) + where + width = length (head rows) + height = length rows + ylo = - ((height - 1) `div` 2) + yhi = height `div` 2 + xlo = - ((width - 1) `div` 2) + xhi = width `div` 2 + +mkRange :: Int -> (Int, Int) +mkRange n = (-(n-1)`div`2, n`div`2) findLocs :: Char -> [[Char]] -> [(Char, Location)] findLocs name xs = [ (c, Location name y x) - | (y, row) <- zip [-4..] xs - , (x, c ) <- zip [-4..] row - ] \ No newline at end of file + | let (ylo, yhi) = mkRange (length xs) + , (y, row) <- zip [ylo .. yhi] xs + , let (xlo,xhi) = mkRange (length row) + , (x, c ) <- zip [xlo..xhi] row + ] diff --git a/app/Rendering.hs b/app/Rendering.hs index f8cf287..b8c5069 100644 --- a/app/Rendering.hs +++ b/app/Rendering.hs @@ -4,52 +4,55 @@ import Data.Array import Data.Map (Map) import Data.Map qualified as Map import Data.Set qualified as Set -import Data.List (intersperse) +import Data.List (intersperse, group) import Graphics.Vty - import Model border :: Int border = 20 -unit :: Attr -> Int -> Char -> Image -unit a scale x = - vertCat (replicate scale (string a (replicate (2*scale) x))) +unit :: Attr -> Int -> Int -> Char -> Image +unit a h w c = + vertCat (replicate h (string a (replicate w c))) drawBox :: Attr -> Int {- ^ width -} -> Int {- ^ height -} -> Image -drawBox a _ 1 = string a "[]" +drawBox a 2 1 = string a "[]" +drawBox a w 1 = string a ("[" ++ replicate (w-2) '-' ++ "]") drawBox a w h = vertCat $ string a ('┌' : replicate (w-2) '─' ++ "┐") : replicate (h-2) (string a ('│' : replicate (w-2) ' ' ++ "│")) ++ [string a ('└' : replicate (w-2) '─' ++ "┘")] -button :: Attr -> Int -> Image -button a 1 = string a "[]" -button a n = vertCat $ - string a ('┌' : replicate (2*n-2) '─' ++ "┐") : - replicate (n-2) (string a ('│' : replicate (2*n-2) '░' ++ "│")) ++ - [string a ('└' : replicate (2*n-2) '─' ++ "┘")] +button :: Attr -> Int -> Int -> Image +button a 1 2 = string a "[]" +button a 1 n = string a ("[" ++ replicate (n-2) '-' ++ "]") +button a h w = vertCat $ + string a ('┌' : replicate (w-2) '─' ++ "┐") : + replicate (h-2) (string a ('│' : replicate (w-2) '░' ++ "│")) ++ + [string a ('└' : replicate (w-2) '─' ++ "┘")] -home :: Attr -> Int -> Image -home a 1 = string a "<>" -home a n = vertCat $ - string a ('╔' : replicate (2*n-2) '═' ++ "╗") : - replicate (n-2) (string a ('║' : replicate (2*n-2) '░' ++ "║")) ++ - [string a ('╚' : replicate (2*n-2) '═' ++ "╝")] +home :: Attr -> Int -> Int -> Image +home a 1 2 = string a "<>" +home a 1 w = string a ("<" ++ replicate (w-2) '=' ++ ">") +home a h w = vertCat $ + string a ('╔' : replicate (w-2) '═' ++ "╗") : + replicate (h-2) (string a ('║' : replicate (w-2) '░' ++ "║")) ++ + [string a ('╚' : replicate (w-2) '═' ++ "╝")] -renderCell :: World -> Map Location Char -> Char -> Box -> Int -> Int -> Int -> Image -renderCell world locMap name box y x scale = - if boxWalls world box ! (y,x) then unit (boxColor box) scale wallChar +renderCell :: World -> Map Location Char -> Char -> Box -> Int -> Int -> Int -> Int -> Image +renderCell world locMap name box y x h w = + if boxWalls world box ! (y,x) then unit (boxColor box) h w wallChar else case Map.lookup (Location name' y x) locMap of Just n -> - if scale < 9 - then unit (boxColor (worldBoxes world Map.! n)) scale n - else renderBox world locMap (worldBoxes world Map.! n) n - (scale `div` boxSize world box) + let box' = worldBoxes world Map.! n + in if h < boxSize world box' + then unit (boxColor box') h w n + else renderBox world locMap box' n + h w Nothing - | Set.member loc (worldButtons world) -> button (boxColor box) scale - | loc == worldHome world -> home (boxColor box) scale - | otherwise -> unit (boxColor box) scale floorChar + | Set.member loc (worldButtons world) -> button (boxColor box) h w + | loc == worldHome world -> home (boxColor box) h w + | otherwise -> unit (boxColor box) h w floorChar where loc = Location name' y x name' = contentName world name box @@ -74,16 +77,19 @@ contentName world name box = Infinity c -> contentName world c (worldBoxes world Map.! c) Epsilon{} -> name -renderBox :: World -> Map Location Char -> Box -> Char -> Int -> Image -renderBox world locMap box name scale = +renderBox :: World -> Map Location Char -> Box -> Char -> Int -> Int -> Image +renderBox world locMap box name h w = vertCat [ horizCat [ - renderCell world locMap name box y x scale - | x <- [xlo .. xhi] + renderCell world locMap name box y x h w + | (x,w) <- zip [xlo .. xhi] (divisions boxWidth w) ] - | let ((ylo,xlo),(yhi,xhi)) = bounds (boxWalls world box) - , y <- [ylo .. yhi] + | (y,h) <- zip [ylo .. yhi] (divisions boxHeight h) ] + where + ((ylo,xlo),(yhi,xhi)) = bounds (boxWalls world box) + boxWidth = xhi - xlo + 1 + boxHeight = yhi - ylo + 1 render :: Bool {- ^ show flat overlay -} -> @@ -115,7 +121,7 @@ renderFlat locMap world = pad 2 1 2 1 $ horizCat $ intersperse (char borderAttr ' ') - [renderBox world locMap b n 2 + [renderBox world locMap b n 18 36 | (n,b) <- Map.assocs (worldBoxes world) , not (boxBoring b)] @@ -133,10 +139,10 @@ drawNestedWorld locMap world = intersperse (char defAttr ' ') [ case stackedLoc world locMap (Location name1 y_ x_) of - Nothing -> unit (withForeColor defAttr black) 81 '?' + Nothing -> unit (withForeColor defAttr black) 81 162 '?' Just (Location n y x) -> let box = worldBoxes world Map.! n in - renderCell world locMap n box y x 81 + renderCell world locMap n box y x 81 (81*2) | x_ <- [x1-1 .. x1+1] ] | y_ <- [y1-1 .. y1+1] @@ -192,4 +198,16 @@ fixup1 :: Int -> Int -> Int -> Int -> Int fixup1 _ _ 0 i = i fixup1 _ hi (-1) _ = hi fixup1 lo _ 1 _ = lo -fixup1 _ _ _ _ = error "fixup1: bad delta" \ No newline at end of file +fixup1 _ _ _ _ = error "fixup1: bad delta" + +divisions :: Int -> Int -> [Int] +divisions divs size = + map length $ group + [ round ( + (fromIntegral i + 1 / 2) + / fromIntegral size + * fromIntegral divs + - 1/2 + ) + | i <- [0 ..size-1] + ] diff --git a/levels/center13.txt b/levels/center13.txt index ef6287d..dfd7bcb 100644 --- a/levels/center13.txt +++ b/levels/center13.txt @@ -1,14 +1,10 @@ player p block t cyan boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓t▓a▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓t▓a▓ +▓▓▓▓▓ +▓▓▓▓▓ block a cyan interesting ▓▓▓▓▓▓▓▓▓ ▓ p =▓ @@ -20,32 +16,14 @@ block a cyan interesting ▓ ▓ ▓ ▓▓▓▓▓▓▓▓▓ block g green interesting - - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - + + ▓ + block x yellow boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓ ▓▓▓ ▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ diff --git a/levels/center8.txt b/levels/center8.txt index d74caf9..e08fc31 100644 --- a/levels/center8.txt +++ b/levels/center8.txt @@ -20,32 +20,16 @@ block a white interesting ▓▓▓▓- =▓▓ ▓▓▓▓▓▓▓▓▓ block g green interesting - x ▓▓ - ▓▓▓▓▓ - - - - + x ▓ + ▓▓▓ block x yellow boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓ ▓▓▓ ▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓▓ +▓ ▓▓ ▓ +▓▓▓▓▓▓ +▓▓▓▓▓▓ +▓▓▓▓▓▓ diff --git a/levels/cycle10.txt b/levels/cycle10.txt index 122d256..071ba59 100644 --- a/levels/cycle10.txt +++ b/levels/cycle10.txt @@ -11,52 +11,18 @@ block g green interesting ▓ ▓ ▓ link G g green block c yellow interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓ -▓▓▓ = -▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓ +▓= +▓▓▓ block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓ ▓▓▓ ▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ block 1 red boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block 2 red boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block 3 red boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ diff --git a/levels/eat11.txt b/levels/eat11.txt index 04aa8f9..6ed1ab8 100644 --- a/levels/eat11.txt +++ b/levels/eat11.txt @@ -1,14 +1,10 @@ player p block t red boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓t▓r▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓t▓r▓ +▓▓▓▓▓ +▓▓▓▓▓ block r red interesting ▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ @@ -20,42 +16,22 @@ block r red interesting ▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓ ▓▓▓ ▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ block b blue interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ - ▓▓ - ▓▓ - ▓▓ - ▓▓ - ▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ + ▓ + ▓ + ▓ +▓▓▓▓▓ block g green interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓-▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -▓▓▓▓-▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓-▓▓ +▓▓ ▓▓ +▓▓-▓▓ block y yellow boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ diff --git a/levels/enter2.txt b/levels/enter2.txt index a490edf..2ef3870 100644 --- a/levels/enter2.txt +++ b/levels/enter2.txt @@ -1,14 +1,10 @@ player p block t white boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓t▓a▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓t▓a▓ +▓▓▓▓▓ +▓▓▓▓▓ block a white interesting ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓ @@ -20,32 +16,16 @@ block a white interesting ▓▓▓▓ ▓ ▓▓▓▓▓▓▓▓▓ block c yellow interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓ ▓▓▓ -▓▓▓ -▓▓▓ ▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ +▓ +▓ ▓ +▓▓▓▓▓ block b blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓ ▓▓▓ ▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ diff --git a/levels/infiniteEnter11.txt b/levels/infiniteEnter11.txt index b71de22..66872fb 100644 --- a/levels/infiniteEnter11.txt +++ b/levels/infiniteEnter11.txt @@ -1,14 +1,10 @@ player p block t white boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓t▓▓▓w▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓t▓w▓ +▓▓▓▓▓ +▓▓▓▓▓ block w white interesting ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓ @@ -22,72 +18,28 @@ block w white interesting link G g green link H g green block g green interesting - - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - ▓▓▓▓▓▓▓ - + + ▓ + epsilon ε g green - 4 - - - -1 --- 3 - - -▓H -▓▓ 2 + 4 + + +1 --- 3 + +▓H +▓▓ 2 block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓ ▓▓▓ ▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ block 1 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block 2 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block 3 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block 4 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ \ No newline at end of file +▓ diff --git a/levels/infiniteEnter18.txt b/levels/infiniteEnter18.txt index 05e4269..a51c96f 100644 --- a/levels/infiniteEnter18.txt +++ b/levels/infiniteEnter18.txt @@ -12,15 +12,9 @@ block g green interesting infinity ∞ g green link G g green epsilon ε g green -▓▓▓▓ ▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓ ▓▓▓ -▓▓▓ ▓▓▓▓▓ - ▓▓▓ ▓▓▓ -▓▓▓ ▓▓▓▓▓ -▓▓▓▓ ▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓ ▓▓▓▓ +▓ ▓ + ▓ +▓ ▓ block y yellow interesting ▓▓▓▓ ▓ ▓▓ ▓▓▓▓ ▓ ▓▓ @@ -40,4 +34,4 @@ block p magenta boring ▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ \ No newline at end of file +▓▓▓▓▓▓▓▓▓ diff --git a/levels/infiniteEnter19.txt b/levels/infiniteEnter19.txt index ee36569..49735df 100644 --- a/levels/infiniteEnter19.txt +++ b/levels/infiniteEnter19.txt @@ -1,14 +1,10 @@ player p block t white boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓t▓w▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓t▓w▓ +▓▓▓▓▓ +▓▓▓▓▓ block w white interesting ▓▓▓▓▓▓▓▓▓ ▓▓ g G ▓▓ @@ -20,34 +16,20 @@ block w white interesting ▓ ▓▓▓▓▓ ▓ ▓▓▓▓▓▓▓▓▓ block g green interesting - - - - - - - - ▓ - + + + + ▓ + infinity ∞ g green link G g green epsilon ε g green - - - - - - - - - + + + block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓ ▓▓▓ ▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ diff --git a/levels/infiniteEnter20.txt b/levels/infiniteEnter20.txt index 26c1dda..fe28db9 100644 --- a/levels/infiniteEnter20.txt +++ b/levels/infiniteEnter20.txt @@ -42,52 +42,12 @@ epsilon ε r red block 1 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block 2 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block 3 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block 4 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block 5 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ diff --git a/levels/open4.txt b/levels/open4.txt index 93d33a0..f87dd13 100644 --- a/levels/open4.txt +++ b/levels/open4.txt @@ -10,32 +10,20 @@ block a cyan interesting ▓▓ ▓ ▓▓ ▓ block g green interesting -▓▓▓▓ ▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -▓▓▓▓ ▓▓▓▓ -block y yellow boring -▓▓▓▓▓▓ ▓▓ -▓▓▓▓▓▓=▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓ ▓▓ +▓▓ ▓▓ +▓▓ ▓▓ +▓▓ ▓▓ +▓▓ ▓▓ +block y yellow interesting +▓▓▓ ▓ +▓▓▓=▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓ ▓▓▓ ▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ diff --git a/levels/player10.txt b/levels/player10.txt index a8c1772..204c5b0 100644 --- a/levels/player10.txt +++ b/levels/player10.txt @@ -1,14 +1,10 @@ player p block t cyan boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓t▓▓▓a▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓t▓a▓ +▓▓▓▓▓ +▓▓▓▓▓ block a cyan interesting ▓▓▓▓▓▓▓▓▓ ▓▓ 1▓▓ @@ -22,22 +18,10 @@ block a cyan interesting link p c magenta link C c magenta block 1 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block c magenta interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓ -▓▓▓▓▓ -▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ +▓ +▓ +▓▓▓▓▓ diff --git a/levels/player11.txt b/levels/player11.txt index 4ac5834..39de90c 100644 --- a/levels/player11.txt +++ b/levels/player11.txt @@ -1,14 +1,10 @@ player A block t cyan boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓a▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓t▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓a▓t▓ +▓▓▓▓▓ +▓▓▓▓▓ block a red interesting @@ -31,12 +27,4 @@ block b yellow interesting block 1 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ diff --git a/levels/player8.txt b/levels/player8.txt index 97c5d4f..8bbe1a0 100644 --- a/levels/player8.txt +++ b/levels/player8.txt @@ -1,14 +1,10 @@ player p block t white boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓t▓w▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓t▓w▓ +▓▓▓▓▓ +▓▓▓▓▓ block w white interesting ▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ @@ -20,112 +16,16 @@ block w white interesting ▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ block c red interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ --▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓ +-▓▓ +▓▓▓ block p red interesting -▓▓▓▓▓▓▓▓▓ -▓▓ ▓▓▓ ▓▓ -▓▓▓▓▓▓▓▓▓ - - 3456789 - -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓ + +▓▓▓ block 1 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -block 2 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -block 3 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -block 4 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -block 5 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -block 6 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -block 7 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -block 8 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -block 9 blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ +block 2 yellow boring +▓ +block 3 black boring +▓ diff --git a/levels/swap3.txt b/levels/swap3.txt index 4f7afcc..d700632 100644 --- a/levels/swap3.txt +++ b/levels/swap3.txt @@ -10,32 +10,18 @@ block b blue interesting ▓ ▓ ▓▓▓▓ ▓▓▓▓ block g green interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ - -▓▓▓ -▓▓▓▓ -▓▓ -▓▓▓▓= -▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓▓▓ +▓▓▓▓▓▓▓ +▓▓▓▓▓▓▓ + -▓▓ +▓▓▓ -▓ +▓▓▓= -▓ +▓▓▓▓▓▓▓ block y yellow interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓ ▓▓▓ ▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ diff --git a/levels/transfer14.txt b/levels/transfer14.txt index 7df27aa..19bbce8 100644 --- a/levels/transfer14.txt +++ b/levels/transfer14.txt @@ -1,41 +1,30 @@ player p block a cyan interesting -▓▓ ▓▓ -▓ ▓ - - g - ▓ - p a - -▓ ▓ -▓▓ ▓▓ +▓ ▓ + + g + ▓ + p a + +▓ ▓ block g green interesting - ▓▓▓ - ▓=▓ - - -▓▓ ▓▓▓ ▓▓ -▓ ▓ ▓ ▓ -▓▓ ▓▓▓ ▓▓ - - y ▓ ▓ - ▓▓▓ + ▓▓▓ + ▓=▓ + - +▓ ▓ ▓ + + y + ▓ block y yellow interesting -▓▓ ▓▓ -▓ ▓ - - - - - -▓ ▓ -▓▓ ▓▓ +▓ ▓ +▓ ▓ + + + +▓ ▓ +▓ ▓ block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓ ▓▓▓ ▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ diff --git a/levels/transfer26.txt b/levels/transfer26.txt index dc060e7..2f283d4 100644 --- a/levels/transfer26.txt +++ b/levels/transfer26.txt @@ -1,14 +1,10 @@ player p block t blue boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓t▓a▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓t▓a▓ +▓▓▓▓▓ +▓▓▓▓▓ block a blue interesting ▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ @@ -20,62 +16,34 @@ block a blue interesting ▓ ▓ ▓▓▓▓▓▓▓▓▓ block x yellow boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block 1 cyan interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓ ▓▓ - ▓▓ ▓▓ - ▓▓ ▓▓ - ▓▓ ▓▓ -▓▓▓▓▓▓ ▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ + ▓ + ▓ + ▓ +▓▓▓▓▓ block 2 cyan interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓ ▓ - ▓▓▓ ▓ - ▓▓▓ ▓ - ▓▓ ▓▓ -▓▓▓▓▓▓ ▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ + ▓ + ▓ + ▓ +▓▓▓▓▓ block 3 cyan interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓ ▓▓▓▓▓▓ -▓▓ ▓▓ -▓ ▓▓ -▓▓ ▓▓ -▓ ▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ +▓ +▓ +▓▓▓▓▓ block T green interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ - -▓▓▓ = ▓▓▓ -▓▓▓ ▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ + +▓ = ▓ +▓ ▓ +▓▓▓▓▓ block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓ ▓▓▓ ▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ diff --git a/levels/transfer8.txt b/levels/transfer8.txt index 01827de..00f8f12 100644 --- a/levels/transfer8.txt +++ b/levels/transfer8.txt @@ -1,71 +1,37 @@ player p block t cyan boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓t▓a▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓t▓a▓ +▓▓▓▓▓ +▓▓▓▓▓ block a cyan interesting -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓ ▓▓▓ -▓▓ xb ▓▓▓ -▓▓ g▓▓ -▓▓ py ▓▓▓ -▓▓ ▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓▓▓ +▓ ▓▓ +▓ xb ▓▓ +▓ g▓ +▓ py ▓▓ +▓ ▓▓ +▓▓▓▓▓▓▓ block g green interesting - ▓▓▓ - ▓ - -▓ ▓ -▓▓ = ▓▓ -▓ ▓ - - ▓ - ▓▓▓ + ▓ + +▓ = ▓ + + ▓ block b blue interesting - - - ▓▓▓ - ▓▓ ▓▓ - ▓ ▓ - ▓▓ ▓▓ - ▓▓▓ - - + + + ▓ + + block x yellow boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block y yellow boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓ block p magenta boring -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓ ▓▓▓ ▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ -▓▓▓▓▓▓▓▓▓ +▓▓▓▓▓ +▓ ▓ ▓ +▓▓▓▓▓ +▓▓▓▓▓ +▓▓▓▓▓