FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Tout est tranquille
par Jean Claude Hier à 21:41

» Texte en gif animé
par JL35 Hier à 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

» Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
par pascal10000 Ven 15 Sep 2017 - 16:20

» Compilateur FBPano
par jean_debord Ven 15 Sep 2017 - 9:59

» 1 (en analyse): 3D_TARGET_IS ne fonctionne pas sur 3D_TEXT
par Jack Jeu 14 Sep 2017 - 19:52

» Problème avec la 3D.
par Jack Jeu 14 Sep 2017 - 18:06

» Test de la 3D.
par mindstorm Mer 13 Sep 2017 - 19:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Il est beau le robot

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Froggy One

avatar

Nombre de messages : 391
Date d'inscription : 06/01/2012

MessageSujet: Il est beau le robot   Jeu 19 Fév 2015 - 21:00

En voyant ce que Papydall avait fait en LOGO, je me suis un peu amusé à programmer un robot... je n'en suis qu'au début, et surtout j'avais du temps devant moi ! Je suis sûr que la prog des directions est assez grossière ;  au moins ça a eu le mérite d'aller vite à copier / coller !!!

Bonne soirée !!!

Code:
' Robot 1.0 par Froggy One
' Projet encore très basique : le robot bouge en direct avec les flèches...

caption 0,"Robot 1.0"
label av,ag,ad,ar,info,ici,la
dim col%,lig%,i%,x1%,x2%,y1%,y2%,X_Pos%,Y_Pos%
dim nb_Col% : nb_Col%=10
dim nb_Lig% : nb_Lig%=10
dim cote%   : cote%=32
dim mg%     : mg%=50
dim mh%     : mh%=20
dim inter%  : inter%=6

dim drn$:drn$="vers la gauche":gosub info

' On trace le plateau de jeu

for  lig%=1 to 10
   for  col%=1 to 10
        i%=col%+(lig%-1)*10
        x1%=(mg%+(cote%+inter%)*col%)-2:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)-2:y2%=y1%+cote%
        2d_pen_color 224,212,144:2d_fill_color 235,205,29
        2d_rectangle x1%,y1%,x2%,y2%
        x1%=(mg%+(cote%+inter%)*col%)+1:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)+1:y2%=y1%+cote%
        2d_pen_color 27,10,50:2d_pen_width 2
        2d_line x2%,y1%,x2%,y2%:2d_line x2%,y2%,x1%,y2%
        picture i%
        width i%,cote%:height i%,cote%
        top  i%,mh%+(cote%+inter%)*lig%
        left i%,mg%+(cote%+inter%)*col%
        color i%,178,157,37
   next col%
next lig%

button 110:caption 110,"Avance":top 110, 40:left 110,490
button 111:caption 111,"Gauche":top 111,70:left 111,480
button 112:caption 112,"Droite":top 112,100:left 112,500
button 113:caption 113,"Recule":top 113,130:left 113,490

va(10,1)

on_click 110,av:on_click 111,ag:on_click 112,ad:on_click 113,ar

END

info:
caption 0,"Robbie regarde "+drn$
RETURN

av:
   if drn$="vers la droite"
    if X_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers la gauche"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers le haut"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers le bas"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
gosub info
RETURN

ag:
   if drn$="vers la gauche":drn$="vers le bas":gosub info:goto ici
   end_if
   if drn$="vers la droite":drn$="vers le haut":gosub info:goto ici
   end_if
   if drn$="vers le haut" : drn$="vers la gauche":gosub info:goto ici
   end_if
   if drn$="vers le bas"  : drn$="vers la droite":gosub info:goto ici
   end_if
ici:
RETURN

ad:
   if drn$="vers la droite":drn$="vers le bas":gosub info:goto la
   end_if
   if drn$="vers la gauche":drn$="vers le haut":gosub info:goto la
   end_if
   if drn$="vers le bas"  : drn$="vers la gauche":gosub info:goto la
   end_if
   if drn$="vers le haut" : drn$="vers la droite":gosub info:goto la
   end_if
la:
RETURN

ar:
   if drn$="vers la gauche"
    if X_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers la droite"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le bas"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le haut"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

gosub info
RETURN

sub va(x%,y%)
    X_Pos%=x% : x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    Y_Pos%=y% : y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 0,0,0:2d_fill_color 235,205,29
    2d_circle x%,y%,int(cote%/3)
end_sub

sub efface(x%,y%)
    x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 178,157,37:2d_fill_color 178,157,37
    2d_circle x%,y%,int(cote%/3)
end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gaeldwest.wordpress.com
Froggy One

avatar

Nombre de messages : 391
Date d'inscription : 06/01/2012

MessageSujet: suite :   Jeu 19 Fév 2015 - 21:47

Personne à bord ? Bon, j'en profite pour mettre à jour :
Code:
' Robot 1.0 par Froggy One
' Projet encore très basique : le robot bouge en direct avec les flèches...


