Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

Catégorie :Jeux Classé sous : vba, pacman, excel, jeux Niveau : Débutant Date de création : 21/08/2005 Date de mise à jour : 28/11/2005 00:56:19 Vu / téléchargé: 13 845 / 1 753

Note :
5,75 / 10 - par 4 personnes
5,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Voici un jeu de pacman en VBA assez simple ,mais le VBA comporte quelques restrictions comme pratiquement aucune fonction prédéfini du genre Form_Onload ou Form_OnKeyPress et aussi tout doit être exécuté en une seule fonction. Malgré tout le jeu est assez fluide et est jouable. J'ai réussi a crée une certain forme d'intelligence artificielle (les ennemies ne change pas d'idée au milieu d'un couloir), mais c'est pas encore parfait.

Les controles :
Se déplacer : Avec les flèches
Terminer : Alt

Etant donné qu'en VBA il n'y a pas la fonction onkeypress veuillez laissez la touche enfoncer.
 

Conclusion

Vous pouvez modifier la map en changeant la couleur des cases (rouge : couloir et noir : mur) et n'oubliez pas d'aller changer la position de départ des ennemies vers la fin de la fonction Debut. Si vous avez des idées pour optimiser le code ou encore amilioré le déplacement des ennemies veuillez me les faire parvenir. N'hésitez à ajouter vos commentaires que vous ayez aprécier ou non mon code.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • Pacman.xlsTélécharger ce fichier [Réservé aux membres club]94 720 octets

Télécharger le zip

Historique

28 novembre 2005 00:56:19 :
Ajout de mot clé

Commentaires et avis

signaler à un administrateur
Commentaire de us_30 le 22/08/2005 00:31:09

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.

signaler à un administrateur
Commentaire de Arto_8000 le 22/08/2005 01:04:48

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.

signaler à un administrateur
Commentaire de djmemo le 05/02/2007 10:53:48

ce qui serez bien c'est que tu mette un bouton contrôle sur la page pour commencer plus vite et plus simplement

signaler à un administrateur
Commentaire de Arto_8000 le 06/02/2007 02:42:36

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.

signaler à un administrateur
Commentaire de fendjoulive le 14/06/2008 21:27:23

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

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

[Vba excel] jeux réseau possible ? [ par zubbys ] Bonjour,Je suis toujours sur mon projet de "morpion" (pour les personnes ayant suivi mes premiers post ^^)  mais je trouve qu'il pourrait être intéres [VBA / macro excel] remise à vide de cellules à chaque début de mois. [ par hazzel ] Bonjour à tous,Je souhaiterai savoir s'il était possible à l'ouverture d'un classeur excel, de prendre en compte la date (inscrite dans une cellule vi ACTIVER modules 2003 dans VBA 2007 [ par vinou19 ] Bonjour,Je développe en amateur éclairé sous excel et word depuis 23 ans, c'est dire que je me suis adaptée de façon autodidacte à toutes les versions defilement feuilles excel vba [ par Mitchouboy33 ] bonjour à tous, voila j'ai un problème dans un de mes codes sous vba, je crée une base de données avec une feuille excel choisie au démarrage. Cette f VBA Excel Lien hypertect [ par Teleron ] Bonjour à tous.J'ai inséré un lien hypertexte sur un bouton vers un classeur Excel mais je ne parviens pas à faire ce lien vers une feuille précise de [VBA / macro excel] [ par hazzel ] Bonjour à tous!Voilà mon problème :   J'utilise une inputbox dans le but d'utiliser la valeure inscrite pour des rechercheV sur une autre feuille. Les Passage fonction Excel dans Function VBA [ par naturel45 ] Bonsoir,je cherche à passer en paramètre une fonction logique Excel dans une function perso;Sous Excel;   MaFunction(A1:A9;OU(B1;C1))MaFunction(Plage convertion 2003-2000 vba recherche de feuille excel [ par jerem5252 ] Bonjour à tous,j ai un prob avec une partie de code lorsque je passe de  excel 2003 à 2000.Dim strmessage  As String    Dim i As Long        Set fs = [VBA] Formule appelant un autre classeur excel [ par beurdge ] Bonjour,J'ai crée une macro pour remplir ma base de donnée qui se chargera ensuite dans un tableau.Pour remplir cette base j'utilise des valeurs prése selectionner des feuilles en VBA Excel à l'aide d'une INPUTBOX [ par damidam1 ] Bonjour, Voici mon problème, J'ai un fichier Excel dans lequel se trouve 52 feuilles qui correspondent chacune a un semaine de l'année (sem1, sem2 etc


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,920 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.