begin process at 2012 05 27 15:31:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > DÉPLACEMENT DES UNITÉES (MAX : 200) AVEC L'ALGO A STAR

DÉPLACEMENT DES UNITÉES (MAX : 200) AVEC L'ALGO A STAR


 Information sur la source

Note :
8,33 / 10 - par 3 personnes
8,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :astar, pathfinder, picking, selection, deplacement Niveau :Débutant Date de création :06/12/2005 Date de mise à jour :11/12/2005 12:56:13 Vu / téléchargé :6 951 / 688

Auteur : Pistol_Pete

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Il s'agit en fait de la base de tous jeux de stratégie (Age, Heroes, WarCraft...): Les déplacements. Aussi dans tous ses jeux on ne peut selectionner qu'un nombre limité d'unitie. J'ai permis la selection de 200 unitées en meme temps. Ceci entraine des problèmes de placement d'unité mais cela fait aussi ramer mon PC. Je vous conseille donc de ne pas selectionner trop d'unitée en meme temps.

Espace : ajout d'une unitée
Retour : suppression d'une unitée
A      : augmentation de la vitesse
Q      : diminition de la vitesse

click gauche : selection des unitées
click droit  : deplacement
click droit sans unitée selectionnée : placement d'un mur infranchissable  


 Conclusion

Si vous détectez des bugs, merci de me les signaler.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • age v3.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier20 917 octets
  • age v3.exe.newTélécharger ce fichier [Réservé aux membres club]421 980 octets

Télécharger le zip


 Historique

11 décembre 2005 12:56:14 :
ajout d'un Sleep(1);

 Sources du même auteur

Source avec Zip Source avec une capture VISUALISATION DES IMAGES EN 3D SANS OPENGL
Source avec Zip Source avec une capture ANALYSE DE LA TEXTURE D'UNE IMAGE : FILTRE DE GABOR
Source avec Zip Source avec une capture VIEWER COMPLET POUR LE TRAITEMENT DE L'IMAGE : IMANALYSE
Source avec Zip Source avec une capture ALGORITHMES D'OPTIMISATION NON LINÉAIRE: DESCENTE DE GRADIEN...
Source avec Zip Source avec une capture CLASSE GRAPH: GESTION DES GRAPHIQUES DANS LES APPLICATIONS W...

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip COMPARAISON DE L'ALGORITHME DE DIJKSTRA ET A* SUR LE TRAJET ... par vdujardi
Source avec Zip JEU DE DAMES 3D par vbclaude
Source avec Zip Source avec une capture ALGO DE PATHFINDING AVEC PETIT JEU par kts_system
Source avec Zip MFC - DESSINER SOUS VC++ AVEC SELECTION par randriano
Source avec Zip RENOMMEUR DE FICHIERS PAR SELECTION MULTIPLE (MFC) par jolamoule

Commentaires et avis

Commentaire de luhtor le 07/12/2005 00:04:12

C'est marrant :) On arrive a le faire bugger. Ca plante pas, mais les unités n'arrivent pas toujours à destination. Il arrive qu'elles oscillent entre deux cases sans se débloquer.
Sinon, les unités peuvent se passer à travers ou etre a plusieurs sur la meme case? en tout cas c'est ce que j'ai remarqué.

Sinon, l'interface fonctionne tres bien (en tout cas rien a signaler), et c'est bien réalisé je trouve.

Commentaire de erazor le 07/12/2005 13:36:29

C'est assez interressant, surtout pour moi qui réalise un jeu de stratégi temps réel.

J'ai remarqué tout comme Luthor que lors des déplacements les unités se marchaient dessus.

Et lorsque je quitte le programme a l'aide de la croix la fenetre de console m'affiche en boucle un message d'erreur que je n'ai pas eu la présence d'esprit de noter d'ailleurs.

Commentaire de Pistol_Pete le 07/12/2005 20:15:19

Salut à vous. Merci de vous commentaires et c'est vrai que c'est un des gros points faible de mon programme. En effet, lorsque les unitées sont en mouvement, plusieurs d'entre elles peuvent se chevaucher: je n'ai pas interdit les cases des unités en mouvement. La raison: cela ralentissait et allongeait mon pathfinding.

Par contre lorsque les unitées sont arretés, il devient alors impossible pour d'autre unitées de passer par dessus.
Les unitées oscillent entre deux cases lorsque elles ne trouvent pas de solution pour atteindre leurs cases d'arrivées.

Erazor, lorsque tu fermes la fenetre graphique, à chaque fois que le programme essait de dessiner quelque chose, il t'envoie bouler, d'où les messages d'erreur.

Ciao

Commentaire de Pistol_Pete le 07/12/2005 20:17:29

En fait je suis curieux de savoir combien de frames par seconde, vos ordinateurs peuvent afficher pour la vitesse maximum.

