{"id":16963708,"url":"https://github.com/pedroka-dev/martian-robot","last_synced_at":"2026-05-17T04:38:39.971Z","repository":{"id":117619177,"uuid":"356956995","full_name":"pedroka-dev/Martian-Robot","owner":"pedroka-dev","description":"🛰 C# .NET console app that moves and rotates a \"robot\" on a custom grid based on a string input of commands.","archived":false,"fork":false,"pushed_at":"2024-06-13T20:37:53.000Z","size":35,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T11:44:35.537Z","etag":null,"topics":["coding-exercise","csharp"],"latest_commit_sha":null,"homepage":"","language":"C#","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/pedroka-dev.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":"2021-04-11T19:11:59.000Z","updated_at":"2024-06-20T23:46:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"d11bcffa-1186-42da-939b-857942d42731","html_url":"https://github.com/pedroka-dev/Martian-Robot","commit_stats":null,"previous_names":["pedroka-dev/martian-robot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedroka-dev%2FMartian-Robot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedroka-dev%2FMartian-Robot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedroka-dev%2FMartian-Robot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedroka-dev%2FMartian-Robot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pedroka-dev","download_url":"https://codeload.github.com/pedroka-dev/Martian-Robot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244827928,"owners_count":20517024,"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":["coding-exercise","csharp"],"created_at":"2024-10-13T23:25:49.506Z","updated_at":"2025-10-29T18:09:00.601Z","avatar_url":"https://github.com/pedroka-dev.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Martian Robot\nA robot that moves and rotates based on a string input\n\n# About the System\nThe chosen area for analysis is curiously rectangular, and the robots must walk through it with their cameras on, collecting all kinds of information. A robot's position is represented by a combination of X and Y coordinates and also a letter representing the direction it is facing. The area is divided into a grid to simplify navigation. An example of a position could be: 0,0,N, meaning the robot is in the bottom left part facing north. Use the following orientations: N = north, S = south, L = east, O = west. To control the robot, AEB sends simple strings with commands. Possible letters are: E, D, and M. The letters E and D make the robot turn 90 degrees to the left and right, respectively, without moving from its place. The letter M means moving one position forward on the grid, maintaining the same direction. Assume that moving the robot forward means moving its position from (X, Y) to (X, Y+1). For example, a robot at position (0,0) facing north, when moving one position, will end up at (0,1).\n\n# Input\nThe program should have the following parameters: – The first line should be the coordinates of the upper right corner of the area. The lower left corner is always (0,0). – The rest of the inputs should be the commands the robot must execute. Each command should be sent in 2 parts: the first part is the initial position of the robot, and the second is a series of instructions that the robot must follow to explore the area. The position is given with 2 integers and a letter, separated by spaces, corresponding to the X and Y coordinates and the robot's orientation. Each robot will execute the instructions sequentially: the second robot will only start its actions when the first one finishes.\n\n# Output\nFor each robot, the final position and its orientation after executing the instructions.\n\n# Examples\n\nInput:  \n\n5 5 \n\n1 2 N \n\nEMEMEMEMM \n\n3 3 L \n\nMMDMMDMDDM\n\nExpected Output:\n\n1 3 N \n\n5 1 L\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedroka-dev%2Fmartian-robot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpedroka-dev%2Fmartian-robot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedroka-dev%2Fmartian-robot/lists"}