UN JEU DE PACMAN ... SUR EXCEL (VBA)

us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 22 août 2005 à 00:31
fendjoulive Messages postés 1 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 14 juin 2008 - 14 juin 2008 à 21:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33367-un-jeu-de-pacman-sur-excel-vba

fendjoulive Messages postés 1 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 14 juin 2008
14 juin 2008 à 21:27
très très bien
l'aspect visuel pourrait être amléioré sans trop de travail,
par contre la prgrammation est très bonne
c'est pas facile à faire un truc comme ça bien fluide et les deplacements des mechants
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
6 févr. 2007 à 02:42
Il y a des siècles que je n'ai plus fait de vba. À vrai dire ce projet est mort depuis bien longtemps ... si tu veux le continuer et l'amélioré davantage vas-y et tu peux en poster une nouvelle version.

De mon côté, j'ai complètement délaissé toutes les formes de VB, pour laisser place au C et PHP/JS.
cs_djmemo Messages postés 4 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 23 avril 2006
5 févr. 2007 à 10:53
ce qui serez bien c'est que tu mette un bouton contrôle sur la page pour commencer plus vite et plus simplement
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
22 août 2005 à 01:04
us_30 -> Pour la map grandeur folle on pourait en changeant le range de la variable "play_range" et partout où on vérifie si on se déplacer à l'extérieur (changer la valeur 21 pour autre chose de plus gros) et pour la map fait là comme tu veux (rouge:couloir et noir:mur). Pour le déplacement en sélectinnant une cellule, je ne crois pas que c'est possible, car il faut faire rouler un script en même temps pour les ennemies, donc impossible de sélectionner une cellule pendant l'éxecution (sur Office 98 et les autres versions ?).

J'apprécie ton commentaire et je vais voir pour les autres amiliorations possibles.
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
22 août 2005 à 00:31
Bonsoir,


Ton petit jeu m'a bien amusé... j'y jouerai pas pendant des heures, mais bon, 5' c'est sympa... et tout marche bien...

=

Maintenant, si on veut rentrer dans le détail, pour essayer d'avoir un jeu plus complet, je te propose quelques remarques...
J'ai dû régler une attente plus faible, pour que cela devienne plus amusant... mais cette attente dépend de la puissance du PC, sur lequel on joue, car tu utilises deux boucles FOR TO NEXT... Peut-être, une programmation reposant sur la vraie durée écoulée serait préférable... De plus, on pourrait penser proposer alors, un niveau de difficulté en fonction de la vitesse. Pour cela, il faut chercher du côté de la fonction TIMER, je pense. Un truc du genre : t=timer, puis dans une boucle DO , if timer-t > 0.3 then exit do... Bref, à voir, c'est qu'une idée...

Ensuite, de nombreuses lignes sont redondantes, il me semble qu'il aurait fallu les regrouper dans une même structure... Je dis là qu'une impression à chaud, je ne sais pas si c'est réellement possible... (je pense vraiment que oui, pourtant..)

Puis, l'espace du jeu, me semble limité... et ne plus fonctionner au-delà de (A1:V22)... IL aurait été plus sympa de pouvoir faire plus grand, voir prendre la totalité des cases d'une feuille... Je sais que cette idée est un peu "folle", mais pour un p'tit jeu comme celui-là amuse plus de monde... Cela serait un poil plus délire ! ... Bon, bon... Si on pense programmation... Avec quelle idée réalisé cela sans faire trop lourd à gérer par le PC ?... A première vue, je pense que pour ma part, je laisserai excel gérer les déplacements comme quand on se déplace normalement sur une feuille. En utilisant, l'événement Selection_change on peut repèrer sur quelle cellule le curseur se trouve... et faire si le fond est noir, revenir sur la cellule précédente... bien sur il convient de retenir les coordonnées du cuseur aprés chaque déplacement, afin de revenir en arrière, et mettre à jour les variables qui mémorise les coordonnées du curseur, seulement si le déplacement est valide... cela se réalise trés facilement donc... ainsi par la même occassion le recours à la LIB pour la détection des touches ne serait pas nécessaire... (on verrai, hélas le curseur)... Pour les ennemis, je pense que le principe serait un peu le même. Si l'ennemi se trouve à un carrefour, on choisit au pif une direction, autrement on répète le dernier mouvement... Bref, pour en revenir au Pacman de grande taille, je voudrai encore signalé, un truc... L'écran se déplacera normalement avec le curseur de l'utilsateur, comme quand on se déplace avec les touches flèchés dans le tableau vierge, bien évidemment... mais pour les ennemis, il faut faire attention, à ne pas utiliser cells.select, si l'ennemi est hors d'une plage affiché à l'écran, car sinon on verra la Map sauter d'une position de l'ennemi à l'autre... donc injouable... (et gerbe assurée !) ... C'est point à voir, car comme cela je ne vois pas comment on peut connaître la plage affiché à l'écran... il y a surement moyen, mais bon faut y réfléchir...


Voilà, enfin j'arrête là mes nombreuses remarques, un peu flou... en espérant que certains points t'inspirera peut-être...

=

Amicalement,
Us.
Rejoignez-nous