Ajout du nombre de pas et du nombre de lignes

This commit is contained in:
Philippe Roy 2022-08-26 12:41:18 +02:00
parent 3abb52deed
commit 6272f95926
6 changed files with 32 additions and 44 deletions

BIN
ropy-09.blend Normal file

Binary file not shown.

9
rp.py
View File

@ -172,7 +172,6 @@ def terrain_init ():
def terrain_run (): def terrain_run ():
# Pause # Pause
# FIXME : HL alors que c'est avec les touches
if scene.objects['Terrain']['run'] == True: if scene.objects['Terrain']['run'] == True:
scene.objects['Terrain']['run']=False scene.objects['Terrain']['run']=False
scene.objects['Pause'].setVisible(False,False) scene.objects['Pause'].setVisible(False,False)
@ -182,7 +181,6 @@ def terrain_run ():
scene.objects['Run-Hl'].setVisible(True,False) scene.objects['Run-Hl'].setVisible(True,False)
# Run # Run
# FIXME : HL alors que c'est avec les touches
else : else :
scene.objects['Terrain']['run']=True scene.objects['Terrain']['run']=True
scene.objects['Run'].setVisible(False,False) scene.objects['Run'].setVisible(False,False)
@ -196,6 +194,13 @@ def terrain_run ():
scene.objects['Terrain']['thread_cmd']=True scene.objects['Terrain']['thread_cmd']=True
rp_map.map_reset() rp_map.map_reset()
time.sleep(0.25) time.sleep(0.25)
# Nombre de ligne du script Python
# print (os.getcwd())
file = open('rp_cmd.py', 'r')
file_txt = file.read()
scene.objects['Points']['nbligne'] = len(file_txt.split("\n"))-28 # 28 lignes utilisées de base
file.close()
runpy.run_module('rp_cmd', run_name='start') # Execution du script utilisateur runpy.run_module('rp_cmd', run_name='start') # Execution du script utilisateur
# Arrêt de la pause # Arrêt de la pause

View File

@ -3,7 +3,7 @@ from rp_lib import * # Bibliothèque Ropy
############################################################################### ###############################################################################
# rp_cmd.py # rp_cmd.py
# @title: Commandes du Robot Ropy # @title: Commandes pour le Rover Ropy
# @project: Ropy (Blender-EduTech) # @project: Ropy (Blender-EduTech)
############################################################################### ###############################################################################
@ -19,42 +19,23 @@ def mrp_avancer():
# Commandes # Commandes
############################################################################### ###############################################################################
def commands(): def commandes():
print("Go !!") print("Go !!")
# rp_marquer() # A tendance au plantage
rp_gauche() rp_gauche()
mrp_avancer()
mrp_avancer()
rp_droite()
mrp_avancer()
mrp_avancer()
mrp_avancer()
mrp_avancer()
mrp_avancer()
mrp_avancer()
rp_avancer() rp_avancer()
rp_droite()
rp_marquer()
mrp_avancer()
rp_marquer()
mrp_avancer()
rp_marquer()
mrp_avancer()
mrp_avancer()
rp_droite()
mrp_avancer()
mrp_avancer()
rp_droite()
rp_droite()
mrp_avancer()
mrp_avancer()
mrp_avancer()
mrp_avancer()
rp_droite()
mrp_avancer()
mrp_avancer()
mrp_avancer()
mrp_avancer()
mrp_avancer()
mrp_avancer()
mrp_avancer()
mrp_avancer()
rp_fin() rp_fin()
@ -64,7 +45,6 @@ def commands():
############################################################################### ###############################################################################
if __name__=='start': if __name__=='start':
thread_cmd_start(commands) thread_cmd_start(commandes)
if __name__=='stop': if __name__=='stop':
thread_cmd_stop() thread_cmd_stop()

View File

@ -1,11 +1,11 @@
<data> <data>
<config> <config>
<speed>4.0</speed> <speed>1.0</speed>
<sound>True</sound> <sound>True</sound>
<cam> <cam>
<worldPosition.x>-7.034218788146973</worldPosition.x> <worldPosition.x>-7.927214622497559</worldPosition.x>
<worldPosition.y>-10.528145790100098</worldPosition.y> <worldPosition.y>-9.915717124938965</worldPosition.y>
<worldPosition.z>12.590240478515625</worldPosition.z> <worldPosition.z>10.973342895507812</worldPosition.z>
</cam> </cam>
</config> </config>
<mission> <mission>

View File

@ -4,7 +4,7 @@ import rp_map1 # Map definition
############################################################################### ###############################################################################
# rp_doc.py # rp_doc.py
# @title: Documentation du Robot Ropy # @title: Documentation du Rover Ropy
# @project: Ropy (Blender-EduTech) # @project: Ropy (Blender-EduTech)
# @lang: fr # @lang: fr
# @authors: Philippe Roy <philippe.roy@ac-grenoble.fr> # @authors: Philippe Roy <philippe.roy@ac-grenoble.fr>

View File

@ -10,7 +10,7 @@ import random
############################################################################### ###############################################################################
# rp_lib.py # rp_lib.py
# @title: Bibliothèque du Robot Ropy (rp_*) # @title: Bibliothèque du Rover Ropy (rp_*)
# @project: Ropy (Blender-EduTech) # @project: Ropy (Blender-EduTech)
# @lang: fr # @lang: fr
# @authors: Philippe Roy <philippe.roy@ac-grenoble.fr> # @authors: Philippe Roy <philippe.roy@ac-grenoble.fr>
@ -18,7 +18,6 @@ import random
# @license: GNU GPL # @license: GNU GPL
# #
# Bibliothèque des actions du robot # Bibliothèque des actions du robot
# Bibliothèque pour la construction des murs
# #
# Ropy est destiné à la découverte de la programmation procédurale et du language Python. # Ropy est destiné à la découverte de la programmation procédurale et du language Python.
# A travers plusieurs challenges, donc de manière graduée, les élèves vont apprendre à manipuler les structures algorithmiques de base et à les coder en Python. # A travers plusieurs challenges, donc de manière graduée, les élèves vont apprendre à manipuler les structures algorithmiques de base et à les coder en Python.
@ -179,6 +178,7 @@ def sound_play (sound):
def rp_avancer (): def rp_avancer ():
print ("rp_avancer()") print ("rp_avancer()")
scene.objects['Points']['step'] +=1
step =1 step =1
obj=scene.objects['Rover'] obj=scene.objects['Rover']
# print (obj.worldOrientation.to_euler().z) # print (obj.worldOrientation.to_euler().z)
@ -201,6 +201,7 @@ def rp_avancer ():
def rp_gauche (): def rp_gauche ():
print ("rp_gauche()") print ("rp_gauche()")
scene.objects['Points']['step'] +=1
step=math.pi/2 # Pas angulaire step=math.pi/2 # Pas angulaire
obj=scene.objects['Rover'] obj=scene.objects['Rover']
obj.applyRotation((0, 0, step), True) obj.applyRotation((0, 0, step), True)
@ -212,6 +213,7 @@ def rp_gauche ():
def rp_droite (): def rp_droite ():
print ("rp_droite()") print ("rp_droite()")
scene.objects['Points']['step'] +=1
step=math.pi/2 # Pas angulaire step=math.pi/2 # Pas angulaire
obj=scene.objects['Rover'] obj=scene.objects['Rover']
obj.applyRotation((0, 0, -step), True) obj.applyRotation((0, 0, -step), True)
@ -222,8 +224,9 @@ def rp_droite ():
## ##
def rp_marquer (): def rp_marquer ():
rp_tempo (0.1)
print ("rp_marquer()") print ("rp_marquer()")
scene.objects['Points']['step'] +=1
rp_tempo (0.1)
obj=scene.objects['Rover'] obj=scene.objects['Rover']
x = obj.worldPosition.x x = obj.worldPosition.x
y = obj.worldPosition.y y = obj.worldPosition.y