Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Le jeu des jeux. | |
| | |
Auteur | Message |
---|
Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: gine dans le Ven 4 Juin 2010 - 18:35 | |
| @ Tecking: - Citation :
- envérité je pensait que le "end" mettait en attente le programme pour tout les on clics
Non, un événement est actif juste après l'exécution de ON_CLICK, ON_CHANGE, ON_KEY_UP, ON_KEY_DOWN, ON_TIMER - Citation :
- 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.
Non. Ce n'est pas du tout la même chose algorithmiquement car dans le deuxième cas, tu effectues 3 scancodes successifs et la valeur du scancode peut changer entre ces 3 lectures! Il vaut mieux le premier cas où tu lis le scancode une bonne fois et tu fais ton traitement ensuite. Imagine dans ton deuxième code que le premier scancode ait une valeur telle qu'il devrait être traité par ton deuxième IF, et que sa valeur change quand tu exécutes ton deuxième IF: tu n'a fais aucun traitement alors que tu aurais du en faire un ! | |
| | | Invité Invité
| Sujet: Re: Le jeu des jeux. Ven 4 Juin 2010 - 22:09 | |
| Je répond sans plaisir, car vous préconisez le premier code avec scancode. Malheurement celui-ci ne fonctionne pas. Si j'ai insisté autant c'est pour comprendre le pourquoi de la chose. Je ne suis absdolument pas fada des jeux et vous le savez. Pourtant Tecking demandait de l'aide, et vu que personne n'intervenait, je l'ai suivi. Si quelqu'un avait essayé le code avec scancode il aurait obtenu ceci (j'ai rajouté l'image de la version de Panoramic) L'erreur qui est déclaré si vous ouvrez vos yeux, n'a rien à voir avec select_case. Pourtant c'est en résolvant le problème de SELECT_CASE, d'une manière ou d'une autre que ce message n'a plus lieu. Vous etes plus intelligent que moi, donc chacun fera sa propre déduction! Je n'ai aucun plaisir à polémiquer, on pourrait le penser en me lisant, parce que dans la vie, je passe du temps à résoudre les problèmes des autres et ça me satisfait. Mais lorsque je vois un problème je le montre pour le résoudre et non pour faire du baratin. A propos de problème, en ce moment régulièrement Panoramic plante bel et bien. Je n'arrive pas à avancer dans mes programmes, vu que les corrections que je fais n'ont pas eu le temps d'être sauvegardées. Et lorsque Panoramic plante, c'est bel et bien vu que tout disparait. Je pense que je suis le seul dans ce cas, vu que personne ne soulève ce problème. Maintenant j'ai voulu soulever un problème pour qu'il soit résolu, mais le post en question n'est pas le mien! Donc je ne répondrais plus @+ Bonne soirée et amusez vous bien! |
| | | Tecking
Nombre de messages : 114 Age : 36 Localisation : Toulouse Date d'inscription : 30/05/2010
| Sujet: Re: Le jeu des jeux. Ven 4 Juin 2010 - 23:29 | |
| - Citation :
Je n'ai aucun plaisir à polémiquer, on pourrait le penser en me lisant, parce que dans la vie, je passe du temps à résoudre les problèmes des autres et ça me satisfait. Mais lorsque je vois un problème je le montre pour le résoudre et non pour faire du baratin.
cosmos, malgré que je partage ta façon de voir les choses, je ne pense pas que jack soit non plus d'avis opposé. s'il à, par ailleurs, codé panoramique, c'est à mon avis pour résoudre le problème de fond que pose la programmation de nos jours: je sait pas si tu connais le C++, mais pour l'équivalent de - Code:
-
Form 0 Scene_3D 1
sous panoramic, il te faut appeler l'API windows form, y créer un canevas, appeller la librairie OpenGL, initialiser le device context, le render context, recuperer le handle de la fenêtre, y insérer ta fonction OpenGL et la tu crois que c'est fini... hé be non, il faut encore que tu créé ta fonction callback pour récupérer les messages de ta fenêtre (minimisation, redimensionnement, fermeture,etc...) pour tout gérer. (corrigez moi si je me trompe) ça représente une centaine de ligne... Pourquoi j'ais mis en place ce sujet, le projet me trotte depuis 4 ans, j'ais essaillé de le développer en C++ mais même avec GLUT j'ais du mal. Aujourd'hui je met à rude épreuve panoramic, et je pense donc que c'est l'occasion rêvée pour jack de voir à l'oeuvre toutes ses fonctions. A ce propos jack, je vais créer un nouveau sujet qui listera les fonctions dont je vais avoir besoin pour la 2D et la 3D. Mais je voulais surtout t'adresser ce message: Le fait de supprimer des fonctions de panoramic ne me gène absolument pas, si tu le fais pour généraliser des groupes de fonctions. A mon avis la meilleure chose que tu puisse faire de panoramic c'est de globaliser tes fonctions de les rendre utiles dans tout les cas. je peux notamment prendre l'exemple de scancode et key_down_code. ouf! je parle un peu trop moi... | |
| | | Tecking
Nombre de messages : 114 Age : 36 Localisation : Toulouse Date d'inscription : 30/05/2010
| Sujet: Re: Le jeu des jeux. Sam 5 Juin 2010 - 22:21 | |
| Je fais un nouveau post parce qu'il y a pas mal de modifs : - 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 mcolor(2) : ' couleur de fond du menu. dim mpos : ' position de la camera (sur un cercle invisible dans le 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 = 0 : ' le menu est par defaut sur "local mode" mpos = -1 : ' mais il demarre de "à propos"
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 et de la lumière. mpos = mpos-((mpos - mstate)/30) campos(0) = sin((mpos*2*pi)/5)*5 campos(1) = 3 campos(2) = cos((mpos*2*pi)/5)*5 cam_position campos(0) , campos(1), campos(2) point_position campos(0)/3, 0 , campos(2)/3 light_position campos(0) , 5 , campos(2)
' implementation des cubes. for cnt=0 to 4 3D_y_position cnt+1, abs(sin(tme/50+(pi*cnt/5))) 3D_x_scale cnt+1, abs(sin(tme/50+(pi*cnt/5))) + 1 3D_z_scale cnt+1, abs(sin(tme/50+(pi*cnt/5))) + 1 3D_y_scale cnt+1, (9*abs(cos(tme/50+(pi*cnt/5)))/10)+0.1 next cnt
' implementation de la couleur de fond. color 1, mcolor(0), mcolor(1), mcolor(2) ' gestion par translations : If (mpos>-1) and ( mpos<=0) mcolor(0) = 0 mcolor(1) = 200*( mpos +1) mcolor(2) = 0 End_if If (mpos> 0) and ( mpos<=1) mcolor(0) = 200* mpos mcolor(1) = 200*(1-mpos ) mcolor(2) = 0 End_if If (mpos> 1) and ( mpos<=2) mcolor(0) = 200 mcolor(1) = 200*( mpos -1) mcolor(2) = 0 End_if If (mpos> 2) and ( mpos<=3) mcolor(0) = 200*(3-mpos ) mcolor(1) = 200*(3-mpos ) mcolor(2) = 200*( mpos -2) End_if If (mpos> 3) and ( mpos<=4) mcolor(0) = 0 mcolor(1) = 0 mcolor(2) = 200*(4-mpos ) End_if If (mpos> 4) and (mpos<=5 ) mcolor(0) = 0 mcolor(1) = 200*( mpos -4) mcolor(2) = 0 End_if
' lancienne gestion de la couleur ( par couleur ) : ' ' le rouge : ' If (mpos>-1) and (mpos<=0) ' mcolor(0) = 0 ' End_if ' If (mpos> 0) and (mpos< 1) ' mcolor(0) = 255* mpos ' End_if ' If (mpos>=1) and (mpos<=2) ' mcolor(0) = 255 ' End_if ' If (mpos> 2) and (mpos< 3) ' mcolor(0) = 255*(3-mpos) ' End_if ' If (mpos>=3) and (mpos<=5) ' mcolor(0) = 0 ' End_if ' ' le vert : ' If (mpos>-1) and (mpos< 0) ' mcolor(1) = 255*(mpos+1) ' End_if ' If (mpos>=0) and (mpos< 1) ' mcolor(1) = 255*(1-mpos) ' End_if ' If (mpos>=1) and (mpos<=2) ' mcolor(1) = 255*(mpos-1) ' End_if ' If (mpos> 2) and (mpos< 3) ' mcolor(1) = 255*(3-mpos) ' End_if ' If (mpos>=3) and (mpos<=4) ' mcolor(1) = 0 ' End_if ' If (mpos> 4) and (mpos< 5) ' mcolor(1) = 255*(mpos-4) ' End_if ' ' le bleu ' If (mpos>-1) and (mpos< 2) ' mcolor(2) = 0 ' End_if ' If (mpos> 2) and (mpos<=3) ' mcolor(2) = 255*(mpos-2) ' End_if ' If (mpos> 3) and (mpos< 4) ' mcolor(2) = 255*(4-mpos) ' End_if ' If (mpos>=4) and (mpos<=5) ' mcolor(2) = 0 ' End_if
' gestion du menu. If abs(mpos - mstate) <= 0.5 If scancode = 39 If mstate < 4 mstate = mstate + 1 Else mstate = 0 mpos = mpos - 5 End_if End_if If scancode = 37 If mstate > 0 mstate = mstate - 1 Else mstate = 4 mpos = mpos + 5 End_if End_if ' l'ancienne gestion du menu: ' select mstate ' case 0 ' if scancode = 39 ' mstate = 1 ' end_if ' if scancode = 37 ' mstate = 4 ' mpos = mpos + 5 ' end_if ' case 1 ' if scancode = 39 ' mstate = 2 ' end_if ' if scancode = 37 ' mstate = 0 ' end_if ' case 2 ' if scancode = 39 ' mstate = 3 ' end_if ' if scancode = 37 ' mstate = 1 ' end_if ' case 3 ' if scancode = 39 ' mstate = 4 ' end_if ' if scancode = 37 ' mstate = 2 ' end_if ' case 4 ' if scancode = 39 ' mstate = 0 ' mpos = mpos - 5 ' end_if ' if scancode = 37 ' mstate = 3 ' end_if ' end_select End_if if scancode = 27 gosub exit end_if
' implementation du temps. if tme>100 * pi tme=0 else tme=tme+1 end_if
wait 1
Until scancode = 13 : ' dès l'appuis de la touche enter on sort du menu.
' gestion de la fermeture du programme. exit: If message_confirmation_yes_no ("Voulez-vous vraiment quitter") = 1 terminate end_if Return
end
nouveautés : intégrations de fonctions mathématiques pour les animations 3D du menu, changement de la couleur de fond en fonction de la position de la camera (Jack vas comprendre pourquoi un case dynamique serait le bien venu), modification de l'angle de vue, modification de la taille des boites, de leur écrasement, et de la vitesse à laquelle elles bougent. ne vous en faites pas, une fois lu, les commentaires inutiles seront supprimés.
Dernière édition par Tecking le Sam 5 Juin 2010 - 23:21, édité 2 fois | |
| | | Invité Invité
| Sujet: Re: Le jeu des jeux. Sam 5 Juin 2010 - 23:07 | |
| Je regarde par curiosité ce que tu fais, et c'est pas mal. Si j'ai bien compris, il s'agit d'un menu, dont on choisit le cube avec la couleur, et je suppose qu'ensuite il y aura du texte dessus les cubes.
Panoramic a des possibilités énormes, et je ne crois pas qu'il y est des langages plus simples pour faire des commandes.
Félicitation à toi ainsi qu'à Jack pour son travail. D'ailleurs entre nous comment peut-il s'en sortir pour faire tout cela en dehors de son travail?
@+ |
| | | Tecking
Nombre de messages : 114 Age : 36 Localisation : Toulouse Date d'inscription : 30/05/2010
| Sujet: Re: Le jeu des jeux. Sam 5 Juin 2010 - 23:17 | |
| je ne sait pas mais j'ais proposé de l'aider. avant je suis passé par dev-cpp et thinbasic mais en plus d'être simple on peu influer sur son avenir en suggérant nos idées à jack pour ce qui est de mon projet je propose à quiconque de m'aider, il suffit de lire le premier post de ce sujet. et de me proposer du code, et des suggestions... | |
| | | Invité Invité
| Sujet: Re: Le jeu des jeux. Sam 5 Juin 2010 - 23:51 | |
| Je suis hors course. J'ai mes propres programmes à faire, j'ai très peu de temps pour programmer, et je n'ai pas de passion pour les jeux.
Il y a que le cas d'un problème qui serait de ma compétence mais dans ce cas, les autres le sont autant (même mieux) que moi.
Bonne nuit (Pour ce qui est de Select, je connaissait ce problème depuis décembre, mais n'ayant que des programmes de plus de 1000 lignes, je ne pouvais pas mettre de post pour en parler, aussi lorsque j'ai vu le tien, j'ai sauté sur l'occasion, autrement comment en parler. Maintenant je n'en parlerais plus) |
| | | Tecking
Nombre de messages : 114 Age : 36 Localisation : Toulouse Date d'inscription : 30/05/2010
| Sujet: Re: Le jeu des jeux. Dim 13 Juin 2010 - 18:31 | |
| | |
| | | lagman
Nombre de messages : 205 Age : 32 Localisation : France Date d'inscription : 07/05/2008
| Sujet: Re: Le jeu des jeux. Sam 24 Juil 2010 - 4:47 | |
| J'ai regardé par pure curiosités et c'est vraiment excellent ton menu tecking ! : D | |
| | | Tecking
Nombre de messages : 114 Age : 36 Localisation : Toulouse Date d'inscription : 30/05/2010
| Sujet: Re: Le jeu des jeux. Sam 24 Juil 2010 - 9:46 | |
| | |
| | | Contenu sponsorisé
| Sujet: Re: Le jeu des jeux. | |
| |
| | | | Le jeu des jeux. | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |