| Name | minobot JSON |
| Version |
0.0.1
JSON |
| download |
| home_page | None |
| Summary | A package for visualizing maze solving intended for students learning programming with Python. Developed at the VU Amsterdam. |
| upload_time | 2025-10-25 11:02:50 |
| maintainer | None |
| docs_url | None |
| author | Banno Postma, Mauricio Verano Merino |
| requires_python | >=3.10 |
| license | None |
| keywords |
maze
education
|
| VCS |
|
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# Minobot
An educational Python package for learning programming through maze solving.
## For Students
Learn programming concepts by writing code to solve mazes. Watch your robot navigate through mazes in real-time or as videos in Jupyter notebooks.
## Quick Start
```python
from minobot import *
# Create a maze
maze = [
[1, 1, 1, 1, 1], # 1 represents a wall
[1, 0, 0, 2, 1], # 0 is empty and 2 is the starting position
[1, 0, 1, 0, 1],
[1, 0, 0, 3, 1], # 3 is the goal
[1, 1, 1, 1, 1]
]
# Write your solution
def solve():
while not has_reached_end():
if can_move():
move()
else:
turn_left()
# Watch it work
solve_maze(maze, solve)
```
## Installation
```bash
pip install minobot
```
## Robot Instructions
The MinoBot provides simple, intuitive instructions for maze navigation:
### Movement Instructions
- `move()` - Move forward one step (returns `True` if successful, `False` if blocked)
- `turn_left()` - Turn 90 degrees to the left
- `turn_right()` - Turn 90 degrees to the right
- `turn_around()` - Turn 180 degrees
### Sensing Instructions
- `can_move()` - Check if the robot can move forward without hitting a wall
- `has_reached_end()` - Check if the robot has reached the goal
- `get_position()` - Get current (x, y) position
- `get_direction()` - Get current direction (NORTH, EAST, SOUTH, WEST)
- `get_steps()` - Get number of steps taken
### Painting Instructions
- `paint_current(color)` - Paint the tile the robot is standing on
- `paint_forward(color)` - Paint the tile in front of the robot
- `get_current_color()` - Get color of current tile
- `get_forward_color()` - Get color of tile in front
#### Colors
The MinoBot can paint tiles with the following colors:
- `red` - Light red
- `blue` - Light blue
- `green` - Light green
- `yellow` - Light yellow
- `purple` - Light purple
- `orange` - Light orange
- `pink` - Light pink
- `cyan` - Light cyan
## Educational Features
- **Visual Learning**: See your code execute step-by-step
- **Multiple Environments**: Works in Jupyter notebooks and standalone Python
- **Algorithm Practice**: Perfect for learning loops, conditionals, and problem-solving
Raw data
{
"_id": null,
"home_page": null,
"name": "minobot",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "maze, education",
"author": "Banno Postma, Mauricio Verano Merino",
"author_email": "Banno Postma <b.postma@vu.nl>, Mauricio Verano Merino <m.verano.merino@vu.nl>",
"download_url": "https://files.pythonhosted.org/packages/57/33/6fb1c04591933e667bdda42ba1656df5739c886102c411851dd06b189e6b/minobot-0.0.1.tar.gz",
"platform": null,
"description": "# Minobot\n\nAn educational Python package for learning programming through maze solving.\n\n## For Students\n\nLearn programming concepts by writing code to solve mazes. Watch your robot navigate through mazes in real-time or as videos in Jupyter notebooks.\n\n## Quick Start\n\n```python\nfrom minobot import *\n\n# Create a maze\nmaze = [\n [1, 1, 1, 1, 1], # 1 represents a wall\n [1, 0, 0, 2, 1], # 0 is empty and 2 is the starting position\n [1, 0, 1, 0, 1],\n [1, 0, 0, 3, 1], # 3 is the goal\n [1, 1, 1, 1, 1]\n]\n\n# Write your solution\ndef solve():\n while not has_reached_end():\n if can_move():\n move()\n else:\n turn_left()\n\n# Watch it work\nsolve_maze(maze, solve)\n```\n\n## Installation\n\n```bash\npip install minobot\n```\n\n## Robot Instructions\n\nThe MinoBot provides simple, intuitive instructions for maze navigation:\n\n### Movement Instructions\n- `move()` - Move forward one step (returns `True` if successful, `False` if blocked)\n- `turn_left()` - Turn 90 degrees to the left\n- `turn_right()` - Turn 90 degrees to the right \n- `turn_around()` - Turn 180 degrees\n\n### Sensing Instructions\n- `can_move()` - Check if the robot can move forward without hitting a wall\n- `has_reached_end()` - Check if the robot has reached the goal\n- `get_position()` - Get current (x, y) position\n- `get_direction()` - Get current direction (NORTH, EAST, SOUTH, WEST)\n- `get_steps()` - Get number of steps taken\n\n### Painting Instructions\n- `paint_current(color)` - Paint the tile the robot is standing on\n- `paint_forward(color)` - Paint the tile in front of the robot\n- `get_current_color()` - Get color of current tile\n- `get_forward_color()` - Get color of tile in front\n\n#### Colors\n\nThe MinoBot can paint tiles with the following colors:\n- `red` - Light red\n- `blue` - Light blue \n- `green` - Light green\n- `yellow` - Light yellow\n- `purple` - Light purple\n- `orange` - Light orange\n- `pink` - Light pink\n- `cyan` - Light cyan\n\n\n\n## Educational Features\n\n- **Visual Learning**: See your code execute step-by-step\n- **Multiple Environments**: Works in Jupyter notebooks and standalone Python\n- **Algorithm Practice**: Perfect for learning loops, conditionals, and problem-solving\n",
"bugtrack_url": null,
"license": null,
"summary": "A package for visualizing maze solving intended for students learning programming with Python. Developed at the VU Amsterdam.",
"version": "0.0.1",
"project_urls": null,
"split_keywords": [
"maze",
" education"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "995b3a02b0b900a69e3922623acabc2439f2eb22749ef483f6fb11d10129aadd",
"md5": "f8d8bc146b2b0a1366248625744bb9e2",
"sha256": "ac460fa28c7cdb7d7138cf7b7670deb352518459fead01eb0dd9fd1cc92c1f0a"
},
"downloads": -1,
"filename": "minobot-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f8d8bc146b2b0a1366248625744bb9e2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 22111,
"upload_time": "2025-10-25T11:02:49",
"upload_time_iso_8601": "2025-10-25T11:02:49.559823Z",
"url": "https://files.pythonhosted.org/packages/99/5b/3a02b0b900a69e3922623acabc2439f2eb22749ef483f6fb11d10129aadd/minobot-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "57336fb1c04591933e667bdda42ba1656df5739c886102c411851dd06b189e6b",
"md5": "ac5919bb3dea61eaeb1544c9080c2862",
"sha256": "05a9070e293e109c82ec766de9b268b70f03d69654bf31b59446fd2865573ad3"
},
"downloads": -1,
"filename": "minobot-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "ac5919bb3dea61eaeb1544c9080c2862",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 16650,
"upload_time": "2025-10-25T11:02:50",
"upload_time_iso_8601": "2025-10-25T11:02:50.912549Z",
"url": "https://files.pythonhosted.org/packages/57/33/6fb1c04591933e667bdda42ba1656df5739c886102c411851dd06b189e6b/minobot-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-25 11:02:50",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "minobot"
}