Commentaire de luhtor le 07/12/2005 21:41:50

Alors chez moi j'obtiens 60 fps a vide, cad juste en augmentant la vitesse au début.
Ca tombe a 20 fps quand je fais bouger les 200 en meme temps.

Commentaire de erazor le 08/12/2005 09:02:57

Pareil chez moi.

lol je viens de m'appercevoir que les self de ma carte mère sifflaient grace a ton programme ;p (il me semblait deja avoir eu des doutes mais la j'ai la confirmation)

Sinon c'est marrant de voir comment a certains moments lorsque il ne trouve pas de solutions il rame et bloque l'affichage...

Dans Cossacks, tu peux selectionner des bons paquets d'unités et pourtant cela rest fluide, donc il doit y avoir moyen d'optimiser ton algo peut être?

Commentaire de Pistol_Pete le 09/12/2005 19:36:15

oui ta raison erazor, j'ai oublié d'inclure un Sleep(1) dans mon prog. Je vais le rajouter.
C'est vrai que c'est impressionnant de voir tourner Cossacks,tres fluide et il ne bouffe pas toutes les resources de ton PC.

Est ce que vous saver par quelle methode il ont fait leur pathfinder. Le miens est basé sur l'algo astar mais il doit y en avoir de plus efficasse.

Commentaire de Cyberboy2054 le 09/12/2005 21:49:45

Sans doute qu'il utilise un dérivé du A*
Une source possible d'optimisation est le précalcul de chemins, que tu ne peux probablement pas faire ici, mais qui peut etre fait dans les jeux (ca demande beaucoup de mémoire, mais ca augmente considerablement la vitesse: les calculs de chemins potentiels ne sont pas a faire a chaque fois vu qu'ils sont déja précalculés). Une autre source intéressante et qui est elle utilisée dans la plupart des jeux est la répartition du calcul de pathfinding sur plusieurs images. Dans ta methode, tu affiche une image, calcul le chemin si necessaire, affiche la suivante. Pour eviter que ca rame, on fait différement: on affiche une image, et si un chemin doit etre calculé, on en calcul un bout ( genre 10 iterations de la boucle), on affiche une image, on recalcule un autre bout, etc ... pendant ce temps les unités peuvent bouger vu que le deplacement est basé sur une heuristique, et le calcul ne fait pas ramer l'affichage. On peut utiliser le multithrreading pour repartir ce calcul, mais c'est un domaine dont je ne saurais pas trop parler ...
A+ bon coding

Commentaire de Pistol_Pete le 14/01/2007 19:58:26

Voila j'ai mis la lib CMUgraphics sur mon site internet comme ca il ne devrait plus y avoir de problème et tout le monde pourra compiler mes sources
http://pistol.petesampras.free.fr

A+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

bomberman avec turbo c++ [ par xav42 ] Bonjour, je suis étudiant et à mon iut on utilise turbo c++ qui date un peumais bon...Voici mon probleme :j'ai un projet pour la fin de l'annee: fair bomberman avec turbo c++ [ par xav42 ] Bonjour, je suis étudiant et à mon iut on utilise turbo c++ qui date un peumais bon...Voici mon probleme :j'ai un projet pour la fin de l'annee: fair selection repertoire [ par valoide ] je cherche une fonction permettant de selectionner non pas les fichiers mais les repertoires (via une cdialog si possible).merci Boite de selection generant un appercu d'image [ par Hades53 ] J'arrive à afficher des boites de séléctions normal , mais j'aimerais savoir comment peut on faire pour afiicher des boites de dialogues qui générent deplacement avec les fleches ? [ par Djedie ] je dois faire 1 prog genre pacman ou snakeet j aimerai faire le deplacement avec les flecheshaut bas gauche droite.j aimerai faire 1 ptit sous prog po selection/modification d'un enregistrement [ par wannie ] Salut, J'ai un petit pb sous VC++. J'arrive à selectionner une ligne d'un fichier avec la méthode: Citation: fgets(ligne,391,File); Ca me selectionne Deplacement de la souris [ par gus2647 ] Bonjour, Je souhaiterai pouvoir deplacer mon cursuer à l aide des fleches du clavier..Comment je peux recuperer l evenement de la saisie d une touche WM_SYSCOMMAND +deplacement [ par Manson ] Salut a tous,voila je cherche sur le forum de cppfrance depuislongtemps un truc que j'avais une fois, quipermet de deplacer un fenetre sans la barrede Probleme deplacement dans un fichier texte [ par Coxis ] Salut tous le monde,Voila j'ai petit soucis, je suis en train de faire un programme en C travaillant sur un fichier texte et je m'enbrouille grave ave TreeView + Selection [ par Manson ] Salut,voila j'arrive a savoir quel element d'un treeview est selectionne, mais je n'arrive pas a savoir sous quel element se trouve la souris SANS cli


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales