Skip to content
This repository was archived by the owner on Aug 2, 2024. It is now read-only.

term-world/venture-assignments-dungeon-solution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Date
TODO Assigned
TODO Due
Status GatorGrader

THE ENTRANCE OF AN UNKNOWN CAVERN: Dungeon

Mysterious Traveler

TODO: date

(Mysterious letter) — For months now, tales of an underground realm, located beneath the busy communities of the Topia suburbs, have been forgotten. This place is full of magic, adventure, and wild creatures. It is calling upon the fearless amongst you. There are whispers that a mysterious Dungeon Master sealed the entrances a long time ago, supposedly to keep the secrets and treasures inside safe.

In a turn of events, the seal binding the unknown world closed was opened, and from below, giant termites ran out of the dungeon. Peeking in the cave will reveal treasures beyond your comprehension, and with it, you hear the roars of mighty engines down below at work. But what do these engines do specifically?

Only time will tell what secrets will be found in the vast, dark spaces of topia's mysterious dungeon.

Overview

In this activity, we cover:

  • basic term-world commands
  • navigating using your "terminal"
  • file management best practices
  • executing Python files
  • an introduction to using the git protocol
  • an overview of the GitHub platform

The requirements of this exercise center on your ability to find your way around the dungeon, find some items, and remember the pathways you took. You'll solve a few small puzzles in order to navigate the dungeon successfully and ensure the dungeon is set up correctly.

SSH Keys

The activities for your first week in term-world all take place in the dungeon. In order to access this material, you will first need to set up an SSH key. While we'll cover this in the opening days of class, here's a (long-ish) video detailing the process should you need a reminder later:

SSH Key video

Basic navigation

Once your SSH key is set up, you'll need to navigate to the dungeon folder by running this command in your terminal window:

cd ~/dungeon

cd is short for "change directory," a command which moves you around the terminal to the various physical locations of term-world. The above command takes you forward, though you can also go backward by using two "dots" (..) after your cd command instead of the name of the folder you want to go to. For example:

cd ..

takes us back to the folder we were just in. You can always tell where you are by looking at your command prompt -- the text before the blocky cursor that indicates where you're typing. The following prompt:

 user    server   location
|----| |--------| |
dluman@term-world:~$

Getting the mining equipment for the dungeon

Breaking rocks

There are many rocks and other objects to move or break to explore the dungeon.

Each rock is a Python file -- this is the language that we'll be using to conduct this course. The rocks are well crafted by the Dungeon Master, so there is no need to mess with the elements of the rocks. To move or break a rock consider:

python Rocks.py

If there exists only one rule about topia, it's that you can use anything you have the permission to use. Given the lesson we learned about breaking rocks above, the python command seems to make this happen for us. So, if you were to find a Treasure_Chest.py somewhere in your house, it might be interesting to:

Treasure_Chest.py

Evaluating dungeon Content

Each week's repository is outfitted with a grader that can be used to evaluate your work for the week. In order to run the this grader for a given week's work, you'll need to first navigate to the "root" folder of the assignment (that is, the base folder containing a given assignment's work, such as dungeon for this week):

cd ~/dungeon

Once there you'll need to run the following command:

gatorgrade

Once the grader has finished running (it may take a couple minutes) you'll be presented with a series of checks that determine the overall "completeness" of your work. For instance, your output may look something like:

✔  Customize the nameplate (no TODOs)
✘  Find the Ink hidden in the couch
✘  Print the lease
✔  Enter the dungeon
✘  Open the UltraHeavyBox
✘  Open the FragileBox
✘  Open the SinisterLookingBox
✘  Open the TubeShapedBox
✘  Open the BeatUpBox

-~-  FAILURES  -~-

✘  Find the Ink hidden in the couch
✘  Print the lease
✘  Open the UltraHeavyBox
✘  Open the FragileBox
✘  Open the SinisterLookingBox
✘  Open the TubeShapedBox
✘  Open the BeatUpBox

        Passed 2/9 (22%) of checks for user-venture-solved! ┃

As you can tell, there are some checks which have been satisfied, though there are many which have not. Be sure to have all of the checks required for your desired grade completed by the due date!

Submitting the assignment/saving progress

The GitHub platform is a place to store your work. So, it makes some sense that should be able to download from it, and push back (upload) to it. Here, we'll learn this second part.

Bottom line: we need to tell git that there have been changes.

  • Observe the list of files you've changed and add them to a staging area using the + button to the right of each file
  • Once these have been "staged," attach a message to what we call a commit -- a "packaging" of the files to send to GitHub
  • To transmit this newly-assembled packaged, locate the Commit & Push option

The steps of the process are illustrated below.

Staging, commiting and pushing using buttons described

Note on your first time completing this process

It is nearly 100% likely that you will receive a prompt telling you to set your git config for user.name and/or user.email. Two commands in the terminal fix this. Replace the relevant information in the examples below:

git config --global user.name "YOUR GITHUB USERNAME"
git conifg --global user.email "YOUR ALLEGHENY EMAIL"

Then, retry the above process. Once the process finishes successfully, we're done! We can verify the results on GitHub.

Backup policy reminder

While we may use this server to store code, you are responsible for using GitHub as your main backup.

In the event that the term-world server goes down for any unforeseen reason, your work may be lost. Though this server is backed up on a regular (i.e. weekly) basis, there is no guarantee that up-to-the-minute data for your work will be restored.

Remember: to err is human; to back up your work is divine.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •