blender-edutech-ressources-.../Lycee/Programmation Python/Ropy - SNT/Correction/rp_cmd-correction_mission_6...

89 lines
2.4 KiB
Python

from rp_lib import * # Bibliothèque Ropy
###############################################################################
# rp_cmd-correction_mission_6-couleur.py
# @title: Commandes pour le Rover Ropy - Correction mission 6 en serpentin avec un dégradé
# @project: Ropy (Blender-EduTech)
###############################################################################
###############################################################################
# Initialisation du niveau :
# Niveau 1 : Les premiers pas de Ropy
# Niveau 2 : Ma première fonction
# Niveau 3 : Sécuriser Ropy
# Niveau 4 : Partir au bout du monde
# Niveau 5 : Faire face à l'inconnu
# Niveau 6 : Se rendre utile
###############################################################################
###############################################################################
# Fonctions
###############################################################################
j=0
def mrp_marquer_couleur():
global j
rp_marquer()
rp_couleur("Balise "+str(j), ((j*0.33)/100, (j*0.33)/100, 1, 1)) # Balise
j+=1
def mrp_avancer():
if rp_detect()==False:
rp_avancer()
mrp_marquer_couleur()
def mrp_avancer_nbpas(pas):
for i in range (pas):
mrp_avancer()
def mrp_avancer_mur():
while rp_detect()==False:
mrp_avancer()
def mrp_avancer_mur_sb(): # sb -> sans balise
while rp_detect()==False:
rp_avancer()
###############################################################################
# Commandes
###############################################################################
def commandes():
global j
# Mission 6
rp_gauche()
mrp_avancer_mur_sb()
rp_droite()
mrp_avancer_mur_sb()
rp_gauche()
mrp_avancer_mur_sb()
rp_gauche()
j=0
mrp_marquer_couleur()
for i in range (5):
mrp_avancer_nbpas(9)
rp_gauche()
mrp_avancer()
rp_gauche()
mrp_avancer_nbpas(9)
rp_droite()
mrp_avancer()
rp_droite()
###############################################################################
# En: External call << DONT CHANGE THIS SECTION >>
# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >>
###############################################################################
def cycle():
commandes()
rp_fin()
if __name__=='start':
thread_cmd_start(cycle)
if __name__=='stop':
thread_cmd_stop()