{"id":16581518,"url":"https://github.com/andresmweber/ironhack-mars-rover-kata","last_synced_at":"2025-04-04T22:41:03.402Z","repository":{"id":39424043,"uuid":"200756274","full_name":"AndresMWeber/ironhack-mars-rover-kata","owner":"AndresMWeber","description":"Ironhack's Javascript Challenge","archived":false,"fork":false,"pushed_at":"2023-01-01T10:20:51.000Z","size":2762,"stargazers_count":3,"open_issues_count":21,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T07:16:11.596Z","etag":null,"topics":["canvas","canvas2d","game","ironhack","javascipt","javascript","javascript-game","rover","rover-simulator","simulation"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/AndresMWeber.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}},"created_at":"2019-08-06T01:48:01.000Z","updated_at":"2022-09-06T06:46:16.000Z","dependencies_parsed_at":"2023-01-31T21:46:32.562Z","dependency_job_id":null,"html_url":"https://github.com/AndresMWeber/ironhack-mars-rover-kata","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndresMWeber%2Fironhack-mars-rover-kata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndresMWeber%2Fironhack-mars-rover-kata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndresMWeber%2Fironhack-mars-rover-kata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndresMWeber%2Fironhack-mars-rover-kata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndresMWeber","download_url":"https://codeload.github.com/AndresMWeber/ironhack-mars-rover-kata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247261584,"owners_count":20910107,"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":["canvas","canvas2d","game","ironhack","javascipt","javascript","javascript-game","rover","rover-simulator","simulation"],"created_at":"2024-10-11T22:29:20.731Z","updated_at":"2025-04-04T22:41:03.383Z","avatar_url":"https://github.com/AndresMWeber.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌌🚀🤖☄️🌑🌌 \r\n\r\n# Ironhack Mars Rover Kata [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) ![Auto-build dist](https://github.com/AndresMWeber/ironhack-mars-rover-kata/workflows/Auto-build%20dist/badge.svg) [![Netlify Status](https://api.netlify.com/api/v1/badges/ddf947f8-202e-4b57-a02b-c95fbc0cc416/deploy-status)](https://app.netlify.com/sites/mars-rover-kata/deploys)\r\n\r\n\r\n## 📝 Table of Contents\r\n\r\n- [About](#about)\r\n- [How To Play](#howto)\r\n- [Installing](#installing)\r\n- [Running](#running)\r\n- [Log Files](#log_files)\r\n- [Authors](#authors)\r\n- [Acknowledgments](#acknowledgements)\r\n- [Built Using](#built_using)\r\n- [License](#license)\r\n- [Version History](#history)\r\n\r\n## 🧐 About \u003ca name = \"about\"\u003e\u003c/a\u003e\r\n\r\nA JS canvas-based Mars Rover Simulator written in JavaScript (Node.js).\r\n| Deployments |\r\n| :---------: |\r\n| [Play Live on GHPages](https://andresmweber.github.io/ironhack-mars-rover-kata/) |\r\n| [Play Live on Netlify](https://mars-rover-kata.netlify.app/) |\r\n\r\n## 🕹️ How To Play  \u003ca name = \"howto\"\u003e\u003c/a\u003e\r\n### Hotkeys:\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n    \u003ctable\u003e\r\n        \u003ctr width=\"100%\"\u003e\r\n          \u003ctd\u003e\r\n              \u003cimg src=\"media/demo_v3.gif\" alt=\"Mars Rover Demo Gif\" /\u003e\r\n          \u003c/td\u003e\r\n          \u003ctd valign=\"top\"\u003e\r\n            \u003ctable \u003e\r\n                  \u003ctr\u003e\r\n                      \u003ctd align=\"center\" colspan=\"3\"\u003e\u003ch3\u003eControl Scheme\u003c/h3\u003e\u003c/td\u003e\r\n                  \u003c/tr\u003e\r\n                  \u003ctr\u003e\r\n                      \u003ctd\u003e\u003c/td\u003e\r\n                      \u003ctd\u003e\u003cb\u003eWeb\u003c/b\u003e\u003c/td\u003e\r\n                  \u003c/tr\u003e\r\n                  \u003ctr\u003e\r\n                      \u003ctd\u003e\u003cb\u003eLeft\u003c/b\u003e\u003c/td\u003e\r\n                      \u003ctd\u003eA\u003c/td\u003e\r\n                  \u003c/tr\u003e\r\n                  \u003ctr\u003e\r\n                      \u003ctd\u003e\u003cb\u003eRight\u003c/b\u003e\u003c/td\u003e\r\n                      \u003ctd\u003eD\u003c/td\u003e\r\n                  \u003c/tr\u003e\r\n                  \u003ctr\u003e\r\n                      \u003ctd\u003e\u003cb\u003eUp\u003c/b\u003e\u003c/td\u003e\r\n                      \u003ctd\u003eW\u003c/td\u003e\r\n                  \u003c/tr\u003e\r\n                  \u003ctr\u003e\r\n                      \u003ctd\u003e\u003cb\u003eDown\u003c/b\u003e\u003c/td\u003e\r\n                      \u003ctd\u003eS\u003c/td\u003e\r\n                  \u003c/tr\u003e\r\n                  \u003ctr\u003e\r\n                      \u003ctd\u003e\u003cb\u003ePause\u003c/b\u003e\u003c/td\u003e\r\n                      \u003ctd\u003eSpacebar\u003c/td\u003e\r\n                  \u003c/tr\u003e\r\n                  \u003ctr\u003e\r\n                      \u003ctd\u003e\u003cb\u003eQuit\u003c/b\u003e\u003c/td\u003e\r\n                      \u003ctd\u003eEscape or CTRL + C\u003c/td\u003e\r\n                  \u003c/tr\u003e\r\n              \u003c/table\u003e\r\n          \u003c/td\u003e\r\n        \u003c/tr\u003e\r\n    \u003c/table\u003e\r\n\u003c/div\u003e\r\n\r\n## ⌨️ Installing \u003ca name = \"installing\"\u003e\u003c/a\u003e\r\n\r\n### 🚀 Clone from repository and install dependencies\r\n\r\nJust clone the repo and inside the main directory install it:\r\n\r\n```bash\r\ngit clone https://github.com/andresmweber/ironhack-mars-rover-kata\r\ncd ironhack-mars-rover-kata\r\nnpm install\r\n```\r\n### 🏃 Run \u003ca name = \"running\"\u003e\u003c/a\u003e\r\n\r\nNow you can run it with either\r\n```bash\r\nnode index.js\r\n```\r\nor\r\n```bash\r\nnpm run-script play\r\n```\r\nFeel free to just hit `Enter` twice and run the game in default mode (you can read the defaults on the prompts).\r\n\r\n## 📋 Log Files \u003ca name = \"log_files\"\u003e\u003c/a\u003e\r\n\r\nAfter running the simulation it will always generate a log file you can look at to see the steps and travel log in more detail.  \r\nThe filename is in the format: ```roverLog_DD-MM-YYYY_HH-MM-SS.log``` and you will find it in the directory you ran the script from.\r\nHere is an [example log file](media/sample_log_file.log) generated from the gif above.\r\n\r\nNotice the travel map at the end which shows you the path they've taken.  Note that it will not show you if the rover has been over a spot multiple times, just shows the path with overlaps.\r\n\r\n## 💳 Credits\r\n### ✍️ Authors \u003ca name = \"authors\"\u003e\u003c/a\u003e\r\n- [Andres Weber](https://www.github.com/andresmweber)\r\n\r\n### 🎉 Acknowledgements \u003ca name = \"acknowledgements\"\u003e\u003c/a\u003e\r\n- [Tania Rascia](https://github.com/taniarascia) I used her [Snek.js](https://github.com/taniarascia/snek/) game as a template for the v2 ui/terminal based blessed rendering.\r\n\r\n### 👾 Sprites\r\n- [Andres Weber](https://www.piskelapp.com/user/5716277421670400/public)\r\n\r\n## ⛏️ Built Using \u003ca name = \"built_using\"\u003e\u003c/a\u003e\r\n\r\n- [NodeJS](https://www.nodejs.org/) - Web Server\r\n- [JavaScript](https://www.javascript.com/) - Front End\r\n- [SCSS](https://sass-lang.com/) - Styling\r\n- [Webpack](https://webpack.js.org/) - Asset Bundling\r\n- [Piskel](https://www.piskelapp.com/) - Pixel Art Creation\r\n\r\n## ⚖ License \u003ca name = \"license\"\u003e\u003c/a\u003e\r\nThis project is open source and available under the [MIT License](LICENSE).\r\n\r\n## 📊 Version History \u003ca name = \"history\"\u003e\u003c/a\u003e\r\n\r\n| Version | Description | Demo |\r\n| :------ | :---------- | :--: |\r\n| 1.0.0 | The first version was a simple simulation where all rovers were automated on a preset grid. | ![demo1.gif](media/demo_v1.gif) |\r\n| 2.0.0 | The second version was a simple simulation where the player rover movements were based on user input and all npc rovers were automated on a user input size grid. | ![demo1.gif](media/demo_v2.gif) |\r\n| 3.0.0 | The third version uses webpack to bundle assets and utilizes the canvas to draw custom sprites by employing the previously employed MVC architecture. | ![demo2.gif](media/demo_v3.gif) |\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandresmweber%2Fironhack-mars-rover-kata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandresmweber%2Fironhack-mars-rover-kata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandresmweber%2Fironhack-mars-rover-kata/lists"}