TiMad >>
au moins j'aurais le merite de proposer des fonctions aux performances equivalent pas comme certains
Pour moi il n'y a là aucun mérite. Moi j'ai mis au point moi-même sans regarder aucune source, tant pis si c'est moins performant. Là est le mérite je trouve.
Contrairement à toi qui a maté GenLib et même la toute première version de GraphX d'il y a longtemps, je me souviens très bien que tu m'avais dit que tu étudiais le code.
Sinon, si tu veux croire que j'ai piqué tes idées, crois-le. Tant pis pour toi si tu es prétentieux au point de croire que toi seul pouvait trouver une chose aussi simplette, croire avoir je ne sais quel QI que personne ne puisse atteindre... Lol lol lol.
Je ne sais pas si tu te rend compte, mais tu es ridicule. Ca me laisse même penser que t'es moins fort en programmation que je le croyais, parceque pour être fier de pauvres trouvailles que n'importe quel programmeur peut faire avec un minimum de réflexion...
Tu crois que l'ai faite en 1 jour, que toutes les idées me sont venues d'un coup ? non j'ai beaucoup réfléchit, j'ai passé quelques nuits sur GraphX, à sans cesse modifier le code pour implémenter une nouvelle idée.
T'as pas beaucoup plus que 124 de QI, si moi ça m'a suffit pour inventer GraphX. Rah zut tu dois être trise d'apprendre que tu es 3 fois moins malin que ce que tu croyais
M'enfin, moi j'ai la conscience absolument sereine
Pour terminer, je présente mes excuses pour avoir été violent au post #396. Tu les acceptes si tu veux.
Vark : Au menu pour GraphX 1.1 : programmation événementielle multitâche, grâce aux nouvelles fonctions
GX_CreateTimer et
GX_SetKeyboardThread. C'est petit truc inédit hyper-avantageux qui, j'espère, boostera un peu le succès de GraphX
Attention c'est bien de la prog événementielle multitâche, et non pas de la prog multitâche événementielle, nuance :
Multitâche événementiel signifirait plutôt que le programme est composé de plusieurs tâches (threads) exécutés "bout par bout" et que leur exécution peut être interrompue par l'arrivée d'un événement (pression d'une touche, "tic" d'un timer), puis la main rendue au thread qui s'exécutait, bref : une structure logicielle à la Window$.
Evénementiel multitâche signifie que le programme principal peut être interrompu à tout moment par la survenue d'un évènement (pression d'une touche, "tic" d'un timer), puis la main rendue au thread qui s'exécutait, ET que les tâches associées aux évènements sont exécutées en parallèle.
Le noyau répartiteur des threads est lui-même multitâche.
Les timers (4 maximum) ont une fréquence paramétrable entre 1 et 256 Hz.
Ca permet une clarification considérable du programme principal car les parties "gestion du clavier" et "régularisation du rythme" (tu voulais des timers pour que ton jeu garde une vitesse constante, je crois) sont dissociées du programme principal. Le code est du coup largement moins "spagetti" (j'ai vu que ta source était particulièrement "sagettisée"

)
Et puis on peut gagner en vitesse si on exploite bien les possibilités offertes par la prog événementielle (en tout cas rassure-toi, on ne perd en aucun cas en vitesse).
Si tu connais Delphi, ben ça marche un peu pareil (les méthodes comme
OnKeyPressed et
OnTimer qu'on surcharge avec nos propres fonctions).
Je t'avais bien promis un truc aux p'tits oignons quand tu m'avais demandé d'ajouter la gestion des timers
Je t'envoie la bêta de GXv1.1 bientôt, il me reste une merde à régler avec la pile utilisateur : je l'écrase dans les fonctions de copie et d'effacement des buffers, mais la routine de "dispatching" (qui peut être exécutée pendant une copie ou un effacement) en a besoin ! ça va m'obliger à compliquer le code de la routine, donc c'est pas pour tout de suite
