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
» Calculatrice
par papydall Hier à 22:54

» EPP_V01 éditeur pour Panoramic
par Minibug Mer 19 Sep 2018 - 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Mer 19 Sep 2018 - 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Mer 19 Sep 2018 - 15:58

» Planétarium virtuel.
par Pedro Alvarez Mer 19 Sep 2018 - 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Le jeu des jeux.

Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Le jeu des jeux.   Mer 2 Juin 2010 - 0:21

Comme promis je crée ce topic pour mon colossal projet.

Présentation:
Il s'agit d'un jeu universel qui mêle FPS, RPG et strategie (individuelle ou collective)

Le jeu sera d'abord développé en 2D puis en 3D
Avec pour principe un moteur physique reproduisant les phénomènes de collisions et de gravité sur un cercle pour la 2D puis une sphère pour la 3D.

Dans le principe:
Vous incarnez un personnage (j'ais le choix entre ver, fourmi, araignée, ETC)
Vous êtes sans équipe au début puis vous pouvez en rejoindre une ou
rester solo.
Hors équipe vous tirez sur tout ce qui bouge.
En équipe vous êtes sous le commandement de votre chef d'équipe,
il a une vue globale de la situation et peut vous demander de construire, défendre ou attaquer bâtiments et unités adverses.
Vous pouvez refuser ses ordres au risque de vous faire bannir,
mais il ne peu vous bannir si vous respectez ses ordres rapidement.
La planète est destructible, vous n'êtes donc pas obligé de la contourner,
vous pouvez la traverser Very Happy ...

Passons au choses sérieuses:

J'ais commencé à coder (sur ThinBASIC un concurrent bien trop compliqué
de PANORAMIC) le moteur 3D.
Je ne distribuerais pas la source ici car c'est inutile.
Je vais commencer par le menu d'origine,

J'ais trois choix possibles:
- un menu avec les commandes Main_menu et Sub_menu
- un menu avec des boutons
- un menu 3D (avec par exemple des boites qui sautillent bounce)

Voila je crois que c'est tout Very Happy .
J'attend vos réponses quant au menu...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Le jeu des jeux.   Mer 2 Juin 2010 - 0:31

Moi je vote pour le menu 3D
Revenir en haut Aller en bas
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Le jeu des jeux.   Mer 2 Juin 2010 - 0:45

ça tombe bien voila le code:

Code:

full_space 0
scene3D 1
full_space 1
color 1, 0, 0, 0

cam_position 0, 5, 5
point_position 0,0,0

dim cnt, tme, key$, pi, mpos, xpos, state, costate
pi=3.141592

tme=0
label menu, menup

menu:
    for cnt=1 to 5
        3D_box cnt, 1, 1, 1
        3D_x_position cnt,            3*sin((2*pi/5)*(cnt-1))
        3D_z_position cnt,            3*cos((2*pi/5)*(cnt-1))
        3D_y_rotate  cnt,                        72*(cnt-1)
    next cnt

menup:

    key$=inkey$

    for cnt=1 to 5
        3D_y_position cnt,  abs(sin(tme/100+(pi*(cnt-1)/5)))
        3D_x_scale    cnt,  abs(sin(tme/100+(pi*(cnt-1)/5)))+0.3
        3D_z_scale    cnt,  abs(sin(tme/100+(pi*(cnt-1)/5)))+0.3
        3D_y_scale    cnt, (abs(cos(tme/100+(pi*(cnt-1)/5)))/3)+0.3
        tme=tme+1
        wait 1
    next cnt
   
 '  if xpos<mpos
 '      cam_x_position      5*sin(costate+((2*pi/5)*(xpos)))
 '      cam_z_position      5*cos(costate+((2*pi/5)*(xpos)))
 '      state=state+1
 '      costate=(pi/5)+(-1*(pi/5)*cos(state/10))
 '      if state>=10*pi
 '          xpos=mpos
 '          state=0
 '      end_if
 '  end_if
 '
 '  if key$="m"
 '      xpos=mpos
 '      if mpos<4
 '          mpos=mpos+1
 '      else
 '          mpos=0
 '      end_if
 '  end_if
 '
 '  if key$="k"
 '      xpos=mpos
 '      if mpos>0
 '          mpos=mpos-1
 '      else
 '          mpos=4
 '      end_if
 '  end_if
 '
    if key_down_code = 27 then terminate
   
    if tme=100 * pi then tme=0
   
