Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1540 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Défi/Performance sur un petit jeu

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Défi/Performance sur un petit jeu

n°612848
Evadream -​jbd-
Posté le 15-01-2004 à 18:50:22  profilanswer
 

Bonjour tout le monde !
 
 
Dans le cadre d'un petit projet, j'ai implément" un petit jeu de
plateau avec un joueur contrôler par l'ordinateur en se basant sur une méthode de type monte carlo. Cette méthode se base sur le résultat de plusieurs parties aléatoire pour déterminer le meilleur coup à jouer.
 
Ne partez pas ! Je vais pas vous demandez de m'aider à faire quoi ce soit, le projet étant déja rendu.
 
Le point important se situe donc essentiellement dans la rapidité avec laquelle s'effectue une partie aléatoire et ainsi le nombre de parties possibles en un temps donné (par exemple 1 seconde).
 
Je suis pas un cador en C++, et ce qui m'intéresse ici, c'est de voir, si ca vous tente, les différentes possibilitées d'une implémentation efficace de parties aléatoires, tout en
codant "proprement".  
 
Les règles :
 
La partie se déroule sur un plateau n*n, avec deux joueurs. Chaque joueur possède 4 amazones et peuvent se déplacer comme des reines sur un échiquier. Une amazone peut tirer une fleche dans n'importe quelle direction (une fleche se comporte donc comme une reine aussi). Le but du jeu est de bloquer les amazones adverses.  
 
Il y a une page très bien faite ici : http://web2.whosting.ch:1412/jensl [...] azong.html qui montre aussi comment les amazones sont disposées au départ.
 
 
La partie du programme des parties aléatoires que j'ai fait se trouve ici http://evadream.free.fr/files/Code/CC++/amazones/ .  
 
C'est pas forcément très propre justement , je suis ouvert aux critiques :)
 
J'ai fait en sorte de pouvoir choisir la taille de l'échiquier.
 
Je fais environ 14000 parties sur un plateau 8*8 en une seconde sur un athlon 2400, compilé en -Wall -pedantic -O3.
 
En remplacement certain vector temporaire par des tableaux de base, je gagne pret de 6000 parties. Il s'agit de vector de pointeur d'entier que je déclare avec une bonne taille afin qu'il n'y est pas de resize pourtant. On pourra en discuter tout au long de ce topic si il y a des motivés !
 
 
Voilà voilou, si ca vous tente on peut se fixer comme taille 8*8, mais il faut que cette taille soit modifiable facilement.
 
@+

mood
Publicité
Posté le 15-01-2004 à 18:50:22  profilanswer
 

n°612856
Taz
bisounours-codeur
Posté le 15-01-2004 à 18:55:14  profilanswer
 

tip of the day : t'en as pas marre de préfixé strictement tout en C ?

n°612858
Taz
bisounours-codeur
Posté le 15-01-2004 à 18:56:09  profilanswer
 

et si tu commancais d'abord par profiler ?
t'as essayé de dérouler tes boucles un peu ? sinon les vector c'est bien, mais des fois un pauvre tableau c'est bien quand la taille est connu à la compilation que t'as un usage bête ...
 
et d'autres par, ton Chrono a une granularité trop faible pour être vraiment efficace et fiable


Message édité par Taz le 15-01-2004 à 19:09:51
n°613175
Evadream -​jbd-
Posté le 16-01-2004 à 02:05:06  profilanswer
 

Merci pour tes précieuses remarques ! C'est vrai que je n'ai même pas penser à gprof, alors que je l'avais déja utilisé :/ Pour le chrono, je suis conscient de tes remarques, mais j'ai fait ca rapidement dans le but d'avoir un ordre de grandeur plutot qu'une mesure fiable.
 
Sinon, je ne comprends pas ce que tu entends par "préfixé strictement tout en C"
 
Merci !

n°613202
Taz
bisounours-codeur
Posté le 16-01-2004 à 09:04:08  profilanswer
 

ben tous tes bordel commencent par la lettre C

n°613563
Evadream -​jbd-
Posté le 16-01-2004 à 15:27:17  profilanswer
 

[:ddr555] Mdr ok ! Je n'arrive pas à me fixer sur des règles de nommage particulière, je fais des essais.

n°613574
Taz
bisounours-codeur
Posté le 16-01-2004 à 15:32:06  profilanswer
 

ben tu évacue tout ce qui prends la tête, ça sera déjà pas mal

n°834290
jagstang
Pa Capona ಠ_ಠ
Posté le 27-08-2004 à 15:50:42  profilanswer
 

alors ?

n°834309
Evadream -​jbd-
Posté le 27-08-2004 à 16:04:29  profilanswer
 

C'est quoi ce déterrage ? :D

n°835074
jagstang
Pa Capona ಠ_ಠ
Posté le 28-08-2004 à 13:38:44  profilanswer
 

j'assure le suivi des projets bidons [:joce]

mood
Publicité
Posté le 28-08-2004 à 13:38:44  profilanswer
 

n°835476
Evadream -​jbd-
Posté le 29-08-2004 à 13:14:06  profilanswer
 

;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Défi/Performance sur un petit jeu

 

Sujets relatifs
un petit programme pour temporisateur-decompte avec un AT90S1200[VB] petit defi : récuperer le nom d'une variable dans un TYPE
Petit problème avec expression régulière...Projet de gestion hasardeuse de frame (vrai défi inside)
Un petit peu d'aide en ASP svpJe cherche qqun pour écrire un prgm (petit)
[PHP] un petit compteur de visites ?Petit probleme tout bete (printf/scanf)
[MySQL] petit probleme d'update 
Plus de sujets relatifs à : [C++] Défi/Performance sur un petit jeu


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR