minobot


Nameminobot JSON
Version 0.0.1 PyPI version JSON
download
home_pageNone
SummaryA package for visualizing maze solving intended for students learning programming with Python. Developed at the VU Amsterdam.
upload_time2025-10-25 11:02:50
maintainerNone
docs_urlNone
authorBanno Postma, Mauricio Verano Merino
requires_python>=3.10
licenseNone
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"
}
        
Elapsed time: 2.45229s