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
» Détection connexion internet
par JL35 Hier à 22:59

» Le parcours du cavalier sur un échiquier 8 x 8
par pascal10000 Dim 23 Juil 2017 - 13:26

» Casse-tête : Echanger les positions des cavaliers
par papydall Sam 22 Juil 2017 - 19:42

» Compilateur FBPano
par jean_debord Sam 22 Juil 2017 - 10:54

» demande pour recuperer un text speciale
par pascal10000 Ven 21 Juil 2017 - 22:04

» KGF_dll - nouvelles versions
par Klaus Ven 21 Juil 2017 - 14:29

» Amélioration de la commande HINT
par papydall Mer 19 Juil 2017 - 3:30

» TEST SUR SHAPE
par papydall Mer 19 Juil 2017 - 1:17

» Un challenge à relever
par papydall Mar 18 Juil 2017 - 21:25

» Astuce : Indenter plusieurs lignes de code à la fois
par papydall Mar 18 Juil 2017 - 1:32

» Suggestion pour le forum
par papydall Lun 17 Juil 2017 - 20:28

» Truver les handles des onglets de Panoramic Editor
par Klaus Lun 17 Juil 2017 - 18:20

» Synedit_Editor - nouvelles versions
par Klaus Lun 17 Juil 2017 - 13:46

» Détermine si oui ou non un objet est PARENT d'un autre objet
par Klaus Dim 16 Juil 2017 - 11:58

» Une autre façon de terminer une application.
par papydall Dim 16 Juil 2017 - 3:53

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2017
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
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 : 388
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 : 388
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 : 5895
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 : 4981
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 : 5895
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 : 4981
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 : 530
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 : 5841
Age : 44
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 : 388
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 : 388
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 : 388
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 : 7930
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 : 5841
Age : 44
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 : 4981
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 : 388
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 : 7930
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 : 388
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 : 7930
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: