{"id":19767389,"url":"https://github.com/hoxtygen/flexible-architecture","last_synced_at":"2026-05-14T15:32:46.468Z","repository":{"id":97117428,"uuid":"223940419","full_name":"Hoxtygen/flexible-architecture","owner":"Hoxtygen","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-08T06:57:06.000Z","size":66,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T10:56:51.108Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hoxtygen.png","metadata":{"files":{"readme":"README.md","changelog":"change_name.py","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-25T12:11:32.000Z","updated_at":"2019-11-25T12:12:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"7dc99017-420a-4b4b-93e0-259ac8ed16c4","html_url":"https://github.com/Hoxtygen/flexible-architecture","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Hoxtygen/flexible-architecture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hoxtygen%2Fflexible-architecture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hoxtygen%2Fflexible-architecture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hoxtygen%2Fflexible-architecture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hoxtygen%2Fflexible-architecture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hoxtygen","download_url":"https://codeload.github.com/Hoxtygen/flexible-architecture/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hoxtygen%2Fflexible-architecture/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33031139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T04:29:30.549Z","updated_at":"2026-05-14T15:32:46.440Z","avatar_url":"https://github.com/Hoxtygen.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LAMBDA TREASURE HUNT\n\nThis repository contains a collection of scripts to enable a player participate in the Lambda Treasure Hunt 💰. The scripts are all written in Python 🐍 and the Requests HTTP library is used to make HTTP requests to the treasure hunt and coin mining endpoints.\n\n## Setup, Dependencies and Environment Variables\n\nThis project uses `Pipenv` to manage dependencies. To begin you need to create a virtual environment with:\n\n```sh\npipenv shell\n```\n\nThen install dependencies with:\n\n```sh\npipenv install\n```\n\nThe scripts require that a `.env` file be added to the root of the directory. The `.env` file should have the following:\n\n```sh\nTOKEN=\"[PLAYER'S TOKEN]\"\nNAME=\"[PLAYER'S NAME]\"\n```\n\n## Scripts usage\n\n### create_map.py 🌐\n\nTo make finding treasures and finding rooms to mine coin a little easier. The player is expected to have a comprehensive map of the game world and the details of the rooms available in the game. The `create_map.py` script does this. It reads from and writes to `room_details.py` and `room_graph.py`. To generate the world and get room details afresh, the content of the files should be as follows:\n\n`room_details.py`\n\n```py\n[\n    {\n        \"room_id\": 0,\n        \"title\": \"A Dark Room\",\n        \"description\": \"You cannot see anything.\",\n        \"coordinates\": \"(60,60)\",\n        \"exits\": [\"n\", \"s\", \"e\", \"w\"],\n        \"cooldown\": 1.0,\n        \"errors\": [],\n        \"messages\": []\n    }\n]\n```\n\n`room_graph.py`\n\n```py\n{0: {\"n\": \"?\", \"s\": \"?\", \"e\": \"?\", \"w\": \"?\"}}\n```\n\nTo start the scripts, enter this command from the command line:\n\n```sh\npython create_map.py\n```\n\nThis script will take a couple of hours to map out the entire game world so hang in there 😉.\n\n### clean_room_details.py\n\nThis script reads from `room_details.py` and remove duplicate rooms. `room_details.py` itself contains rooms as they are visited by the `create_map.py` script so there are duplicates. To remove duplicates, run the script from the command line like this:\n\n```sh\npython clean_room_details.py\n```\n\nIt writes the output of its operation to `traverse_results/room_details.py`.\n\n### goto.py ✈️\n\nWith the rooms and map all mapped out. This handy script makes moving around the map quite easy. It reads the map from the files `room_graph_copy.py` which is just a map of the world generated after the `create_map.py` script has run its course and `room_details_copy.py` which is a copy of the file generated by using the `clean_room_details.py` script.\n\nThis script takes a single command line argument which is the destination room. To use the script enter this command from the command line:\n\n```sh\npython goto.py [destination_room_id]\n```\n\n### treasure_hunter.py 💰\n\nMy favorite 🤗.\n\nAs the name implies, the script hunts for treasures and sells them when they are found. It is completely automated, so just start it from the command line and watch the output in the command line. I guarantee, you will be rich and famous.\n\nTo start making money 💵, enter this from the command line:\n\n```sh\npython treasure_hunter.py\n```\n\n### pick_up_item.py\n\nThere are so many awesome and mysterious artifacts lying around in the game. To pick up an item that catches your fancy, simply do:\n\n```sh\npython pick_up_item.py [name of item]\n```\n\n### change_name.py\n\nAfter amassing up to 1000 gold, you have to take on your authentic name. Name change is a prerequisite to coin mining so you do not want to skip this step. First make sure you have added your name to the `.env` file.\n\nUse the script like this:\n\n```sh\npython change_name.py\n```\n\n### examine_well.py\n\nNow the plot thickens 🎦.\n\nTo find out the room where you must be to mine a Lambda coin, you need to peer into the deep dark water of the wishing well. The wishing well is the modern reincarnate of the Oracle of Delphi so you get a head-scratching prophecy.\n\nTo start the script to get the prophecy, enter:\n\n```sh\npython examine_well.py\n```\n\nfrom the command line. The script writes the prophecy to a file named `wishing_well_prophecy.py`. You have to convert the binary codes to text to decipher what room you are allowed to mine. You can paste it [here](https://www.rapidtables.com/convert/number/binary-to-ascii.html) to translate the binary to ASCII.\n\nIf you peer hard enough at the ASCII text, you will decipher the room where your coin awaits you.\nNavigate to the room with this command:\n\n```sh\npython goto.py [room_id]\n```\n\n### mine.py\n\nThis script can be found in the mine folder. It mines a coin on the Lambda Blockchain.\n\nBe sure to be present in the room specified by the wishing well. If unsure you can always repeat the steps involved in getting the wishing well's prophecy.\n\nTo begin mining, start the script\n\n```sh\npython mine.py\n```\n\n## Useful Endpoints\n\nAs you progress through the game, you can view your status using the status/inventory endpoint.\n\nHere is a sample *cURL* command that does this:\n\n```sh\ncurl -X POST -H 'Authorization: Token 7a375b52bdc410eebbc878ed3e58b2e94a8cb607' -H \"Content-Type: application/json\" https://lambda-treasure-hunt.herokuapp.com/api/adv/status/\n```\n\nExpect a response in this format:\n\n```json\n{\n  \"name\": \"br80\",\n  \"cooldown\": 2.0,\n  \"encumbrance\": 2,  // How much are you carrying?\n  \"strength\": 10,  // How much can you carry?\n  \"speed\": 10,  // How fast do you travel?\n  \"gold\": 400,\n  \"bodywear\": \"None\",\n  \"footwear\": \"None\",\n  \"inventory\": [\"Small Treasure\"],\n  \"status\": [],\n  \"errors\": [],\n  \"messages\": []\n}\n```\n\nYou can also view you coin balance using this command:\n\n```sh\ncurl -X GET -H 'Authorization: Token 7a375b52bdc410eebbc878ed3e58b2e94a8cb607' https://lambda-treasure-hunt.herokuapp.com/api/bc/get_balance/\n```\n\nIt returns your coin balance\n\n```json\n{\n   \"cooldown\": 1.0,\n   \"messages\": [\"You have a balance of 35.0 Lambda Coins\"],\n   \"errors\": []\n}\n```\n\n## Full Lambda Treasure Hunt details/rules 📖\n\nTo view the rules of participating in the Lambda Treasure Hunt, check out the [Official Build Week readme](https://github.com/LambdaSchool/CS-Build-Week-2)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoxtygen%2Fflexible-architecture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoxtygen%2Fflexible-architecture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoxtygen%2Fflexible-architecture/lists"}