FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Il est beau le robot Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Il est beau le robot Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Il est beau le robot Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Il est beau le robot Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Il est beau le robot Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Il est beau le robot Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Il est beau le robot Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Il est beau le robot Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Il est beau le robot Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Il est beau le robot Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Il est beau le robot Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Il est beau le robot Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Il est beau le robot Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Il est beau le robot Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Il est beau le robot Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
ETB Pokémon Fable Nébuleuse : où ...
Voir le deal

 

 Il est beau le robot

Aller en bas 
+2
JL35
Froggy One
6 participants
AuteurMessage
Froggy One

Froggy One


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

Il est beau le robot Empty
MessageSujet: Il est beau le robot   Il est beau le robot EmptyJeu 19 Fév 2015 - 19: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
http://gaeldwest.wordpress.com
Froggy One

Froggy One


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

Il est beau le robot Empty
MessageSujet: suite :   Il est beau le robot EmptyJeu 19 Fév 2015 - 19: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
http://gaeldwest.wordpress.com
JL35




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

Il est beau le robot Empty
MessageSujet: Re: Il est beau le robot   Il est beau le robot EmptyJeu 19 Fév 2015 - 20: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
Jean Claude

Jean Claude


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

Il est beau le robot Empty
MessageSujet: Re: Il est beau le robot   Il est beau le robot EmptyJeu 19 Fév 2015 - 20: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
JL35




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

Il est beau le robot Empty
MessageSujet: Re: Il est beau le robot   Il est beau le robot EmptyJeu 19 Fév 2015 - 20: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
Jean Claude

Jean Claude


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

Il est beau le robot Empty
MessageSujet: Re: Il est beau le robot   Il est beau le robot EmptyJeu 19 Fév 2015 - 20: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
mindstorm

mindstorm


Nombre de messages : 685
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

Il est beau le robot Empty
MessageSujet: Re: Il est beau le robot   Il est beau le robot EmptyJeu 19 Fév 2015 - 21: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
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Il est beau le robot Empty
MessageSujet: Re: Il est beau le robot   Il est beau le robot EmptyJeu 19 Fév 2015 - 21: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
Froggy One

Froggy One


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

Il est beau le robot Empty
MessageSujet: Re   Il est beau le robot EmptyJeu 19 Fév 2015 - 22: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
http://gaeldwest.wordpress.com
Froggy One

Froggy One


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

Il est beau le robot Empty
MessageSujet: Re   Il est beau le robot EmptyJeu 19 Fév 2015 - 22: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
http://gaeldwest.wordpress.com
Froggy One

Froggy One


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

Il est beau le robot Empty
MessageSujet: Re   Il est beau le robot EmptyVen 20 Fév 2015 - 18: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
http://gaeldwest.wordpress.com
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Il est beau le robot Empty
MessageSujet: re   Il est beau le robot EmptyVen 20 Fév 2015 - 18: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
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Il est beau le robot Empty
MessageSujet: Re: Il est beau le robot   Il est beau le robot EmptyVen 20 Fév 2015 - 19: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
Jean Claude

Jean Claude


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

Il est beau le robot Empty
MessageSujet: Re: Il est beau le robot   Il est beau le robot EmptyVen 20 Fév 2015 - 20: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
Froggy One

Froggy One


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

Il est beau le robot Empty
MessageSujet: Re   Il est beau le robot EmptySam 21 Fév 2015 - 11: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
http://gaeldwest.wordpress.com
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Il est beau le robot Empty
MessageSujet: Re   Il est beau le robot EmptySam 21 Fév 2015 - 13: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
Froggy One

Froggy One


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

Il est beau le robot Empty
MessageSujet: Re   Il est beau le robot EmptySam 21 Fév 2015 - 18:01

Oooops ! merci, désolé !!!
Revenir en haut Aller en bas
http://gaeldwest.wordpress.com
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Il est beau le robot Empty
MessageSujet: re   Il est beau le robot EmptySam 21 Fév 2015 - 19:28

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





Il est beau le robot Empty
MessageSujet: Re: Il est beau le robot   Il est beau le robot Empty

Revenir en haut Aller en bas
 
Il est beau le robot
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» ELEMENTS STANDARDS DE WINDOWS XP
» Après la pluie, voici le beau temps.
» Je fais la pluie, voulez-vous faire le beau temps?

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: