Serious game pour apprendre à coder en Python (une aventure à coder sur Mars)
Go to file
2022-11-13 04:53:35 +01:00
asset Ajout du jumeau numérique 2022-11-02 19:21:27 +01:00
img Ajout des icones Mars 2022-11-13 00:04:18 +01:00
twins Ajout du relais : télécommande -> ropy 2022-11-13 04:53:35 +01:00
LICENSE Autonomisation du projet 2022-02-24 11:48:12 +01:00
README.md Readme update 2022-11-13 00:07:28 +01:00
ropy-27.blend Ajout de l'animation du forage 2022-10-08 11:35:45 +02:00
ropy-28.blend Ajout du jumeau numérique 2022-11-02 19:21:27 +01:00
ropy-29.blend Ajout du relais : télécommande -> ropy 2022-11-13 04:53:35 +01:00
rp_about.py Ajout des touches +/- sur la config des la taille de l'écran 2022-10-22 01:04:48 +02:00
rp_cmd.py Ajout du relais : télécommande -> ropy 2022-11-13 04:53:35 +01:00
rp_config.xml Exemples pour micro:bit et arduino 2022-11-07 03:09:51 +01:00
rp_doc.py Jumeau numérique Maqueen suite 2022-11-05 02:20:39 +01:00
rp_lib.py Ajout du relais : télécommande -> ropy 2022-11-13 04:53:35 +01:00
rp_map1.py Ajout du jumeau numérique suite 2022-11-03 00:17:42 +01:00
rp_store.py Ajout des programmes des cartes micro:bit pour le jumeau numérique Maqueen 2022-11-04 16:30:35 +01:00
rp.py Exemples pour micro:bit et arduino 2022-11-07 03:09:51 +01:00

Ropy

Discover Python with Ropy (coding adventure)
Découvre le Python avec Ropy (code ton aventure)

Ropy est un rover martien qui se programme en Python. Les aventures de Ropy permettent la découverte de la programmation procédurale et du language Python. A travers les différents missions, donc de manière graduée, les élèves vont apprendre à manipuler les structures algorithmiques et à les coder en Python.

Ropy présentation

Poster

Ropy a fortement été inpiré par RobotProg et Light Bot.

Ce jeu sérieux fait partie du projet open source Blender-EduTech (Blender/UPBGE pour l'Enseignement Technologique).

Téléchargement

Les binaires (Game Engine Runtime) sont hébergés sur phroy.org.

Instructions et missions

Le script Python qui permet la commande du robot est le fichier 'rp_cmd.py'. Il est éditable avec tout éditeur (Spyder, Emacs, Atoms, ...).

Les instructions de base sont :

  • Avancer : rp_avancer()
  • Reculer : rp_reculer()
  • Tourner à gauche : rp_gauche()
  • Tourner à droite : rp_droite()
  • Marquer la case : rp_marquer()
  • Détecter la présence d'un mur devant à un pas : rp_detect() -> retourne True en présence d'un mur et False en absence de mur

Il y a 6 missions :

  • Mission 1 : Les premiers pas de Ropy
  • Mission 2 : Ma première fonction
  • Mission 3 : Sécuriser Ropy
  • Mission 4 : Partir au bout du monde
  • Mission 5 : Faire face à l'inconnu
  • Mission 6 : Se rendre utile

Du niveau 1 au niveau 5, chaque niveau donne lieu à la découverte d'une nouvelle structure algorithmique. Le niveau 6 correspond à la mission principale, il faudra mobiliser l'ensemble de structures vues précédement.

Jumeau numérique

Par son interface sur le port série, Ropy peut devenir le jumeau numérique d'un robot réel. Ci-dessous vous trouverez le jumelage numérique du robot Maqueen (carte micro:bit) avec Ropy.

Ropy et Maqueen

Documents pédagogiques

Les applications pédagogique se trouvent dans le dépôt des documents pédagogiques du projet Blender-EduTech .

Ropy est une plateforme pédagogique où d'autres missions pouvent être dévelopées pour mettre en oeuvre des concepts comme la programmation objet, le multithreading ou encore le machine learning.

Développement

L'environnement de développement est basé sur : la plateforme de modélisation et d'animation 3D Blender ( https://blender.org ), le langage Python (https://python.org ) et le moteur de jeu 3D UPBGE ( https://upbge.org ).

Le code source, les fichiers blender et les assets sont hébergés sur le dépôt gitlab.

La bibliothèque serial utilisée pour la communication sur le port série (jumeau numérique) n'est pas incluse par défaut dans l'environnement UPGE.

Il faut donc l'installer localement, les étapes sont :

  • La configuration ici présente est UPBGE installé sous GNU-Linux sur ~ avec Python 3.9
  • Aller dans le répertoire local de Python de UPBGE: $ cd ~/UPBGE-0.30-linux-x86_64/3.0/python/bin
  • Installer localement (UPBGE) le gestionnaire de paquet pip : $ ./python3.9 -m ensurepip --default-pip
  • Installer localement (UPBGE) la bibliothèque serial : $ ./pip install serial -t ~/UPBGE-0.30-linux-x86_64/3.0/python/lib/python3.9/site-packages