goto menup

bien sur il y a encore du boulot.
et désolé s'il n'y a pas encore de commentaires,
je vais m'en occuper très vite. Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Le jeu des jeux.   Mer 2 Juin 2010 - 23:14

voila la suite:

Code:

' création du contexte
full_space 0
scene3D 1
full_space 1
color 1, 0, 0, 0

dim cnt      : ' compteur de boucles for.
dim tme      : ' compteur de boucles repeat.
dim pi        : ' se passe de commentaires.
dim mstate    : ' état du menu.
dim mpos      : ' position de la camera (sur un cercle invisible dans le menu).
dim campos(3) : ' position de la camera (x,y,z).

pi=3.141592

label exit, menu

' mise en place du menu.
menu:
    for cnt=0 to 4
        3D_box cnt+1, 1, 1, 1
        3D_x_position cnt+1, 3*sin((2*pi/5)*(cnt))
        3D_z_position cnt+1, 3*cos((2*pi/5)*(cnt))
        3D_y_rotate  cnt+1,            72*(cnt)
    next cnt

' implementation du menu.
Repeat

    ' implementation de la camera.
    cam_position  0, 5, 5
    point_position 0, 0, 0

    ' implementation des cubes.
    for cnt=0 to 4
        3D_y_position cnt+1,  abs(sin(tme/100+(pi*(cnt)/5)))
        3D_x_scale    cnt+1,  abs(sin(tme/100+(pi*(cnt)/5)))+0.3
        3D_z_scale    cnt+1,  abs(sin(tme/100+(pi*(cnt)/5)))+0.3
        3D_y_scale    cnt+1, (abs(cos(tme/100+(pi*(cnt)/5)))/3)+0.3
    next cnt
   
    ' implementation du temps.
    if tme>100 * pi
        tme=0
    else
        tme=tme+1
    end_if

    ' gestion de la touche escape. (cette partie du programme beug)
'  if key_down_code = 27 then gosub exit
    if key_down_code = 27
        gosub exit
    end_if
   
    ' ne pas supprimer ou le programme risque de beuger.
    wait 1
   
Until key_down_code = 13 : ' dès l'appuis de la touche entrée on sort du menu.

end

' gestion de la fermeture du programme.
exit:
    If message_confirmation_yes_no ("Voulez-vous vraiment quitter") = 1
        terminate
    end_if
Return

et la je dis à l'aide... pourquoi ça beug ligne 50?
J'ai peut-être oublié de le dire mais si mon code est open source c'est pour que vous ayez des suggestions... (j'aime bien les avis extérieurs).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Le jeu des jeux.   Mer 2 Juin 2010 - 23:39

Je viens de regarder ton programme. La ligne 50: remplace par ceci:
Code:

  if scancode = 27 then gosub exit
key_down_code garde la mémoire de la touche.

A propos, mes programmes sont open source et Panoramic est gratuit.
Si j'ai un programme personnel qui doit le rester, je ne le publie pas, et pour d'éventuelles erreurs, je fais un programme qui arrive aux même erreurs pour être vu.

@+
Revenir en haut Aller en bas
Invité
Invité



MessageSujet: Re: Le jeu des jeux.   Mer 2 Juin 2010 - 23:42

Regarde le programme de The Gamer pour les touches, il a choisi scancode aussi.
Revenir en haut Aller en bas
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Le jeu des jeux.   Mer 2 Juin 2010 - 23:45

merci de ton aide cosmos cheers .

Citation :

A propos, mes programmes sont open source et Panoramic est gratuit.
Si j'ai un programme personnel qui doit le rester, je ne le publie pas, et pour d'éventuelles erreurs, je fais un programme qui arrive aux même erreurs pour être vu.

comment dois-je le prendre (bien ou mal?) scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Le jeu des jeux.   Mer 2 Juin 2010 - 23:57

voile le code mis à jour:

Code:

full_space  0
scene3D    1
full_space  1
color      1, 0, 0, 0
cam_position  0, 5, 5

dim cnt        : ' compteur de boucles for.
dim tme        : ' compteur de boucles repeat.
dim pi          : ' se passe de commentaires.
dim mstate      : ' état du menu.
dim mpos        : ' position de la camera (sur un cercle invisible dans le menu).
dim deltapos(2) : ' coeficient de deplacement de la camera (x,y,z)
dim campos(2)  : ' position de la camera (x,y,z).

pi=3.141592
mstate = 1      : ' le menu est par defaut sur "local mode"

label exit, menu

' mise en place du menu.
menu:
    for cnt=0 to 4
        3D_box cnt+1, 1, 1, 1
        3D_x_position cnt+1, 3*sin((2*pi/5)*(cnt))
        3D_z_position cnt+1, 3*cos((2*pi/5)*(cnt))
        3D_y_rotate  cnt+1,            72*(cnt)
    next cnt

' implementation du menu.
Repeat

    ' implementation de la camera.
    deltapos(0) = mstate - (mpos/10) - 1
    mpos = mpos + deltapos(0)
    campos(0) = sin((mpos*2*pi)/5)*5
    campos(1) = 5
    campos(2) = cos((mpos*2*pi)/5)*5
    cam_position  campos(0)  , campos(1), campos(2)
    point_position campos(0)/2, 0        , campos(2)/2

    ' implementation des cubes.
    for cnt=0 to 4
        3D_y_position cnt+1,  abs(sin(tme/100+(pi*(cnt)/5)))
        3D_x_scale    cnt+1,  abs(sin(tme/100+(pi*(cnt)/5)))+0.3
        3D_z_scale    cnt+1,  abs(sin(tme/100+(pi*(cnt)/5)))+0.3
        3D_y_scale    cnt+1, (abs(cos(tme/100+(pi*(cnt)/5)))/3)+0.3
    next cnt
   
    ' implementation du temps.
    if tme>100 * pi
        tme=0
    else
        tme=tme+1
    end_if

    ' gestion des touches.
    select scancode
    case 39
        if  mstate >= 5
            mstate  = 1
        else
            mstate  = mstate+1
        end_if
    case 37
        if  mstate <= 1
            mstate  = 5
        else
            mstate  = mstate-1
        end_if
    case 27
        gosub exit
    end_select
   
    ' ne pas supprimer ou le programme risque de beuger.
    wait 1
   
Until scancode = 13 : ' dès l'appuis de la touche entrée on sort du menu.

end

' gestion de la fermeture du programme.
exit:
    If message_confirmation_yes_no ("Voulez-vous vraiment quitter") = 1
        terminate
    end_if
Return

à partir de la je ne peux plus l'exécuter,
vivement que je change de pc.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 0:34

Je suis seulement surpris. Depuis le début on mets les programmes en ligne et on ne se posent pas de question. Moi je me considère malgrès les années comme un débutant, et mes programmes des essais. Le jour où je ferais un programme parfait et secret, il est évident que je ne le mettrais pas en ligne.

@+
Je viens de copier ton programme, mais dès le départ il me met:
(62) Objet Déjà défini ligne 2.
En dehors des Scancode, qu'a tu fais comme modifs? je ne comprends pas l'erreur, et je suis fatigué, je me lève de bonne heure!
Revenir en haut Aller en bas
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 0:37

je n'ais rien fait d'autre que les scancodes,
l'erreur surviens de temps en temps chez moi aussi.
je ne comprend pas non plus.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 0:40

Je viens de voir, tu as remplacé ta condition par Select Case.
ça marche très bien si tu peux te préoccuper de toutes les touches. Mais si tu envoies un code CASE qui n'est pas programmé, cela génère un problème. Donc je te recommande de revoir ton programme et d'éviter pour l'instant cette instruction qui beugue encore un peu.
ce qu'il faudrait aussi c'est une instruction CASE_ELSE ou similaire.

Cette fois ci je me couche.
Revenir en haut Aller en bas
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 0:45

exact,
il faudrait un case other
et soit dit en passant si M. PANORAMIC est la, les cases dynamiques et
les cases pour les strings seraient mortels cheers ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 10:28

J'ai regardé ton code. Je pense qu'il s'agit d'un problème de strucure de code.
En principe Panoramic à besoin pour bien fonctionner que l'on déclare les DIM(s),LABEL(s),OBJETS en début de programme, ensuite on positionne un END.

Code:

' déclaration des variables
DIM a,a$,a%

' déclaration des LABEL(s)
LABEL quit,menu

' création des Objets
BUTTON 1:caption 1 ,"QUITTER":HIDE 1

' autres instructions avant END
' Initialiser des variables, etc...
gosub menu
END
' =========================================
menu:
 show 1:on_click 1,quit
' code..............
return

quit:
terminate



Le souci dans ton code est que tu Crées un objet qui existe déja parce qu'il n'a pas été isolé par un END

Ce sujet à déja été abordé, je recherche l' adresse du sujet et je poste.

A+
.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 10:44

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 11:05

Rapidement, je dois partir.
D'accord Jean Claude.
Seulement, et plusieurs fois j'ai eu le même problème avec SELECT_CASE.
Lorsque toutes les possibilités de CASE ne sont pas programmé, et qu'on abouti à cette instruction, si la CASE est "hors course", je veux dire que le teste de toutes les cases n'a pas été trouvé, à chaque fois je me suis trouvé devant ce problème. La simple modification de structure (supprimer Select, ou remplir les cases manquantes) à résolu le problème, donc je dis qu'il faut une instruction complémentaire comme CASE_ELSE pour que cette instruction marche.

Dans le cas du programme, il eu été possible de mettre par exemple:
Je rajouterai plus tard, je suis en retard.
@+
Revenir en haut Aller en bas
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 13:04

envérité je pensait que le "end" mettait en attente le programme pour tout les on clics. Shocked

en fait je me sert de la machine à état et des math pour coder.

voici ma structure habituelle:
Code:

déclaration des variables et labels
(j'ais souvent des variables nommés "xxx_state"...)

boucle1
    select state
        case 1
            ce qui se passe dans l'état 1
            if condition pour en sortir then state = xxx
            if condition pour changer de menu then goto bouclexxx
        case 2
            ce qui se passe dans l'état 2
            if condition pour en sortir then state = xxx
            if condition pour changer de menu then goto bouclexxx
        case 3
            ce qui se passe dans l'état 3
            if condition pour en sortir then state = xxx
            if condition pour changer de menu then goto bouclexxx
        case other
            ce qui se passe quelque soit l'état
            (quand aucun bouton ou aucune touche n'est appuyé)
    end_select
goto boucle1

boucle2
    select state
        case 1
            ce qui se passe dans l'état 1
            if condition pour en sortir then state = xxx
            if condition pour changer de menu then goto bouclexxx
        case 2
            ce qui se passe dans l'état 2
            if condition pour en sortir then state = xxx
            if condition pour changer de menu then goto bouclexxx
        case 3
            ce qui se passe dans l'état 3
            if condition pour en sortir then state = xxx
            if condition pour changer de menu then goto bouclexxx
        case other
            ce qui se passe quelque soit l'état
            (quand aucun bouton ou aucune touche n'est appuyé)
    end_select
goto boucle2

n'est-ce pas une bonne solution?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 13:17

mis a jour le 04/06/2010

Code:

full_space  0
scene3D    1
full_space  1
color      1, 0, 0, 0
cam_position  0, 5, 5

dim cnt        : ' compteur de boucles for.
dim tme        : ' compteur de boucles repeat.
dim pi          : ' se passe de commentaires.
dim mstate      : ' état du menu.
dim campos(2)  : ' position de la camera (x,y,z).
dim deltapos(2) : ' coeficient de deplacement de la camera (x,y,z)

pi=3.141592
mstate = 1      : ' le menu est par defaut sur "local mode"

label exit, menu

' mise en place du menu.
menu:
    for cnt=0 to 4
        3D_box cnt+1, 1, 1, 1
        3D_x_position cnt+1, 3*sin((2*pi/5)*(cnt))
        3D_z_position cnt+1, 3*cos((2*pi/5)*(cnt))
        3D_y_rotate  cnt+1,            72*(cnt)
    next cnt

' implementation du menu.
Repeat

    ' implementation de la camera.
    campos(0) = sin((mstate*2*pi)/5)*5
    campos(1) = 5
    campos(2) = cos((mstate*2*pi)/5)*5
    cam_position  campos(0)  , campos(1), campos(2)
    point_position campos(0)/2, 0        , campos(2)/2

    ' implementation des cubes.
    for cnt=0 to 4
        3D_y_position cnt+1,  abs(sin(tme/100+(pi*(cnt)/5)))
        3D_x_scale    cnt+1,  abs(sin(tme/100+(pi*(cnt)/5)))+0.3
        3D_z_scale    cnt+1,  abs(sin(tme/100+(pi*(cnt)/5)))+0.3
        3D_y_scale    cnt+1, (abs(cos(tme/100+(pi*(cnt)/5)))/3)+0.3
    next cnt

    ' implementation du temps.
    if tme>100 * pi
        tme=0
    else
        tme=tme+1
    end_if

    ' gestion des touches.
    if key_once = 39
        if  mstate >= 5
            mstate  = 1
        else
            mstate  = mstate+1
        end_if
    end_if
    if key_once = 37
        if  mstate <= 1
            mstate  = 5
        else
            mstate  = mstate-1
        end_if
    end_if

    if scancode = 27
        gosub exit
    end_if

    wait 1

Until scancode = 13 : ' dès l'appuis de la touche entrée on sort du menu.

end

' gestion de la fermeture du programme.
exit:
    If message_confirmation_yes_no ("Voulez-vous vraiment quitter") = 1
        terminate
    end_if
Return

voila


Dernière édition par Tecking le Ven 4 Juin 2010 - 14:21, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 14:29

J'ai pas pu répondre tout à l'heure, et c'est aussi bien.
Il y a des fois où je ne comprends plus rien. Plusieurs fois j'ai eu des erreurs avec select_case, et chaque fois, c'est en remplaçant cette instruction par autre chose, ou en mettant un teste avant pour l'éviter si la valeur n'était pas reprise par case, et le programme remarchait, je n'avait plus d'erreur.

Je viens de refaire un teste avec le programme suivant:
Code:
dim a% , b%
label branche

button 1:left 1,50:on_click 1,branche
for b%=0 to 2:gosub branche:next b%
end
'
branche:
  select a%
    Case 0:print a%
    Case 1:print a%
    Case 2:print a%
    Case 3:print a%
    Case 4:print a%
  end_select
  a%=a%+1
return

Maintenant cela marche.
Je ne sais plus quoi penser. Le mieux est de laisser les autres répondre à ma place, de cette façon c'est pas moi qui comparaitrait des erreurs.

plutôt que de remettre une correction de programme à la suite, vois pour éditer le précédent, et le remplacer. Tu rajoutes un mot pour signaler que tu viens de mettre à jour ton programme.
Sinon cela va faire des pages et des pages de programmes qui ne sont plus valables.
Revenir en haut Aller en bas
Jean Claude

avatar

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

MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 20:37

@tecking, je viens d'ésayer ton code qui éffectivement fonctionne. Mais j'aimerais bien comprendre quelle solution tu as trouvée. j'ai beau comparé les 2 codes, je n'arrive pas à trouver ce que tu as as fait.

Explique comment tu as fait SVP.

A+ Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Le jeu des jeux.   Jeu 3 Juin 2010 - 23:11

très simple:

j'ai remplacé
Code:

select scancode
case XX
    instructions
case YY
    instructions
case ZZ
    instructions
end_select
par
Code:

if scancode = XX
    instructions
end_if
if scancode = YY
    instructions
end_if
if scancode = ZZ
    instructions
end_if

algorithmiquement c'est la même chose, syntaxiquement c'est différant.

J'ai 4 passions:
La musique, l’électronique, l'informatique et panoramic Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Le jeu des jeux.   Ven 4 Juin 2010 - 0:24

Ce serait bien que Jack étudie le cas présent.
Effectivement, si je t'ai orienté vers ce problème c'est que je l'ai connu plusieurs fois. Dans certain cas SELECT_CASE provoque une erreur qui est incompréhensible, puisque la ligne et l'erreur n'ont rien à voir avec SELECT_CASE. Et pourtant, le petit morceau de programme que j'ai mis plus haut n'en provoque pas.

On ne peut pas dire qu'il y a une erreur de programmation vu que lorsque l'on change d'instruction pour faire la même chose, le phénomène disparait, et le programme fonctionne de nouveau.

Toujours est-il que l'erreur intervient seulement lorsque le programme en listant la série de CASE, ne trouve pas de correspondance avec la valeur de la variable. (je mets tout cela pour le cas où Jack prend la peine si il en à le temps de lire ce topique)

Je me retire, je n'apporterai plus rien de valable. Place aux jeunes.
Bonne nuit.
Revenir en haut Aller en bas
Tecking



Nombre de messages : 114
Age : 29
Localisation : Toulouse
Date d'inscription : 30/05/2010

MessageSujet: Re: Le jeu des jeux.   Ven 4 Juin 2010 - 12:47

a mon sens le case est incomplet...

un case dynamique prenant en charge les chaine de carractère et prenant
en charge la valeur other,
serait excelant.

mais bon la je me repète.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Le jeu des jeux.   Ven 4 Juin 2010 - 14:46

C'est sure que je me répète aussi. Ce qui est dommage c'est que je ne sois pas relayé par une personne qui a du poids comme klaus ou JL35. Il est très rare que les problèmes que je soulève aient une réponse.

Pour ma part connaissant le problème aujourd'hui, ce genre d'erreur, je corrige tout de suite, mais je ne répondrais pas tout le temps lorsque le cas se reproduira.

Pour ce qui est des autres possibilitées de CASE comme CASE_ELSE case sur chaine ou string, je comprends l'énorme travail de Mr Panoramic, et cela ne m'empêche pas de programmer.

Au faite: qu'appelles-tu CASE dynamique?
@+
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: Le jeu des jeux.   Ven 4 Juin 2010 - 18:07

Merci pour ton appréciation cosmos Very Happy mais personnellement je n'ai jamais constaté de problème avec le SELECT qui est vraiment pratique et propre pour structurer un programme.
Mais vu les exemples ci-dessus, je vais regarder ça d'un peu plus près, ça me trouble cette erreur avec SELECT qui disparaît avec une série de tests (qui sont bien moins jolis).

Je pense que Tecking veut parler du SELECT genre Basic qui ne permet pas seulement le test de valeurs numériques, mais de toutes variables, notamment les chaînes, ce qui est bien pratique.
Et il manque aussi le CASE ELSE, qui n'existe pas.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jack
Admin
avatar

Nombre de messages : 1912
Date d'inscription : 28/05/2007

MessageSujet: Re: Le jeu des jeux.   Ven 4 Juin 2010 - 18:20

Si, il y a un problème avec la structure SELECT / CASE / END_SELECT dans un cas bien précis, lorsque les 2 conditions sont réunies:
1) la variable sélectionnée a une valeur nulle,
2) aucun des CASE ne traite une valeur nulle:
Code:
dim v%
v%=0
select v%
case 1:print "v%=1"
case 2:print "v%=2"
case 3:print "v%=3"
case 4:print "v%=4"
case 5:print "v%=5"
case 6:print "v%=6"
end_select
print v%

J'avais déjà répondu le 4 mai dernier:
http://panoramic.1fr1.net/a-l-aide-f6/select-case-end_select-t786.htm

Attention si vous testez ce code car c'est un plantage assez méchant: on n'en sort que par le gestionnaire des taches !

@ cosmos70:
Citation :
Il est très rare que les problèmes que je soulève aient une réponse.

J'analyse TOUS les posts du forum et en priorité je travaille ceux qui annoncent un dysfonctionnement.
Je ne répondais pas au tiens car l'erreur que tu signales était déjà connue et prise en compte.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.1fr1.net
Contenu sponsorisé




MessageSujet: Re: Le jeu des jeux.   

Revenir en haut Aller en bas
 
Le jeu des jeux.
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Ejayremy : nouveau partenaire jeux videos
» Des jeux en ligne qui prend 5 min
» Jeux qui ne veut pas demarrer (résolu )
» Quel jeux préféré vous dans les Jeux olympiques
» AMD Phenom 955 OC 3.8GHz VS Intel I7 920 3.4GHz en jeux

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les jeux faits avec Panoramic-
Sauter vers: