# Collecting Marbles

This is one of the new possible maps for Sokoban Level 1 in Hack'EM. It has 21 boulders and 18 holes, leaving 3 spare boulders.

```  ------------------------ 0 boulder
|..^^^^^^^^^^^^^^^^^^..| ^ hole
|..-------------------.| > starting position/downstairs
----.--   ----         |.| + door
|.0...-----..|         |.|
|......0..00.|         |.|
--.0.....|.0.|         |.|
--....0.|...|         |.|
|0----.--.-|   ------|.|
--.0.--..0..| --|.....|.|
|...........| |.+.....|.|
|0.0---.--.-| |-|.....|.|
|...|.0..0..| |.+.....+.|
--.---..0..0.| |-|.....|--
|.0..0.0.0.0.| |.+.....|
|.>..|.......| --|.....|
--------------   -------
```

## Strategy

The following solution may not be very fast or organized. Improvements welcome. Like all Sokoban levels it can be solved without making any boulders 'stick'.

All boulders are replaced by letters so they can be referred to. Letters O and Q are skipped for clarity. Moving the boulders is shortened to r for right, l for left, u for up, d for down. An asterisk is used to denote the last move filled a hole (and thus removed the boulder from the game). So "N ddrr*" means move boulder N two times down and two times to the right into a hole.

```  ------------------------ A r
|..^^^^^^^^^^^^^^^^^^..| D rruu ur*
|..-------------------.| H lllu uuur r*
----.--   ----         |.| E uuru uurr r*
|.D...-----..|         |.| F uuuu ruuu rrrr*
|......H..JK.|         |.| G luuu uruu urrr r*
--.E.....|.L.|         |.| I llll uuur uuur rrrr r*
--....I.|...|         |.| C uulu uuuu ruuu rrrr rrr*
|F----.--.-|   ------|.|
--.G.--..M..| --|.....|.|
|...........| |.+.....|.|
|B.C---.--.-| |-|.....|.|
|...|.N..O..| |.+.....+.|
--.---..P..Q.| |-|.....|--
|.A..R.S.T.U.| |.+.....|
|.>..|.......| --|.....|
--------------   -------
```
```  ------------------------ L l
|.........^^^^^^^^^^^..| K d
|..-------------------.| J llll lluu uurr rrrr rr*
----.--   ----         |.| K ulll llll uuuu rrrr rrrr r*
|.....-----..|         |.| L ulll lllu uuur rrrr rrrr r*
|.........JK.|         |.| M lluu uull lluu uurr rrrr rrrr r*
--.......|.L.|         |.|
--......|...|         |.|
|.----.--.-|   ------|.|
--...--..M..| --|.....|.|
|...........| |.+.....|.|
|B..---.--.-| |-|.....|.|
|...|.N..O..| |.+.....+.|
--.---..P..Q.| |-|.....|--
|..A.R.S.T.U.| |.+.....|
|.>..|.......| --|.....|
--------------   -------
```
```  ------------------------ U l
|.............^^^^^^^..| Q uuuu uuuu llll lllu uuur rrrr rrrr rrr*
|..-------------------.| O ruuu uuuu llll lllu uuur rrrr rrrr rrrr*
----.--   ----         |.| U uuru uuuu uull llll luuu urrr rrrr rrrr rrr*
|.....-----..|         |.| T ruur uuuu uuul llll lluu uurr rrrr rrrr rrrr r*
|............|         |.| P uuuu uuuu llll uuuu rrrr rrrr rrrr rrrr*
--.......|...|         |.| N ruuu uuuu ulll luuu urrr rrrr rrrr rrrr rr*
--......|...|         |.| S uuru uuuu uuul lllu uuur rrrr rrrr rrrr rrrr r*
|.----.--.-|   ------|.|
--...--.....| --|.....|.|
|...........| |.+.....|.|
|B..---.--.-| |-|.....|.|
|...|.N..O..| |.+.....+.|
--.---..P..Q.| |-|.....|--
|..A.R.S.T.U.| |.+.....|
|.>..|.......| --|.....|
--------------   -------
```