label av,ag,ad,ar,demi,orig,info,ici,la,encore
dim col%,lig%,i%,x1%,x2%,y1%,y2%,X_Pos%,Y_Pos%
dim nb_Col% : nb_Col%=10
dim nb_Lig% : nb_Lig%=10
dim cote%   : cote%=32
dim mg%     : mg%=50
dim mh%     : mh%=20
dim inter%  : inter%=6

dim drn$:drn$="vers la droite":gosub info

' On trace le plateau de jeu

for  lig%=1 to 10
   for  col%=1 to 10
        i%=col%+(lig%-1)*10
        x1%=(mg%+(cote%+inter%)*col%)-2:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)-2:y2%=y1%+cote%
        2d_pen_color 224,212,144:2d_fill_color 235,205,29
        2d_rectangle x1%,y1%,x2%,y2%
        x1%=(mg%+(cote%+inter%)*col%)+1:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)+1:y2%=y1%+cote%
        2d_pen_color 27,10,50:2d_pen_width 2
        2d_line x2%,y1%,x2%,y2%:2d_line x2%,y2%,x1%,y2%
        picture i%
        width i%,cote%:height i%,cote%
        top  i%,mh%+(cote%+inter%)*lig%
        left i%,mg%+(cote%+inter%)*col%
        color i%,178,157,37
   next col%
next lig%

button 110:caption 110,"Avance" : top 110,40 :left 110,490
button 111:caption 111,"Gauche" : top 111,70 :left 111,480
button 112:caption 112,"Droite" : top 112,100:left 112,500
button 113:caption 113,"Recule" : top 113,130:left 113,490
button 114:caption 114,"1/2 Tr" : top 114,190:left 114,490
button 115:caption 115,"Origine": top 115,250:left 115,490

va(1,1)

on_click 110,av:on_click 111,ag:on_click 112,ad:on_click 113,ar
on_click 114,demi:on_click 115,orig

END

' SUBs et LABELs

info:
caption 0,"Robbie regarde "+drn$
RETURN

orig:
   efface(X_Pos%,Y_Pos%) : va(1,1) : drn$="vers la droite" : gosub info
RETURN

av:
   if drn$="vers la droite"
    if X_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers la gauche"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers le haut"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers le bas"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
gosub info
RETURN

ag:
   if drn$="vers la gauche":drn$="vers le bas":gosub info:goto ici
   end_if
   if drn$="vers la droite":drn$="vers le haut":gosub info:goto ici
   end_if
   if drn$="vers le haut" : drn$="vers la gauche":gosub info:goto ici
   end_if
   if drn$="vers le bas"  : drn$="vers la droite":gosub info:goto ici
   end_if
ici:
va(X_Pos%,Y_Pos%)
RETURN

ad:
   if drn$="vers la droite":drn$="vers le bas":gosub info:goto la
   end_if
   if drn$="vers la gauche":drn$="vers le haut":gosub info:goto la
   end_if
   if drn$="vers le bas"  : drn$="vers la gauche":gosub info:goto la
   end_if
   if drn$="vers le haut" : drn$="vers la droite":gosub info:goto la
   end_if
la:
va(X_Pos%,Y_Pos%)
RETURN

demi:
   if drn$="vers la droite":drn$="vers la gauche":gosub info:goto encore
   end_if
   if drn$="vers le bas" : drn$="vers le haut" : gosub info :goto encore
   end_if
   if drn$="vers le haut" : drn$="vers le bas" : gosub info :goto encore
   end_if
   if drn$="vers la gauche":drn$="vers la droite":gosub info:goto encore
   end_if
encore:
va(X_Pos%,Y_Pos%)
RETURN

ar:
   if drn$="vers la gauche"
    if X_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers la droite"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le bas"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le haut"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

gosub info
RETURN

' SUBs

sub va(x%,y%)
    X_Pos%=x% : x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    Y_Pos%=y% : y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 0,0,0:2d_fill_color 235,205,29
    2d_circle x%,y%,int(cote%/3)
      if drn$="vers la droite"
         2d_circle x%+2,y%-3,3:2d_circle x%+2,y%+3,3
      end_if
      if drn$="vers la gauche"
         2d_circle x%-2,y%-3,3:2d_circle x%-2,y%+3,3
      end_if
      if drn$="vers le haut"
         2d_circle x%-3,y%-2,3:2d_circle x%+3,y%-2,3
      end_if
      if drn$="vers le bas"
         2d_circle x%-3,y%+2,3:2d_circle x%+3,y%+2,3
      end_if
end_sub

sub efface(x%,y%)
    x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 178,157,37:2d_fill_color 178,157,37
    2d_circle x%,y%,int(cote%/3)
end_sub

Maintenant j'ai un robot à zyeux...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gaeldwest.wordpress.com
JL35



Nombre de messages : 5951
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Il est beau le robot   Jeu 19 Fév 2015 - 22:05

Bonsoir Froggy,

1ère remarque: bizarre que tu aies mis ça dans la rubrique de Klaus ? j'aurais plus vu dans les jeux, ou bavardages...

2è: joli dessin, il y a de l'idée, je n'ai pas étudié le code mais les mouvements sont plutôt... inattendus, quand il y en a, ça ne correspond pas vraiment au bouton cliqué.
Et les touches flèches sont complètement inopérantes, chez moi en tout cas.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5018
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Il est beau le robot   Jeu 19 Fév 2015 - 22:19

Si Si JL35, çà marche parfaitement bien.  Very Happy

Il faut utiliser uniquement les boutons.
Les boutons droite et gauche servent à définir la direction que devra prendre le robot au prochain clique sur le bouton avance.

Ça pourrait devenir un Pacman....

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5951
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Il est beau le robot   Jeu 19 Fév 2015 - 22:33

Je ne sais pas pourquoi je voulais utiliser les touches flèches...
Et je n'avais pas compris la philosophie des boutons, mais quand même, ça part dans un sens inattendu parfois... et parfois j'ai 'Erreur' qui s'affiche...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5018
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Il est beau le robot   Jeu 19 Fév 2015 - 22:39

Il faut se servir des yeux du robot qui indiquent la direction choisie.
Moi, je n'ai constaté le message d'erreur uniquement que quand la direction choisie envoi le robot hors du cadre.

Je trouve que c'est un bon début.
Ça pourrait aussi servir pour un labyrinthe.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 533
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Il est beau le robot   Jeu 19 Fév 2015 - 23:13

du calme du calme Froggy j'arrive Very Happy
si un robot est là Mindstorm n'est pas loin pirat
Si tu cherche un peut il y a déjà quelques bonnes idées sur le forum...
j'ai vue un super labyrinthe il y a quelque temps avec la vue depuis le robot
Pour moi c'est un très bon début avec pour seul bémol qu'un robot doit agir seul dans son environnement
là si tu t'ennuis ....
bon courage
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5855
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Il est beau le robot   Jeu 19 Fév 2015 - 23:26

Oui, quoi que tu veuille faire à la fin, c'est un très bon début. Pour éviter de dérouter, tu pourrais metre tourne à droite ou tourne à gauche à la place de droite et gauche, le titre du bouton serait plus 'parlant'

Bonne continuation et j'espère que tu aura du temps devant toi pour faire ce que tu souhaites
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Froggy One

avatar

Nombre de messages : 391
Date d'inscription : 06/01/2012

MessageSujet: Re   Ven 20 Fév 2015 - 0:22

Merci de vos réponses, il y a un effectivement un bug, il sort par le bas, c'est corrigé. Je pensais m'en servir :

- pour un programme de structuration de l'espace pour jeunes enfants : différents moyens d'atteindre une case  
- pour un programme de style LOGO où les ordres seraient lus :  AV 10 TG TIR...
- pour un jeu de programmation : je pense aux droïds dont on pose les ordres sur les colonnes et lignes correspondant aux cases où ils se trouvent par un drag et drop; effectivement dans ce jeu, on a juste à indiquer le nombre de cases (une ou deux), la direction (l'instruction tourner n'existe plus, elle est implicite) plus un ordre pour transporter des obstacles et un pour tirer, la difficulté étant d'anticiper ce que fera l'autre joueur... ou l'IA (mais là, il y a du boulot !!!)
- mais l'option Pacman est intéressante. Je crois me souvenir d'un excellent tuto (que, ô honte, je n'ai pas lu !)

En tous cas, même si là je vais me coucher, vos encouragements me poussent à continuer, merci !!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gaeldwest.wordpress.com
Froggy One

avatar

Nombre de messages : 391
Date d'inscription : 06/01/2012

MessageSujet: Re   Ven 20 Fév 2015 - 0:24

Ah oui le bug corrigé...
Code:
' Robot 1.0 par Froggy One
' Projet encore très basique : le robot bouge en direct avec les flèches...


label av,ag,ad,ar,demi,orig,info,ici,la,encore
dim col%,lig%,i%,x1%,x2%,y1%,y2%,X_Pos%,Y_Pos%
dim nb_Col% : nb_Col%=10
dim nb_Lig% : nb_Lig%=10
dim cote%   : cote%=32
dim mg%     : mg%=50
dim mh%     : mh%=20
dim inter%  : inter%=6

dim drn$:drn$="vers la droite":gosub info

' On trace le plateau de jeu...

for  lig%=1 to 10
   for  col%=1 to 10
        i%=col%+(lig%-1)*10
        x1%=(mg%+(cote%+inter%)*col%)-2:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)-2:y2%=y1%+cote%
        2d_pen_color 224,212,144:2d_fill_color 235,205,29
        2d_rectangle x1%,y1%,x2%,y2%
        x1%=(mg%+(cote%+inter%)*col%)+1:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)+1:y2%=y1%+cote%
        2d_pen_color 27,10,50:2d_pen_width 2
        2d_line x2%,y1%,x2%,y2%:2d_line x2%,y2%,x1%,y2%
        picture i%
        width i%,cote%:height i%,cote%
        top  i%,mh%+(cote%+inter%)*lig%
        left i%,mg%+(cote%+inter%)*col%
        color i%,178,157,37
   next col%
