{"id":25271747,"url":"https://github.com/parvez-ahammed/swin-adventure","last_synced_at":"2025-04-06T07:18:22.964Z","repository":{"id":214972910,"uuid":"737809916","full_name":"parvez-ahammed/swin-adventure","owner":"parvez-ahammed","description":"A simple console based game application to practice the concepts of OOP , Unit Test and TDD","archived":false,"fork":false,"pushed_at":"2024-12-12T18:52:12.000Z","size":967,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T12:49:22.796Z","etag":null,"topics":["c-sharp","oop-principles","tdd","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parvez-ahammed.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2024-01-01T15:30:06.000Z","updated_at":"2024-12-12T18:52:15.000Z","dependencies_parsed_at":"2025-01-29T14:49:51.615Z","dependency_job_id":null,"html_url":"https://github.com/parvez-ahammed/swin-adventure","commit_stats":null,"previous_names":["piru72/swinadventure","piru72/swin-adventure","parvez-ahammed/swin-adventure"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parvez-ahammed%2Fswin-adventure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parvez-ahammed%2Fswin-adventure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parvez-ahammed%2Fswin-adventure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parvez-ahammed%2Fswin-adventure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parvez-ahammed","download_url":"https://codeload.github.com/parvez-ahammed/swin-adventure/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247445666,"owners_count":20939961,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["c-sharp","oop-principles","tdd","unit-testing"],"created_at":"2025-02-12T12:35:32.114Z","updated_at":"2025-04-06T07:18:22.941Z","avatar_url":"https://github.com/parvez-ahammed.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 1. Identifiable Object\n\n- Create an Identifiable Object \n- This will become a foundation for many of \nthe objects in the Swin-Adventure.\n- Identifiable objects have a list of identifiers, and know ifthey are identified by a certain identifier\n\n## 2 Player , Item and Inventory\n\n- Create the Player, Item, and Inventory classes \n- the ability to locate things within these objects. \n- It should be possible to add items into the Player's inventory and then get the player to locate the item for us.\n\n## 3. Bag Class\nThe **Bag** abstraction is a special kind of item, one that contains other items in its own Inventory. This is a version of the **composite pattern**, which allows flexible arrangements of bags and \nitems, for example a bag to contain another bag.\n\n\n## 4. Looking Command\n\nAs there will be a number of Commands, an abstract Command class has also been added.\n\n- This class inherits from Identifiable Object, as each of the commands needs to be identifiable. \n- When data is entered by the user, each Command object will be asked “Are You” and the \nfirst work of the command.\n\n- For example, with “look at pen” each Command would be asked \n“Are You ‘look’ ” to locate the Command to process the text. As a result the Look Command \nshould be identified by “look”.\n\n## 5. All of them Together\n\nIt compiles the steps above into a single program to be run from the command line.\n\n## 6. Locations\n\nThis will change the look command to also include \"look\" to look at the player's location.\n\n- identifiable and have a name, and description.\n- Can contain items.\n- Players have a location.\n    - Players \"locate\" items by checking three things (in order):\n    - First checking if they are what is to be located (locate \"inventory\")\n    - Second, checking if they have what is being located ( _inventory fetch \"gem\")\n    - Lastly, checking if the item can be located where they are ( _location, locate \"gem\")\n\n\n## 7. Path Direction and Move Command\n\nNotes:\n- Have the Path objects move the player to the new location. This will allow for flexibility \nlike lockable paths etc.\n- Make Path's identifiable. The identifiers indicate the direction, and can be used to locate \nthe path from the location.\n- The Move Command is identified by the words \"move\", \"go\", \"head\", \"leave\", ...\nHere are some hints for things you will need to test for:\n- Path can move player to the Path’s destination\n- You can get a Path from a Location given one of the path's identifiers\n- Players can leave a location, when given a valid path identifier\n- Players remain in the same location when they leave with an invalid path identifier\n\n\n##\nThe final project has not been extensively tested.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparvez-ahammed%2Fswin-adventure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparvez-ahammed%2Fswin-adventure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparvez-ahammed%2Fswin-adventure/lists"}