In dit deel van de opgave lezen we een aantal Sokoban werelden in van een bestand. Hiervoor hebben we de IO monad nodig, maar we proberen het verspreiden ervan zoveel mogelijk te beperken, m.a.w. we houden ons programma “Pure”.

Voorbeeld van een input-kaart:

    #####
    #   #
    #o  #
  ###  o##
  #  o o #
### # ## #   ######
#   # ## #####  ..#
# o  o          ..#
##### ### #@##  ..#
    #     #########
    #######

Als je de gelinkte afbeeldingen voor de robot1, doos2 en muur3 gebruikt, zal dit er later uitzien als volgt.

screenshot

Een bestand met werelden dat je kan inlezen vind je hier4.