next lig%

' Et l'interface...

button 110:caption 110,"Avance" : top 110,40 :left 110,490
button 111:caption 111,"Gauche" : top 111,70 :left 111,480
button 112:caption 112,"Droite" : top 112,100:left 112,500
button 113:caption 113,"Recule" : top 113,130:left 113,490
button 114:caption 114,"1/2 Tr" : top 114,190:left 114,490
button 115:caption 115,"Origine": top 115,250:left 115,490

va(1,1)

on_click 110,av:on_click 111,ag:on_click 112,ad:on_click 113,ar
on_click 114,demi:on_click 115,orig

END
' ########################################################################
' LABELs                                                                 #
' ########################################################################
info:
caption 0,"Robbie regarde "+drn$
RETURN
' ########################################################################
orig:
   efface(X_Pos%,Y_Pos%) : drn$="vers la droite" : va(1,1) : gosub info
RETURN
' ########################################################################
av:
   if drn$="vers la droite"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers la gauche"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers le haut"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers le bas"
    if Y_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
gosub info
RETURN
' ########################################################################
ag:
   if drn$="vers la gauche":drn$="vers le bas":gosub info:goto ici
   end_if
   if drn$="vers la droite":drn$="vers le haut":gosub info:goto ici
   end_if
   if drn$="vers le haut" : drn$="vers la gauche":gosub info:goto ici
   end_if
   if drn$="vers le bas"  : drn$="vers la droite":gosub info:goto ici
   end_if
ici:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
ad:
   if drn$="vers la droite":drn$="vers le bas":gosub info:goto la
   end_if
   if drn$="vers la gauche":drn$="vers le haut":gosub info:goto la
   end_if
   if drn$="vers le bas"  : drn$="vers la gauche":gosub info:goto la
   end_if
   if drn$="vers le haut" : drn$="vers la droite":gosub info:goto la
   end_if
la:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
demi:
   if drn$="vers la droite":drn$="vers la gauche":gosub info:goto encore
   end_if
   if drn$="vers le bas" : drn$="vers le haut" : gosub info :goto encore
   end_if
   if drn$="vers le haut" : drn$="vers le bas" : gosub info :goto encore
   end_if
   if drn$="vers la gauche":drn$="vers la droite":gosub info:goto encore
   end_if
encore:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
ar:
   if drn$="vers la gauche"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers la droite"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le bas"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le haut"
    if X_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

gosub info
RETURN
' ########################################################################
' SUBs                                                                   #
' ########################################################################
sub va(x%,y%)
    X_Pos%=x% : x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    Y_Pos%=y% : y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 0,0,0:2d_fill_color 235,205,29
    2d_circle x%,y%,int(cote%/3)
      if drn$="vers la droite"
         2d_circle x%+2,y%-3,3:2d_circle x%+2,y%+3,3
      end_if
      if drn$="vers la gauche"
         2d_circle x%-2,y%-3,3:2d_circle x%-2,y%+3,3
      end_if
      if drn$="vers le haut"
         2d_circle x%-3,y%-2,3:2d_circle x%+3,y%-2,3
      end_if
      if drn$="vers le bas"
         2d_circle x%-3,y%+2,3:2d_circle x%+3,y%+2,3
      end_if
end_sub

sub efface(x%,y%)
    x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 178,157,37:2d_fill_color 178,157,37
    2d_circle x%,y%,int(cote%/3)
end_sub
Bonne nuit !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gaeldwest.wordpress.com
Froggy One

avatar

Nombre de messages : 391
Date d'inscription : 06/01/2012

MessageSujet: Re   Ven 20 Fév 2015 - 20:23

J'ai rendu le robot plus humain et les boutons plus lisibles...

Code:

' Toto 1.0 par Froggy One
' Projet encore très basique : le personnage bouge en direct avec les flèches...


label av,ag,ad,ar,demi,orig,info,ici,la,encore
dim col%,lig%,i%,x1%,x2%,y1%,y2%,X_Pos%,Y_Pos%
dim nb_Col% : nb_Col%=10
dim nb_Lig% : nb_Lig%=10
dim cote%   : cote%=32
dim mg%     : mg%=50
dim mh%     : mh%=20
dim inter%  : inter%=6

dim drn$:drn$="vers la droite":gosub info

' On trace le plateau de jeu...

for  lig%=1 to 10
   for  col%=1 to 10
        i%=col%+(lig%-1)*10
        x1%=(mg%+(cote%+inter%)*col%)-2:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)-2:y2%=y1%+cote%
        2d_pen_color 224,212,144:2d_fill_color 235,205,29
        2d_rectangle x1%,y1%,x2%,y2%
        x1%=(mg%+(cote%+inter%)*col%)+1:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)+1:y2%=y1%+cote%
        2d_pen_color 27,10,50:2d_pen_width 2
        2d_line x2%,y1%,x2%,y2%:2d_line x2%,y2%,x1%,y2%
        picture i%
        width i%,cote%:height i%,cote%
        top  i%,mh%+(cote%+inter%)*lig%
        left i%,mg%+(cote%+inter%)*col%
        color i%,178,157,37
   next col%
next lig%

' Et l'interface...

button 110:caption 110,"Avance" : top 110,40 :left 110,480
button 111:caption 111,"À Gauche" : top 111,100 :left 111,470
button 112:caption 112,"À Droite" : top 112,130:left 112,490
button 113:caption 113,"Recule" : top 113,70:left 113,480
button 114:caption 114,"1/2 Tr" : top 114,160:left 114,480
button 115:caption 115,"Départ": top 115,190:left 115,480


  for  i%=110 to 115
       font_size i%,14:font_bold i%:width i%,90
  next i%
  
width 111,100:height 115,35

va(1,1)

on_click 110,av:on_click 111,ag:on_click 112,ad:on_click 113,ar
on_click 114,demi:on_click 115,orig

END
' ########################################################################
' LABELs                                                                 #
' ########################################################################
info:
caption 0,"Toto regarde "+drn$
RETURN
' ########################################################################
orig:
   efface(X_Pos%,Y_Pos%) : drn$="vers la droite" : va(1,1) : gosub info
RETURN
' ########################################################################
av:
   if drn$="vers la droite"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers la gauche"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers le haut"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers le bas"
    if Y_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
gosub info
RETURN
' ########################################################################
ag:
   if drn$="vers la gauche":drn$="vers le bas":gosub info:goto ici
   end_if
   if drn$="vers la droite":drn$="vers le haut":gosub info:goto ici
   end_if
   if drn$="vers le haut" : drn$="vers la gauche":gosub info:goto ici
   end_if
   if drn$="vers le bas"  : drn$="vers la droite":gosub info:goto ici
   end_if
ici:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
ad:
   if drn$="vers la droite":drn$="vers le bas":gosub info:goto la
   end_if
   if drn$="vers la gauche":drn$="vers le haut":gosub info:goto la
   end_if
   if drn$="vers le bas"  : drn$="vers la gauche":gosub info:goto la
   end_if
   if drn$="vers le haut" : drn$="vers la droite":gosub info:goto la
   end_if
la:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
demi:
   if drn$="vers la droite":drn$="vers la gauche":gosub info:goto encore
   end_if
   if drn$="vers le bas" : drn$="vers le haut" : gosub info :goto encore
   end_if
   if drn$="vers le haut" : drn$="vers le bas" : gosub info :goto encore
   end_if
   if drn$="vers la gauche":drn$="vers la droite":gosub info:goto encore
   end_if
encore:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
ar:
   if drn$="vers la gauche"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers la droite"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le bas"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le haut"
    if X_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

gosub info
RETURN
' ########################################################################
' SUBs                                                                   #
' ########################################################################
sub va(x%,y%)
    X_Pos%=x% : x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    Y_Pos%=y% : y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 0,0,0:2d_fill_color 235,205,29
    2d_circle x%,y%,int(cote%/3)
      if drn$="vers la droite"
         2d_circle x%+2,y%-3,3:2d_circle x%+2,y%+3,3
         2d_line x%+6,y%-2,x%+6,y%+2
         2d_line x%-6,y%-3,x%-8,y%-3
         2d_line x%-6,y%,x%-8,y%
         2d_line x%-6,y%+3,x%-8,y%+3
      end_if
      if drn$="vers la gauche"
         2d_circle x%-2,y%-3,3:2d_circle x%-2,y%+3,3
         2d_line x%-6,y%-2,x%-6,y%+2
         2d_line x%+6,y%-3,x%+8,y%-3
         2d_line x%+6,y%,x%+8,y%
         2d_line x%+6,y%+3,x%+8,y%+3
      end_if
      if drn$="vers le haut"
         2d_circle x%-3,y%-2,3:2d_circle x%+3,y%-2,3
         2d_line x%-2,y%-6,x%+2,y%-6
         2d_line x%-3,y%+6,x%-3,y%+8
         2d_line x%,y%+6,x%,y%+8
         2d_line x%+3,y%+6,x%+3,y%+8

      end_if
      if drn$="vers le bas"
         2d_circle x%-3,y%+2,3:2d_circle x%+3,y%+2,3
         2d_line x%-2,y%+6,x%+2,y%+6
         2d_line x%-3,y%-6,x%-3,y%-8
         2d_line x%,y%-6,x%,y%-8
         2d_line x%+3,y%-6,x%+3,y%-8
      end_if
end_sub

sub efface(x%,y%)
    x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 178,157,37:2d_fill_color 178,157,37
    2d_circle x%,y%,int(cote%/3)
end_sub

Par contre j'ai un problème : si je crée une zone de texte en ligne 46, ALPHA 200

et que je remplace dans le ss-prg info le CAPTION 0 par un CAPTION 200, ligne 62
Code:

info:
caption 200,"Toto regarde "+drn$
RETURN

