{"id":21133579,"url":"https://github.com/mklemmingen/space-mouse","last_synced_at":"2025-03-14T12:29:41.057Z","repository":{"id":169497242,"uuid":"645484427","full_name":"mklemmingen/space-mouse","owner":"mklemmingen","description":"3D cube maze solver with terminal-adjusted visualisation and a maze generator","archived":false,"fork":false,"pushed_at":"2023-06-03T17:36:40.000Z","size":78,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main_dev_line","last_synced_at":"2025-01-21T06:27:14.391Z","etag":null,"topics":["game","game-2d","games","maze","maze-creation","maze-explorer","maze-game","maze-generator","maze-solver","mazes"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mklemmingen.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2023-05-25T18:58:55.000Z","updated_at":"2024-01-03T22:27:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"71506344-04c2-4af5-8b61-6284dbebf412","html_url":"https://github.com/mklemmingen/space-mouse","commit_stats":null,"previous_names":["mklemmingen/space-mouse"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mklemmingen%2Fspace-mouse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mklemmingen%2Fspace-mouse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mklemmingen%2Fspace-mouse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mklemmingen%2Fspace-mouse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mklemmingen","download_url":"https://codeload.github.com/mklemmingen/space-mouse/tar.gz/refs/heads/main_dev_line","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243577104,"owners_count":20313555,"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":["game","game-2d","games","maze","maze-creation","maze-explorer","maze-game","maze-generator","maze-solver","mazes"],"created_at":"2024-11-20T06:13:46.509Z","updated_at":"2025-03-14T12:29:41.048Z","avatar_url":"https://github.com/mklemmingen.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# space-mouse\n\n3D cube maze solver with visualisation and maze generator\n\n-- space mouse against the borg --\n\ngenerates a cube of a individual size consistent out of a lot of little cubes with random walls.\nThe mouse can only pass trough open gates or rare one-way gates. \n\nThe space mouse starts in a crater that was created by a plasma torpedo at the top of the cube.\n\nIt looks for an opening and goes straight in, always wanting to go downwards to get to that sweet romulan cheese\nat the other side of the cube. \n\nThe visualisation mimics a spy-movie radar, where the cube that the mouse is in is visualised by seeing \nthe top-down view of the cube and the front view of the cube - on either one the location is marked with a blinking\nred dot. \n\nenjoy!\n\nrequirements:\n\nimport rich\n\n------------\n\nat the beginning of this project I had never seen either a generator for mazes or a solving algorithm before,\nso I challenged myself to make one without looking any up:\n\n- Generator:\n \nmaze in dict form, with a dict inside for each cube, that holds 6 keys with a bool value each.\nThe sum of cubes are determined by the parameter of edge_length of the big cube.\n\n\n- Solver:\n\ndoes basically two runs:\n\n1. if the cube we want to be in has not been in before, we check: 1.below 2.right 3.forward 4.left 5.back\n\n2. if the cube has been in, we check: 6.above 4.left 5.backwards 3.right 3.forward 1.below\n\nif the corresponding walls of both the cube the mouse is in and the one she would like to be in are True (open), she moves there and checks again with the same cycle.\n\nWe use the inverted cycle between 1 and 3 to not create a cycle.\n\nThe mouse wins if she has reached the lowest floor. \n\nTh mouse wants to beam up if it is stuck.\n\nTODO: add pathfinding to cubes with unchecked wales if mouse seems stuck. \n- record the data for each cubes walls (checked / unchecked)\n- go to latest cube with unchecked wall\n- check unchecked till stuck\n- rince repeat till no unchecked walls\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmklemmingen%2Fspace-mouse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmklemmingen%2Fspace-mouse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmklemmingen%2Fspace-mouse/lists"}