G0belins
Messages postés7Date d'inscriptionmardi 3 octobre 2023StatutMembreDernière intervention29 octobre 2023
-
29 oct. 2023 à 23:16
Bonjour,
J'ai un petit soucis, mon programme permet de faire un jeu ou un robot se déplace jusqu'à ce qu'il tombe. Pour l'optimiser, j'ai mis des listes. Cependant, depuis que j'ais remplacé cela, mon programme ne veut plus se lancer.
Comprenez vous pourquoi ?
VARIABLES
i EST_DU_TYPE NOMBRE
direction EST_DU_TYPE NOMBRE
déplacement EST_DU_TYPE NOMBRE
premier_tour EST_DU_TYPE NOMBRE
i2 EST_DU_TYPE NOMBRE
fin_du_jeu EST_DU_TYPE NOMBRE
i3 EST_DU_TYPE NOMBRE
score EST_DU_TYPE LISTE
coordonnées EST_DU_TYPE LISTE
anciennes_coordonnées EST_DU_TYPE LISTE
DEBUT_ALGORITHME
FIN_POUR
POUR i ALLANT_DE 1 A 2
DEBUT_POUR
AFFICHER "Joueur "
AFFICHER i
AFFICHER " choisissez la direction du robot (1 pour Nord, 2 pour Sud, 3 pour Est, 4 pour Ouest) :"
LIRE direction
AFFICHER* " "
SI (direction<1) ALORS
DEBUT_SI
AFFICHER* "Direction invalide. Choisissez une direction entre 1 et 4"
i PREND_LA_VALEUR 3
FIN_SI
SINON
DEBUT_SINON
SI (direction>4) ALORS
DEBUT_SI
AFFICHER* "Direction invalide. Choisissez une direction entre 1 et 4"
i PREND_LA_VALEUR 3
FIN_SI
SINON
DEBUT_SINON
AFFICHER "Choisissez le nombre de déplacements (entre 1 et 10)"
LIRE déplacement
AFFICHER* " "
SI (déplacement<1) ALORS
DEBUT_SI
AFFICHER* "Déplacement trop petit. Choississez entre 1 et 10"
i PREND_LA_VALEUR 3
FIN_SI
SINON
DEBUT_SINON
SI (déplacement>10) ALORS
DEBUT_SI
AFFICHER* "Déplacement trop grand. Choississez entre 1 et 10"
i PREND_LA_VALEUR 3
FIN_SI
SINON
DEBUT_SINON
TRACER_SEGMENT_Vert (10,10)->(90,10)
TRACER_SEGMENT_Vert (90,10)->(90,70)
TRACER_SEGMENT_Vert (90,70)->(10,70)
TRACER_SEGMENT_Vert (10,70)->(10,10)
coordonnées[1] PREND_LA_VALEUR 40
coordonnées[2] PREND_LA_VALEUR 50
TRACER_POINT_Rouge (robotx,roboty)
SI (direction==1) ALORS
DEBUT_SI
coordonnées[1] PREND_LA_VALEUR coordonnées[1] + déplacement
FIN_SI
SI (direction==2) ALORS
DEBUT_SI
coordonnées[1] PREND_LA_VALEUR coordonnées[1] - déplacement
FIN_SI
SI (direction==3) ALORS
DEBUT_SI
coordonnées[2] PREND_LA_VALEUR coordonnées[2] + déplacement
FIN_SI
SI (direction==4) ALORS
DEBUT_SI
coordonnées[2] PREND_LA_VALEUR coordonnées[2] - déplacement
FIN_SI
anciennes_coordonnées[2] PREND_LA_VALEUR coordonnées[2]
anciennes_coordonnées[1] PREND_LA_VALEUR coordonnées[1]
TRACER_SEGMENT_Vert (50,40)->(ancienx,ancieny)
score[i2] PREND_LA_VALEUR déplacement
FIN_SI
FIN_POUR
TANT_QUE (fin_du_jeu<1) FAIRE
DEBUT_TANT_QUE
déplacement PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,10)
direction PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,4)
POUR i3 ALLANT_DE 1 A déplacement
DEBUT_POUR
SI (direction==1) ALORS
DEBUT_SI
coordonnées[1] PREND_LA_VALEUR coordonnées[1] + 1
SI (coordonnées[1]>70) ALORS
DEBUT_SI
i PREND_LA_VALEUR 11
fin_du_jeu PREND_LA_VALEUR 1
FIN_SI
FIN_SI
SI (direction==2) ALORS
DEBUT_SI
coordonnées[1] PREND_LA_VALEUR coordonnées[1] - 1
SI (coordonnées[1] <10) ALORS
DEBUT_SI
i PREND_LA_VALEUR 11
fin_du_jeu PREND_LA_VALEUR 1
FIN_SI
FIN_SI
SI (direction==3) ALORS
DEBUT_SI
coordonnées[2] PREND_LA_VALEUR coordonnées[1 ]+ 1
SI (coordonnées[2]>90) ALORS
DEBUT_SI
i PREND_LA_VALEUR 11
fin_du_jeu PREND_LA_VALEUR 1
FIN_SI
FIN_SI
SI (direction==4) ALORS
DEBUT_SI
coordonnées[2] PREND_LA_VALEUR coordonnées[1] - 1
SI (coordonnées[2]<10) ALORS
DEBUT_SI
i PREND_LA_VALEUR 11
fin_du_jeu PREND_LA_VALEUR 1
FIN_SI
FIN_SI
FIN_POUR
TRACER_SEGMENT_Rouge (anciennes_coordonnées[2],anciennes_coordonnées[1])->(coordonnées[2],coordonnées[1])
anciennes_coordonnées[1] PREND_LA_VALEUR coordonnées[1]
anciennes_coordonnées[2] PREND_LA_VALEUR coordonnées[2]
FIN_SINON
FIN_TANT_QUE
FIN_SINON
FIN_SINON
FIN_SINON
FIN_ALGORITHME