j'ai un message OBJECT OUT OF RANGE !?!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gaeldwest.wordpress.com
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 20 Fév 2015 - 20:52

1/ Y a t il un objet n° 200 ?
2/ Si il y a un objet n° 200, accepte t il un caption ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5855
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Il est beau le robot   Ven 20 Fév 2015 - 21:42

Ygeronimi a déjà donné la solution : Il manque un Alpha 200 (et son initialisation à l'endroit où tu veux) pour créer cet objet ou alors j'ai manqué quelque chose dans le code mais je crois bien que c'est ça le problème
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5018
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Il est beau le robot   Ven 20 Fév 2015 - 22:45

Une proposition pour rendre les boutons plus explicitent.

Code:
' Toto 1.0 par Froggy One
' Projet encore très basique : le personnage bouge en direct avec les flèches...


label av,ag,ad,ar,demi,orig,info,ici,la,encore
dim col%,lig%,i%,x1%,x2%,y1%,y2%,X_Pos%,Y_Pos%
dim nb_Col% : nb_Col%=10
dim nb_Lig% : nb_Lig%=10
dim cote%   : cote%=32
dim mg%     : mg%=50
dim mh%     : mh%=20
dim inter%  : inter%=6

dim drn$:drn$="vers la droite":gosub info

' On trace le plateau de jeu...

for  lig%=1 to 10
   for  col%=1 to 10
        i%=col%+(lig%-1)*10
        x1%=(mg%+(cote%+inter%)*col%)-2:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)-2:y2%=y1%+cote%
        2d_pen_color 224,212,144:2d_fill_color 235,205,29
        2d_rectangle x1%,y1%,x2%,y2%
        x1%=(mg%+(cote%+inter%)*col%)+1:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)+1:y2%=y1%+cote%
        2d_pen_color 27,10,50:2d_pen_width 2
        2d_line x2%,y1%,x2%,y2%:2d_line x2%,y2%,x1%,y2%
        picture i%
        width i%,cote%:height i%,cote%
        top  i%,mh%+(cote%+inter%)*lig%
        left i%,mg%+(cote%+inter%)*col%
        color i%,178,157,37
   next col%
next lig%

' Et l'interface...

button 110:caption 110,"Avance" : top 110,40 :left 110,480

button 111 : width 111,20 : font_name 111,"wingdings 3" : font_size 111, 10
caption 111,chr$(81) : top 111,100 :left 111,505

button 112 :  width 112,20 : font_name 112,"wingdings 3" : font_size 112, 10
caption 112,chr$(80) : top 112,130:left 112,505

button 113:caption 113,"Recule" : top 113,70:left 113,480

button 114 :  width 114,20 : font_name 114,"wingdings 3" : font_size 114, 10
caption 114,chr$(76) : top 114,160:left 114,505

button 115:caption 115,"Départ" : height 115,35 : top 115,190:left 115,480


  for  i%=110 to 115
       font_size i%,14:font_bold i%: '  width i%,90
  next i%


va(1,1)

on_click 110,av:on_click 111,ag:on_click 112,ad:on_click 113,ar
on_click 114,demi:on_click 115,orig

END
' ########################################################################
' LABELs                                                                 #
' ########################################################################
info:
caption 0,"Toto regarde "+drn$
RETURN
' ########################################################################
orig:
   efface(X_Pos%,Y_Pos%) : drn$="vers la droite" : va(1,1) : gosub info
RETURN
' ########################################################################
av:
   if drn$="vers la droite"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers la gauche"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le haut"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le bas"
    if Y_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

gosub info
RETURN
' ########################################################################
ag:
   if drn$="vers la gauche":drn$="vers le bas":gosub info:goto ici
   end_if
   if drn$="vers la droite":drn$="vers le haut":gosub info:goto ici
   end_if
   if drn$="vers le haut" : drn$="vers la gauche":gosub info:goto ici
   end_if
   if drn$="vers le bas"  : drn$="vers la droite":gosub info:goto ici
   end_if
ici:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
ad:
   if drn$="vers la droite":drn$="vers le bas":gosub info:goto la
   end_if
   if drn$="vers la gauche":drn$="vers le haut":gosub info:goto la
   end_if
   if drn$="vers le bas"  : drn$="vers la gauche":gosub info:goto la
   end_if
   if drn$="vers le haut" : drn$="vers la droite":gosub info:goto la
   end_if
la:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
demi:
   if drn$="vers la droite":drn$="vers la gauche":gosub info:goto encore
   end_if
   if drn$="vers le bas" : drn$="vers le haut" : gosub info :goto encore
   end_if
   if drn$="vers le haut" : drn$="vers le bas" : gosub info :goto encore
   end_if
   if drn$="vers la gauche":drn$="vers la droite":gosub info:goto encore
   end_if
encore:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
ar:
   if drn$="vers la gauche"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers la droite"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le bas"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le haut"
    if X_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

gosub info
RETURN
' ########################################################################
' SUBs                                                                   #
' ########################################################################
sub va(x%,y%)
    X_Pos%=x% : x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    Y_Pos%=y% : y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 0,0,0:2d_fill_color 235,205,29
    2d_circle x%,y%,int(cote%/3)
      if drn$="vers la droite"
         2d_circle x%+2,y%-3,3:2d_circle x%+2,y%+3,3
         2d_line x%+6,y%-2,x%+6,y%+2
         2d_line x%-6,y%-3,x%-8,y%-3
         2d_line x%-6,y%,x%-8,y%
         2d_line x%-6,y%+3,x%-8,y%+3
      end_if
      if drn$="vers la gauche"
         2d_circle x%-2,y%-3,3:2d_circle x%-2,y%+3,3
         2d_line x%-6,y%-2,x%-6,y%+2
         2d_line x%+6,y%-3,x%+8,y%-3
         2d_line x%+6,y%,x%+8,y%
         2d_line x%+6,y%+3,x%+8,y%+3
      end_if
      if drn$="vers le haut"
         2d_circle x%-3,y%-2,3:2d_circle x%+3,y%-2,3
         2d_line x%-2,y%-6,x%+2,y%-6
         2d_line x%-3,y%+6,x%-3,y%+8
         2d_line x%,y%+6,x%,y%+8
         2d_line x%+3,y%+6,x%+3,y%+8

      end_if
      if drn$="vers le bas"
         2d_circle x%-3,y%+2,3:2d_circle x%+3,y%+2,3
         2d_line x%-2,y%+6,x%+2,y%+6
         2d_line x%-3,y%-6,x%-3,y%-8
         2d_line x%,y%-6,x%,y%-8
         2d_line x%+3,y%-6,x%+3,y%-8
      end_if
end_sub

sub efface(x%,y%)
    x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 178,157,37:2d_fill_color 178,157,37
    2d_circle x%,y%,int(cote%/3)
end_sub

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Froggy One

avatar

Nombre de messages : 391
Date d'inscription : 06/01/2012

MessageSujet: Re   Sam 21 Fév 2015 - 13:46

@ Jean-Claude : merci Jean-Claude, l'essayer c'est l'adopter !
@ Ygeronimi     : effectivement dans le code, il n'y a pas d'objet 200, c'est si je le crée et veux y mettre un caption que ça foire !!!

Comme ça :

Code:
' Toto 1.0 par Froggy One
' Projet encore très basique : le personnage bouge en direct avec les flèches...


label av,ag,ad,ar,demi,orig,info,ici,la,encore
dim col%,lig%,i%,x1%,x2%,y1%,y2%,X_Pos%,Y_Pos%
dim nb_Col% : nb_Col%=10
dim nb_Lig% : nb_Lig%=10
dim cote%   : cote%=32
dim mg%     : mg%=50
dim mh%     : mh%=20
dim inter%  : inter%=6

dim drn$:drn$="vers la droite":gosub info

' On trace le plateau de jeu...

for  lig%=1 to 10
   for  col%=1 to 10
        i%=col%+(lig%-1)*10
        x1%=(mg%+(cote%+inter%)*col%)-2:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)-2:y2%=y1%+cote%
        2d_pen_color 224,212,144:2d_fill_color 235,205,29
        2d_rectangle x1%,y1%,x2%,y2%
        x1%=(mg%+(cote%+inter%)*col%)+1:x2%=x1%+cote%
        y1%=(mh%+(cote%+inter%)*lig%)+1:y2%=y1%+cote%
        2d_pen_color 27,10,50:2d_pen_width 2
        2d_line x2%,y1%,x2%,y2%:2d_line x2%,y2%,x1%,y2%
        picture i%
        width i%,cote%:height i%,cote%
        top  i%,mh%+(cote%+inter%)*lig%
        left i%,mg%+(cote%+inter%)*col%
        color i%,178,157,37
   next col%
next lig%

' Et l'interface...

button 110:caption 110,"Avance" : top 110,40 :left 110,480
button 111:caption 111,"À Gauche" : top 111,100 :left 111,470
button 112:caption 112,"À Droite" : top 112,130:left 112,490
button 113:caption 113,"Recule" : top 113,70:left 113,480
button 114:caption 114,"1/2 Tr" : top 114,160:left 114,480
button 115:caption 115,"Départ": top 115,190:left 115,480

alpha 200

  for  i%=110 to 115
       font_size i%,14:font_bold i%:width i%,90
  next i%
  
width 111,100:height 115,35

va(1,1)

on_click 110,av:on_click 111,ag:on_click 112,ad:on_click 113,ar
on_click 114,demi:on_click 115,orig

END
' ########################################################################
' LABELs                                                                 #
' ########################################################################
info:
caption 200,"Toto regarde "+drn$
RETURN
' ########################################################################
orig:
   efface(X_Pos%,Y_Pos%) : drn$="vers la droite" : va(1,1) : gosub info
RETURN
' ########################################################################
av:
   if drn$="vers la droite"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers la gauche"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers le haut"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
   if drn$="vers le bas"
    if Y_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if
  
gosub info
RETURN
' ########################################################################
ag:
   if drn$="vers la gauche":drn$="vers le bas":gosub info:goto ici
   end_if
   if drn$="vers la droite":drn$="vers le haut":gosub info:goto ici
   end_if
   if drn$="vers le haut" : drn$="vers la gauche":gosub info:goto ici
   end_if
   if drn$="vers le bas"  : drn$="vers la droite":gosub info:goto ici
   end_if
ici:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
ad:
   if drn$="vers la droite":drn$="vers le bas":gosub info:goto la
   end_if
   if drn$="vers la gauche":drn$="vers le haut":gosub info:goto la
   end_if
   if drn$="vers le bas"  : drn$="vers la gauche":gosub info:goto la
   end_if
   if drn$="vers le haut" : drn$="vers la droite":gosub info:goto la
   end_if
la:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
demi:
   if drn$="vers la droite":drn$="vers la gauche":gosub info:goto encore
   end_if
   if drn$="vers le bas" : drn$="vers le haut" : gosub info :goto encore
   end_if
   if drn$="vers le haut" : drn$="vers le bas" : gosub info :goto encore
   end_if
   if drn$="vers la gauche":drn$="vers la droite":gosub info:goto encore
   end_if
encore:
va(X_Pos%,Y_Pos%)
RETURN
' ########################################################################
ar:
   if drn$="vers la gauche"
    if X_Pos%<nb_Col%
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers la droite"
    if X_Pos%>1
       efface(X_Pos%,Y_Pos%) : X_Pos%=X_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le bas"
    if Y_Pos%>1
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%-1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

   if drn$="vers le haut"
    if X_Pos%<nb_Lig%
       efface(X_Pos%,Y_Pos%) : Y_Pos%=Y_Pos%+1 : va(X_Pos%,Y_Pos%)
    else
       message "Erreur !!!"
    end_if
   end_if

gosub info
RETURN
' ########################################################################
' SUBs                                                                   #
' ########################################################################
sub va(x%,y%)
    X_Pos%=x% : x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    Y_Pos%=y% : y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 0,0,0:2d_fill_color 235,205,29
    2d_circle x%,y%,int(cote%/3)
      if drn$="vers la droite"
         2d_circle x%+2,y%-3,3:2d_circle x%+2,y%+3,3
         2d_line x%+6,y%-2,x%+6,y%+2
         2d_line x%-6,y%-3,x%-8,y%-3
         2d_line x%-6,y%,x%-8,y%
         2d_line x%-6,y%+3,x%-8,y%+3
      end_if
      if drn$="vers la gauche"
         2d_circle x%-2,y%-3,3:2d_circle x%-2,y%+3,3
         2d_line x%-6,y%-2,x%-6,y%+2
         2d_line x%+6,y%-3,x%+8,y%-3
         2d_line x%+6,y%,x%+8,y%
         2d_line x%+6,y%+3,x%+8,y%+3
      end_if
      if drn$="vers le haut"
         2d_circle x%-3,y%-2,3:2d_circle x%+3,y%-2,3
         2d_line x%-2,y%-6,x%+2,y%-6
         2d_line x%-3,y%+6,x%-3,y%+8
         2d_line x%,y%+6,x%,y%+8
         2d_line x%+3,y%+6,x%+3,y%+8

      end_if
      if drn$="vers le bas"
         2d_circle x%-3,y%+2,3:2d_circle x%+3,y%+2,3
         2d_line x%-2,y%+6,x%+2,y%+6
         2d_line x%-3,y%-6,x%-3,y%-8
         2d_line x%,y%-6,x%,y%-8
         2d_line x%+3,y%-6,x%+3,y%-8
      end_if
end_sub

sub efface(x%,y%)
    x%=(mg%+(cote%+inter%)*x%)+int(cote%/2)
    y%=(mh%+(cote%+inter%)*y%)+int(cote%/2)
    2d_pen_color 178,157,37:2d_fill_color 178,157,37
    2d_circle x%,y%,int(cote%/3)
end_sub

Bonne journée !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gaeldwest.wordpress.com
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re   Sam 21 Fév 2015 - 15:59

Heu.... c' est normal....

Tu appel (ligne 14) par "gosub info" le label qui écrit dans l' objet 200 avant de l' avoir créé.... tongue
"Gosub"  t' envoie directement à  "info:" sans passer par la création des objets.

Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Froggy One

avatar

Nombre de messages : 391
Date d'inscription : 06/01/2012

MessageSujet: Re   Sam 21 Fév 2015 - 20:01

Oooops ! merci, désolé !!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gaeldwest.wordpress.com
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 21 Fév 2015 - 21:28

Y a pas de quoi Froggy one, j' ai eu fait pire... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Il est beau le robot   

Revenir en haut Aller en bas
 
Il est beau le robot
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Haribo, c'est beau la vie pour les grands et les petits ♥
» JOHANN STRAUSS JR - Le beau Danube bleu
» Avoir un beau message d'acceuil?
» [Beau pas beau] par Chatonnette3
» Enlever quelque chose de pas beau... possible ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: