graninas/Hydra

Labyrinth: map functionality

Open

#55 opened on Jun 12, 2020

 (0 comments) (0 reactions) (1 assignee)Haskell (14 forks)github user discovery
advanced taskenhancementgood first issueshowcases

Repository metrics

Stars
 (206 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Idea: to allow the player to track the exploration of the labyrinth. (Hint: the "print" command is a cheating and should be used for debug only.)

Stage 1:

  • To enable this functionality, the player should find a special object in the labyrinth - a "map".
  • The "map" object should be displaced in the labyrinth randomly (like "treasure").
  • The "map" object should be correctly rendered by the rendering functions (it should be visible on "print")
  • The "map" object should be of type "Content".
  • The player should get a flag in the inventory that indicates that the "map" object is found.

Stage 2: Tracking algorithm

  • The "map" command should display where the player has traveled so far.
  • The tracking algorithm can be any (no special requirements).

Hints on data types:

  • Trail can be of types Map.Map ( Map.Map Pos (Cell, Content) ), Set.Set ( Set.Set Pos ) or just a list ( [Pos] )

Hints on how to approach the task:

  • Add a dummy command "map" with some trail predefined and rendered

Contributor guide