Serious game pour apprendre à coder en Python (une aventure à coder sur Mars)
Go to file
2023-02-16 15:04:18 +01:00
asset Supprimé asset/icons/hud/icon_store.FCStd1, asset/icons/hud/icon_battery.FCStd1 2022-11-26 00:45:38 +00:00
img MAJ du lien Git 2023-02-16 12:21:27 +01:00
twins Détection automatique de la carte sur le port série : microbit, uno et mega 2022-11-26 05:26:32 +01:00
LICENSE Ajout de LICENSE 2023-02-08 17:27:05 +00:00
README.md MAJ du lien Git 2023-02-16 12:23:28 +01:00
ropy-31.blend Page Crédits et choix du script 2023-02-05 18:17:16 +01:00
ropy-32.blend Bugfix : génération du texte de l'aide par bpy (non par bge) 2023-02-16 15:04:18 +01:00
ropy.bat Ajout de la vérification du code Python 2022-12-06 03:48:40 +01:00
ropy.sh Ajout du script shell 2023-02-16 02:23:00 +01:00
ropy.svg Ajout de l'icone de l'application 2022-11-26 01:40:34 +01:00
rp_about.py MAJ du lien Git 2023-02-16 02:20:58 +01:00
rp_cmd-bak.py Ajout de la documentation sur les listes, dictionnaires, chaine de caractères et langage Python 2023-02-16 14:18:06 +01:00
rp_cmd.py Configuration de la qualité du rendu 2023-02-05 20:56:46 +01:00
rp_config-bak.xml Update configuration 2023-02-16 11:59:54 +01:00
rp_config.xml Bugfix : génération du texte de l'aide par bpy (non par bge) 2023-02-16 15:04:18 +01:00
rp_doc.py Bugfix : génération du texte de l'aide par bpy (non par bge) 2023-02-16 15:04:18 +01:00
rp_file_qt.py Transport du fichier de configuration dans le répertoire de travail 2023-02-06 14:40:00 +01:00
rp_file_wx.py Transport du fichier de configuration dans le répertoire de travail 2023-02-06 14:40:00 +01:00
rp_lib.py Transport du fichier de configuration dans le répertoire de travail 2023-02-07 03:33:32 +01:00
rp_map1.py Transport du fichier de configuration dans le répertoire de travail 2023-02-06 14:40:00 +01:00
rp_store.py Détection automatique de la carte sur le port série : microbit, uno et mega 2022-11-26 05:26:32 +01:00
rp.py Update 2 files 2023-02-07 05:39:45 +00:00

Ropy

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.

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, Atom, ...).

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.

Par son interface sur le port série, Ropy peut devenir le jumeau numérique d'un robot réel. Trois missions sont proposées sur son jumelage avec le robot Maqueen (carte micro:bit) présentes dans les documents pédagogiques.

Deux vidéos :

Ressources pédagogiques

Les applications pédagogique se trouvent dans le dépôt des ressources 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 ).

Les fichiers sources sont dans le groupe Blender-Edutech de la forge de l'AEIF : https://forge.aeif.fr/blender-edutech/ropy .

Les bibliothèques suivantes ne sont pas incluses par défaut dans l'environnement UPBGE :

  • Pylint : vérificateur du code Python
  • pySerial : communication sur le port série
  • pyFirmata : protocole Firmata (protocole générique de communication entre un logiciel et un microcontrôleur)
  • wxPython : interface graphique utilisateur (GUI, utilisé ici pour Windows)
  • pyQt5 : interface graphique utilisateur (GUI, utilisé ici pour GNU/Linux)

Il faut donc les installer localement (dans UPBGE), les étapes sont :

  • GNU/Linux : La configuration ici présente est UPBGE installé 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
    • Télécharger le script 'get-pip.py' pour installer le gestionnaire de paquet Pip
    • Installer le gestionnaire de paquet Pip : $ ./python3.9 get-pip.py
    • Installer Pylint : $ ./pip install pylint
    • Installer pySerial : $ ./pip install pyserial
    • Installer pyFirmata : $ ./pip install pyfirmata
    • Installer PyQt5 : $ ./pip install PyQt5
  • Windows : La configuration ici présente est UPBGE installé sur le bureau utilisateur (prenom.nom) :

    • Ouvrir un terminal Powershell (éventuellement en passant par Anaconda Navigator)
    • Aller dans le répertoire local de Python de UPBGE: cd C:\Users\prenom.nom\Desktop\UPBGE-0.30-windows-x86_64\3.0\python\bin
    • Télécharger le script 'get-pip.py' pour installer le gestionnaire de paquet Pip
    • Installer le gestionnaire de paquet Pip : python.exe get-pip.py
    • Aller dans le répertoire 'Scripts' : cd C:\Users\prenom.nom\Desktop\UPBGE-0.30-windows-x86_64\3.0\python\Scripts
    • Installer Pylint : pip.exe install pylint
    • Installer pySerial : pip.exe install pyserial
    • Installer pyFirmata : pip.exe install pyfirmata
    • Installer wxPython : pip.exe install wxpython