{"id":20163019,"url":"https://github.com/purplelemons-dev/text-game","last_synced_at":"2026-05-29T13:31:43.946Z","repository":{"id":78392048,"uuid":"485206216","full_name":"purplelemons-dev/text-game","owner":"purplelemons-dev","description":"A simple text-based game. Feel free to improve on features.","archived":false,"fork":false,"pushed_at":"2022-04-25T16:21:32.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-14T05:06:52.657Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/purplelemons-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-04-25T03:09:51.000Z","updated_at":"2022-04-25T03:11:47.000Z","dependencies_parsed_at":"2023-04-20T20:47:33.979Z","dependency_job_id":null,"html_url":"https://github.com/purplelemons-dev/text-game","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/purplelemons-dev/text-game","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purplelemons-dev%2Ftext-game","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purplelemons-dev%2Ftext-game/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purplelemons-dev%2Ftext-game/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purplelemons-dev%2Ftext-game/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/purplelemons-dev","download_url":"https://codeload.github.com/purplelemons-dev/text-game/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purplelemons-dev%2Ftext-game/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33655440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"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-14T00:27:53.462Z","updated_at":"2026-05-29T13:31:43.919Z","avatar_url":"https://github.com/purplelemons-dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dungeon Quest\n\n\n## Table of Contents\n\n\n* [Introduction](#introduction)\n* [World](#world)\n* [Items](#items)\n* [Rooms](#rooms)\n* [Entities](#entities)\n* [Game Over](#game-over)\n\n\n## Introduction\n\nThis game was programmed in just about two weeks, and I hope you enjoy it.\nI also used GitHub Copilot to help me with the project, I suggest you get\non the waitlist as soon as you can!\n\nThis is a basic text-based dungeon game with several types of data structures\nsuch as Items, Rooms, and Entities. Rooms are linked together by use of the\nadjacentRooms dictionary which translates the cardinal directions to Room objects.\n\nThe [player](#player) can have a simple fight with an entity by using the `.combat()` method.\n\n\n## World\n\nThis class doesn't do much at the moment, but it can be used to handle game saves\nand loading. It could also be used to handle the generation of the world (with a\n`.generate()` method). This class also gets the name of the player.\n\n\n## Player\n\n\nThe player is the main character of the game, controlled by 6 different inputs:\n\n 1. Go\n 2. Interact\n 3. Look\n 4. Back\n 5. Eat\n 6. Equip\n\nThe Interact action will allow the user to trigger the `.special()` method for various\nobjects in the room, including entities, dropped items, and items in the player's\ninventory. The Look action will allow the user to view their inventory, the room,\nthe player's stats, and the surrounding area outside the room. The Back action will\nreturn the player to the previous room (provided that is possible, currently the\nonly time this is prohibited is at the very beggining of the game, but I imagine that\nthe back action could be blocked if the world is broken up into acts or the player\nenters a locked dungeon).\n\n\n## Items\n\n\nItems can be either food, weapons, or cosmetic. Damaging items are able to be equipped\neither before or during combat. Food items are able to be eaten, and cosmetic items\nare just for decoration or fun, having neither a food nor damage value.\n\n\n## Rooms\n\n\nRooms are the basic building blocks of the game. They can be connected to other rooms\nvia the `.adjacentRooms` property, and can have items and entities in them. The rooms\nalso handle dropped items. I'd like to see a `.special()` method for rooms that can\nbe triggered by bringing some costmetic or weapon item to the room for an easter egg\nor something.\n\n\n## Entities\n\n\nEntities are referred to as \"creatures\" in the game and can be either friendly or hostile\n(based on wether their `.special()` method triggers the player's `.combat()` method or\nnot). The `.special()` method can be modified, as seen with the Bartender, to do different\nthings. \n\n\n## Game Over\n\n\nThis is where the game ends. The player can either die, win, or quit. Right now, the main\nloop checks for the player's health and handles keyboard interupts, but player health and\nwinning can be moved to [World](#world).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpurplelemons-dev%2Ftext-game","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpurplelemons-dev%2Ftext-game","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpurplelemons-dev%2Ftext-game/lists"}