Proyecto final para Code in Place (Stanford University).
Simulación de una aspiradora Roomba en consola, desarrollada en Python puro.
El programa tiene dos fases:
Fase 1 – Distribución de suciedad Recorre el tablero y coloca suciedad aleatoriamente en las celdas, con un 30% de probabilidad por celda.
Fase 2 – Limpieza en serpentina La Roomba recorre todo el tablero en patrón serpentina (izquierda→derecha en filas pares, derecha→izquierda en filas impares), limpiando cada celda sucia que encuentra.
Al terminar muestra un resumen con el número de celdas limpiadas y la eficiencia.
Requisitos: Python 3.8 o superior (sin librerías externas).
python roomba.py- Al finalizar la Fase 1 pulsa ENTER para iniciar la limpieza.
- La animación corre automáticamente.
| Símbolo | Significado |
|---|---|
R |
Roomba (posición actual) |
• |
Celda sucia |
· |
Celda ya limpiada |
|
Celda limpia |
roomba.py
├── crear_tablero() → genera el tablero vacío
├── distribuir_suciedad() → Fase 1: coloca suciedad aleatoria
├── limpiar_celda() → limpia una celda individual
├── recorrer_serpentina() → Fase 2: movimiento en serpentina
├── mostrar_tablero() → renderiza el tablero en consola
├── mostrar_resumen() → estadísticas finales
└── main() → punto de entrada
Alejandro Béjar Campón — Code in Place, Stanford University