CopilotAdventures

The Scrolls of Eldoria

Background

In the enchanted land of Eldoria, ancient scrolls contain the secrets of the universe. These scrolls, however, were scattered and protected by the Elders using powerful spells. These spells concealed the secrets within the scrolls, adding layers of misleading information to deter prying eyes. Over time, these scrolls were digitized and stored in the Great Eldorian Library, accessible only through the Eldorian Web of Knowledge.

Objective

You, a young sorcerer’s apprentice, have been given the task to retrieve and decipher one such scroll. The scroll is stored as a file on the Eldorian Web of Knowledge. You have to make an HTTP call to fetch the scroll’s content. However, the Elders’ misleading information must be filtered out using the ancient method of Regular Expressions to reveal the true secrets within.

Specifications

  1. Data Retrieval:
    • Use the magical HTTP call to fetch the scroll’s content. You’ll find the scroll in the Great Eldorian Library’s https://raw.githubusercontent.com/microsoft/CopilotAdventures/main/Data/scrolls.txt location.
    • The content will be in text format.
  2. Deciphering the Scroll:
    • The scroll contains both the Elders’ secrets and misleading information.
    • The true secrets have a specific pattern: they are always surrounded by the symbols {* and *}.
    • Extract all the true secrets from the scroll.
  3. Output:
    • Display the extracted secrets in a structured manner.
    • Ensure that no misleading information is displayed.

Constraints

Summary of High-Level Tasks to Perform

  1. Use a console application to render the output.
  2. Make an HTTP call to retrieve the content of the scroll.
  3. Use a regular expression to filter out the misleading information and extract the true secrets.
  4. Display the extracted secrets.

Tips to Get Started

  1. If you’re using a GitHub Codespace, you’re ready to go!
  2. If running locally, ensure that you have your target language/framework installed.
  3. Create a folder for your code.
    • JavaScript: Create a folder called eldoria and add a file named app.js.
    • Python: Create a folder called eldoria and add a file named app.py.
    • C#: Create a folder called eldoria and run dotnet new console.

GitHub Copilot Tips

Use Copilot to improve efficiency

See if you can use Copilot to find out the complexity (BigO notation) of the code.

  1. Open the GitHub Copilot Chat view in the sidebar if it’s not already open. Make sure your solution file is still open as well.

  2. Ask Copilot Chat what the complexity of the code is.

  3. Ask Copilot Chat to make the code more efficient.

  4. Ask for the complexity again - is it better?

Use Copilot to generate code comments

  1. Highlight all of the code with Ctrl/Cmd+A.

  2. Press Ctrl/Cmd+I to open the inline chat.

  3. Type “/doc”

  4. Ask Copilot Chat to document the function.

Use Copilot to simplify your code

  1. Open GitHub Copilot Chat in the sidebar.

  2. Type “/simplify” and press Enter. You can also add any text you want after the “/simplify” to give Copilot more instructions.

  3. What did Copilot Chat suggest you do to make it simpler?

Got Errors?

Copilot Chat can help with that too! Just copy the error message and paste it into Chat. Often that’s all Copilot needs to resolve your issue.