SlideShare une entreprise Scribd logo
1  sur  21
Projet Annuel Analyse statistique sur DoTAPar Julien BANVILLE et Adrien KOSCIANSKIResponsable de Projet : Mr François RIOULTDate: le 19/06/200818288004572000 Sommaire TOC  
1-3
    Introduction PAGEREF _Toc75408293  4Présentation du projet PAGEREF _Toc75408294  5Notre application PAGEREF _Toc75408295  5DoTA : Defense of The Ancients PAGEREF _Toc75408296  5Objectif de notre application PAGEREF _Toc75408297  6Cahier des charges PAGEREF _Toc75408298  6Implémentation PAGEREF _Toc75408299  8Le langage XML et XSLT PAGEREF _Toc75408300  8Le développement de l’application PAGEREF _Toc75408301  8Analyse statistique PAGEREF _Toc75408302  12Observations générales PAGEREF _Toc75408303  12Observations approfondies PAGEREF _Toc75408304  12Items fréquemment utilisés PAGEREF _Toc75408305  12Combinaisons pour les personnages PAGEREF _Toc75408306  13Liaisons entre objets et influences des objets sur les résultats PAGEREF _Toc75408307  13Les limites et avantages de ces analyses statistiques PAGEREF _Toc75408308  14Projet : Travail de groupe PAGEREF _Toc75408309  15Outils mis en place PAGEREF _Toc75408310  15Répartition des tâches PAGEREF _Toc75408311  15Problèmes rencontrées PAGEREF _Toc75408312  15Conclusion PAGEREF _Toc75408313  16Annexes PAGEREF _Toc75408314  17Exemple de résultat fourni à la fin de notre devoir de recherche PAGEREF _Toc75408315  17Exemple de fichier XML utilisé par la base de données PAGEREF _Toc75408316  18Exemple de fichier XSLT PAGEREF _Toc75408317  19Fragment du fichier avec les données transformées via XSLT PAGEREF _Toc75408318  20 Introduction Dans le cadre de notre projet annuel en Master Informatique 1ère année, il nous a été demandé de concevoir une application qui  à partir de données XML détermine des statistiques sur les objets les plus usités lors de parties de DoTA. Nous allons donc vous présenter à travers ce rapport notre avancement et les différentes étapes que nous avons du franchir pour atteindre notre objectif. Dans un premier temps, nous allons expliquer notre projet : sur quel jeu il se base, comment cela fonctionne.  Ensuite, nous allons développer une partie sur notre implémentation : quels choix technologiques, comment se divise notre recherche, quelles difficultés nous avons rencontrées. Par la suite, nous montrerons les résultats que nous avons obtenus, ce que l’on peut déduire de ces statistiques. Enfin, nous conclurons avec un résumé du travail en groupe sur notre projet, la répartition des tâches, l’avancement dans le temps. Présentation du projet Notre application Le but de notre application est avant tout de pouvoir récupérer et trier des informations récupérées à partir de parties jouées en ligne du jeu DoTA. Ainsi notre projet se base essentiellement sur le mode de jeu DoTA.  DoTA : Defense of The Ancients Il s’agit d’un jeu ou plutôt d’une extension d’un autre jeu : Warcraft III. DoTA ou Defense of The Ancients est une extension développée par des fans du jeu Warcraft III.   Le jeu se répartit généralement en deux équipes de 5 joueurs, ceux-ci ont le choix parmi une palette de héros qui ont chacun leur caractéristique et leur compétence (force, agilité et intelligence). Chaque héros peut évoluer grâce à l’expérience qu’il acquit en tuant des monstres. Il peut évoluer jusqu’au niveau 25 qui est le niveau le plus haut. Chaque héros possède trois sorts de base et un sort ultime qu’il peut faire évoluer en puissance suivant son niveau. Un des éléments important du jeu, qui est la base de notre projet, sont les objets ou items. Chaque héros peut acheter ces objets grâce à l’or qu’il acquit lorsqu’il tue des héros adverses ou des creeps, c'est-à-dire des monstres géré par le jeu lui-même. Celui-ci peut combiner des objets de base afin d’avoir des objets plus évolués et qui confèrent plus de bonus aux caractéristiques du héros. Le but du jeu est de détruire la base principale de l’ennemie à l’aide de l’intelligence artificielle du jeu, qui envoie toutes les 30 secondes des creeps sur le camp ennemi. Ainsi le vainqueur est celui qui a anéanti la base de l’ennemie le premier A chaque fin de partie un tableau récapitulatif affiche les héros avec le nombre d’ennemis tués, le niveau auquel il se trouve à la fin du jeu, les objets qu’ils possédaient, le ratio nombre mort / nombre de Kill,… Chacun de ses tableaux constituent la source de notre application. Il est traité par une autre application, qui reconnaît les caractères automatiquement et les transfère dans un fichier XML. Objectif de notre application A partir de ces tableaux à la fin des parties, notre application doit transformer ce tableau et interpréter les résultats. Notre objectif est de récupérer les informations sur les objets pour chaque héros.  Ainsi il est possible de déterminer quels objets ont été le plus souvent utilisés, et ainsi on peut déterminer une stratégie pour chaque héros et une stratégie globale sur les objets les plus souvent utilisés par la plupart des héros.  Nous ne nous chargeons pas de transformer ces tableaux en fichier XML une application a déjà été implémentée et fournit les résultats. Nous travaillons directement sur ces résultats sous forme de fichiers XML. Ainsi notre application fait partie d’un ensemble d’autres applications qui s’occupe de récupérer et transformer les tableaux, de convertir les données en fichiers lisibles. Au final, notre partie doit ressortir des statistiques sur l’utilisation des objets par les héros qui ont gagné une partie, afin d’en tirer des tendances. Cahier des charges Lors de notre premier entretien avec Mr Rioult un certain nombre de demande, nous a été formulé : Utiliser le langage XML pour notre application : vu que le reste des applications utilisent ce type de langage De nous concentrer essentiellement sur les « items » (objets) à chaque fin de partie D’intégrer la relation Héros-Objets dans notre base de données. Il a donc fallu suivre ce cahier des charges pour établir notre application. Implémentation Une fois le cahier des charges définit, nous avons commencé le développement de notre partie.  Comme vu précédemment, nous nous basons donc essentiellement sur ces fichiers XML de résultats pour calculer les statistiques, nous nous sommes donc appuyés sur le langage XML et le langage de transformation XSLT pour la restructuration des données nous intéressant.  Le langage XML et XSLT Vu que les autres applications utilisaient le langage XML, l’application est restée sur ce modèle, XML reste un langage simple et hiérarchique, et XSLT est un langage basé sur XML, chargé de le transformer dans n’importe quel format. Il est important de rappeler les avantages d’utiliser ce type de langage pour la programmation : La structure arborescente rend le document hiérarchique et facile à traiter. C’est un langage portable sur n’importe quelle plateforme que ce soit Windows, Mac ou Linux.  Et ainsi, il est également possible de l’utiliser avec un autre langage tel que Java, C++,… Il est auto descriptif et extensible s’il est nécessaire d’introduire d’autres données. L’avantage du langage XSLT est qu’il est possible de reformater un document XML sous n’importe quel autre format, ainsi il est possible de transformer la sortie en.txt si nécessaire. On peut envisager de transformer un document XML en HTML, en simple texte, ou même en Flash ou format SVG. Ainsi, on remarque que le langage XML et XSLT dénote plusieurs avantages qui facilite le traitement de notre application. Vu que notre méthode a été testée avec environ cent cinquante fichiers de résultats et qu’il doit pouvoir être utilisé avec un grand nombre de documents, la rapidité de traitement et d’exécution est primordiale. Les documents XML restent légers tout en étant hiérarchisés, la quantité de document ne pose pas de problème, tant que l’on n’excède pas un nombre important. Le développement de l’application Notre développement commence dès la réception de documents en format XML. Ces documents contiennent les tableaux de résultats des différentes parties. Vu l’importance des documents, nous avons donc mis en place une base de données, qui regroupe tous ces documents, d’une part pour faciliter le traitement de ces fichiers, mais aussi d’une autre part pour améliorer la recherche d’objets et de héros dans ces documents. Après consultation auprès de notre responsable de projet, nous avons mis en place une base de données utilisant XML déjà existante et appelée eXist. C’est une base de données qui s’appuie sur la structure du langage XML pour stocker et faire des requêtes complexes sur ces données. declare namespace dc=
dota
;let $players :=//dota[mapVersion != 
v651
 and mapVersion != 
v6S1
 and mapVersion !=
v651b
 and mapVersion !=
v6S1b
]for $t in $players let $v := $t/winner/text()for $p in $t/players/player[@team=$v] let $carac := //dc:heros/dc:hero[@name=$p/@name]/@ppalCharlet $items := $p/items/item return ,[object Object],Ainsi nous importons tous les fichiers XML dans la base de données pour pouvoir les traiter par la suite à l’aide de requêtes utilisant le langage XQuery. Ces requêtes recherchent dans la base de données tout ce qui correspond au héros du joueur et les objets qu’ils possèdent. On va en fait rechercher tous les héros ayant remporté la victoire, et pour chaque héros, récupérer son nom, sa caractéristique principale, les objets utilisés durant la partie, et les statistiques de fin de partie. Ainsi une fois, la requête terminée, on exporte les résultats dans un fichier. Ce fichier est utilisé par XSLT qui convertit tout les résultats et les structures de façons à avoir un fichier en texte simple formaté par colonnes. XSLT sert principalement à la modification et à la transformation de document XML en autre format de fichier tel que du HTML ou un fichier texte.  Nous appliquons cette modification afin de transformer le fichier XML en un format texte simple, pour faciliter la recherche de nos « items » et de nos héros. Ainsi, il est plus facile de trouver des résultats redondants. #nomAbaddonAkashaBalanarBaneElementalBarathrumBeastMasterBloodSeekerBoneBountyBroodMother A l’aide de ce dictionnaire, on recherche dans le fichier XSLT si l’on retrouve, un des patterns recherchés. Dans l’exemple ci-dessus, le dictionnaire contient les noms des héros, il est possible de cette manière de pouvoir retrouver le nom du héros. Il en va de même pour les objets. Ainsi une fois le fichier texte obtenus, on utilise trois programmes fournis par M. Rioult : La commande mvdico test.txt test.atr > sample.dico qui permet de répertorier les attribuer et de séparer les valeurs numériques.  La commande mvsegment –i test.txt –o test.bin –d sample.dico –t fichiertrad qui analyse les données et convertit les valeurs des attributs (convertit avec la commande au dessus) en « items ». Il crée aussi un fichier de traduction utilisé plus tard. Et enfin la commande mvminer –i test.bin –a 20 –d 4 –n |traduc fichiertrad > resultatsFinaux.txt qui permet de faire les recherches de règles, et traduire les résultats en résultats compréhensibles dans un fichier texte. Enfin la dernière étape consiste à filtrer, via la commande grep, les fichiers obtenus en retirant tout les éléments qui ne sont pas utiles par la suite dont : les lignes contenant un item vide, soit les lignes contenant EMPTY les lignes ne contenant pas le mot « item » et enfin les lignes ne contenant pas un nom de personnage se trouvant dans le dictionnaire de nom. item1:MaskOfMadness , _nom:FacelessVoid(4) _nom:Riki(6) _nom:Sven(6) _nom:Treant(5) carac:NONE _item2:BattleFury(6) _item2:BootsOfTravel(6) _item2:Butterfly(4) _item2:HeaddressOfRejuvenation(6) _item2:RefresherOrb(6) _item3:BootsOfTravel(6) _item3:Bottle(6) _item3:Circlet(6) _item3:CraniumBasher(6) _item3:GauntletsOfOgreStrength(6) _item3:WraithBand(5) _item4:BootsOfSpeed(6) _item4:PowerTreads(4) _item4:Radiance(6) _item4:VitalityBooster(6) _item4:WraithBand(6) _item5:BlackKingBar(6) _item5:BootsOfTravel(6) _item5:Circlet(6) _item5:CraniumBasher(6) _item5:Eaglehorn(6) _item5:WraithBand(5) _item6:Crystalys(6) _item6:GauntletsOfOgreStrength(6) _item6:Gem(6) _item6:HyperStone(6) _item6:MesserschmidtsReaver(6) _item6:WraithBand(5) _level<=17(5) _level<=21(4) _level<=25(5) _gold<=789(5) _gold<=2168(3) _gold<=14258(6) _kill<=3(5) _kill<=7(6) _kill<=25(3) _death<=2(5) _death<=5(4) _death<=25(5) _wards<=0 _towerKill<=0(6) _towerKill<=6(1) _towerDeny<=0(1) _towerDeny<=2(6) _creepKill<=74(5) _creepKill<=127(3) _creepKill<=466(6) _creepDeny<=0(4) _creepDeny<=8(4) _creepDeny<=56(6) _neutralKill<=4(4) _neutralKill<=213(3) _killGold<=780(3) _killGold<=9430(4) _timeDead<=120(5) _timeDead<=260(5) _timeDead<=1220(4) _goldLost<=810(5) _goldLost<=1860(5) _goldLost<=12570(4) _consumables<=1(5) _consumables<=5(5) _consumables<=31(4) doubleKill<=7 _tripleKill<=1(5) _tripleKill<=4(5) _tripleKill<=25(4) : 7Une fois ce filtre effectué, on obtient donc un fichier contenant les résultats qui nous intéressent.  Une fois, le fichier construit, l’étape de recherche statistique débute. Analyse statistique Observations générales Les analyses statistiques délivrées par l’ensemble de programmes « mv » permet d’avoir différentes informations. On peut voir en effet qu’une fois qu’un tri a été effectué sur les résultats (en retirant ce dont nous n’avons pas besoin, à savoir les résultats ne parlant pas d’item), des statistiques intéressantes sont délivrées en ce qui concerne l’utilisation des objets par les héros, et les relations entre les objets. Prenons par exemple cette ligne dans le fichier :  item1:MaskOfMadness , _nom:FacelessVoid(4) _nom:Riki(6) _nom:Sven(6) _nom:Treant(5) carac:NONE _item2:BattleFury(6) _item2:BootsOfTravel(6) _item2:Butterfly(4) _item2:HeaddressOfRejuvenation(6) _item2:RefresherOrb(6) _item3:BootsOfTravel(6) _item3:Bottle(6) _item3:Circlet(6) _item3:CraniumBasher(6) _item3:GauntletsOfOgreStrength(6) _item3:WraithBand(5) _item4:BootsOfSpeed(6) _item4:PowerTreads(4) _item4:Radiance(6) _item4:VitalityBooster(6) _item4:WraithBand(6) _item5:BlackKingBar(6) _item5:BootsOfTravel(6) _item5:Circlet(6) _item5:CraniumBasher(6) _item5:Eaglehorn(6) _item5:WraithBand(5) _item6:Crystalys(6) _item6:GauntletsOfOgreStrength(6) _item6:Gem(6) _item6:HyperStone(6) _item6:MesserschmidtsReaver(6) _item6:WraithBand(5) _level<=17(5) _level<=21(4) _level<=25(5) _gold<=789(5) _gold<=2168(3) _gold<=14258(6) _kill<=3(5) _kill<=7(6) _kill<=25(3) _death<=2(5) _death<=5(4) _death<=25(5) _wards<=0 _towerKill<=0(6) _towerKill<=6(1) _towerDeny<=0(1) _towerDeny<=2(6) _creepKill<=74(5) _creepKill<=127(3) _creepKill<=466(6) _creepDeny<=0(4) _creepDeny<=8(4) _creepDeny<=56(6) _neutralKill<=4(4) _neutralKill<=213(3) _killGold<=780(3) _killGold<=9430(4) _timeDead<=120(5) _timeDead<=260(5) _timeDead<=1220(4) _goldLost<=810(5) _goldLost<=1860(5) _goldLost<=12570(4) _consumables<=1(5) _consumables<=5(5) _consumables<=31(4) doubleKill<=7 _tripleKill<=1(5) _tripleKill<=4(5) _tripleKill<=25(4) : 7 On peut voir que pour lorsqu’un item MaskOfMadness a été pris par un joueur, l’item BattleFury a été utilisé six fois, ce qui est un nombre assez conséquent. On peut donc en déduire que ces deux items sont une bonne combinaison. En ce qui concerne le nombre d’utilisations d’un item par un personnage, on les observe aussi. Prenons là encore le premier exemple : Le personnage Riki a utilisé six fois l’item MaskOfMadness. On peut en conclure que cet item sera conseillé pour ce personnage. Les lignes de résultats ne sont pas forcément très lisible, mais un simple outil de type parseur pourrait transcrire facilement ces résultats dans un format plus simple, type tableur, ou bien de type graphique. Observations approfondies Items fréquemment utilisés On peut remarquer que certains items sont particulièrement utilisés, notamment l’item BootsOfSpeed ou BootsOfTravel, servant à faire des téléportassions du personnage vers la base alliée, et qui sont très fréquemment utilisés par les joueurs.  On notera que des items comme les Bracer sont très utilisés. Mais on peut voir aussi que certains personnages en ont plus l’utilité que d’autres. Notamment, lorsque l’item Bracer est utilisé et que le nombre de Kill est inférieur à 7, mais que le nombre de tripleKill est inférieur à 25, certains personnages sont présents. Combinaisons pour les personnages Il est possible de voir certaines combinaisons pour des personnages, à partir des résultats donnés. Par exemple, le personnage FacelessVoid utilise souvent l’item MaskOfMadness (six fois), l’item Crystalys (six fois également). On pourra donc suggérer à un joueur de prendre ces items. Le personnage Sven utilise souvent le MaskOfMadness, les Bracers, alors que le personnage Treant utilise plutôt l’item AegisOfImmortality, un Bracer, le MaskOfMadness, ce qui lui confère de nombreux tripleKill. Avec un nombre de parties plus importants, il serait possible de voir des tendances beaucoup plus importantes, la méthode est donc fonctionnelle, on manque juste de résultats. Voici un tableau regroupant les items pour quelques personnages : PersonnageItemItemItemItemEnigmaAegisOfImmortalityBracerLeviathanAegisOfImmortalityPointBoosterBracerLuciferAegisOfImmortalitySobiMaskLunaBootsOfTravelAegisOfImmortalityWraithBandBracerLycanthropeAegisOfImmortalityCrystalysPitLordAegisOfImmortalityPlateMailSilenceCrystalysPlateMailPhantomLancerAegisOfImmortalityGemWraithBandBracer Liaisons entre objets et influences des objets sur les résultats Enfin, les résultats permettent de voir que certains items sont fréquemment utilisés avec d’autres. En général, le but est d’obtenir une combinaison permettant d’avoir un autre item, mais l’objectif peut être aussi d’avoir des bonus dans des compétences variées. Ainsi, on peut voir par exemple que l’item MaskOfMadness est souvent utilisé avec ces autres items:  WraithBand (21 fois)  BootsOfTravel (18 fois)  Circlet (12 fois)  CraniumBasher (12 fois)  GauntletsOfOgreStrength (12 fois)  BattleFury (6 fois)  VitalityBooster (6 fois)  BlackKingBar (6 fois)  Eaglehorn (6 fois)  Crystalys (6 fois) HeaddressOfRejuvenation (6 fois)  RefresherOrb (6 fois)  Bottle (6 fois) BootsOfSpeed (6 fois) Gem (6 fois) HyperStone (6 fois) MesserschmidtsReaver (6 fois) Radiance (6 fois) Butterfly (4 fois) PowerTreads (4 fois)  On voit très clairement que cet objet est souvent utilisé avec l’item WraithBand, l’item BootsOfTravel,… On a donc les relations entre objets qui sont représentés dans ce fichier de résultats. On peut aussi voir des relations entre les items et les résultats, tel que le nombre de Kill, l’argent dépensé (au total) lorsque cet item était pris, des résultats qui peuvent confirmer la bonne utilisation de cet objet selon tel personnage. Les limites et avantages de ces analyses statistiques Après plusieurs tentatives d’analyses, il a paru évident que nous manquions de données pour faire des analyses complètes. En ayant un nombre de parties enregistrées dans la base de données eXist, nous aurions eu beaucoup plus de statistiques, et des résultats beaucoup plus concluants. Néanmoins, un avantage à ces études est qu’il est très facile de faire d’autres comparatifs, notamment pour voir si le jeu est bien équilibré. Par exemple, on peut facilement voir combien de fois a gagné chaque faction, ou combien de fois a gagné tel type de personnage. Projet : Travail de groupe Outils mis en place Pour pouvoir faire avancer l’application en parallèle, nous avons mis en place plusieurs outils de communications afin de pouvoir échanger nos informations, assembler notre méthode et enfin visualiser l’avancement du projet. Ainsi, nous avons utilisé : L’outil SVN (subversion), permettant ainsi de pouvoir stocker et récupérer l’avancement de nos travaux. Le service mail de l’université, afin de pouvoir communiquer ensemble. Répartition des tâches Vu que le projet s’effectuait à deux nous avons donc partagé les tâches, même si les tâches s’effectuaient les une à la suite des autres, nous avons réussi à dispatché correctement le travail : Julien BANVILLE s’est occupé de la partie transformation avec XSLT des fichiers obtenus avec la requête XQuery sur les résultats en XML, il a filtré les résultats fournis par les programmes de la série « mv » et a travaillé sur la partie statistique de l’application. Adrien KOSCIANSKI s’est intéressé à l’intégration des fichiers XML dans la base de données eXist et de la recherche des requêtes en XQuery. Il a également travaillé  sur la partie statistique. Problèmes rencontrées A l’origine, nous avions développé l’application sous Java, vu qu’il s’agissait d’un langage multiplateforme et que nous comptions ajouter une interface graphique. Mais suite à notre rencontre avec notre responsable de projet, nous avons donc laissé tomber cette méthode, pour nous orienter vers XML et XSLT et un traitement des résultats en « brut ». Il serait facile d’interfacer les résultats obtenus dans des éléments graphiques. Nous avons également rencontré des difficultés lors de la réception des fichiers après les traitements via les programmes de la série  « mv », les fichiers étaient soit trop légers et comportaient trop peu d’informations, soit l’inverse : trop d’informations (jusqu’à 30 Mo de résultats), et donc une masse d’informations inutiles. Conclusion Ce fut un projet intéressant car cela nous a permis d’aborder un traitement complet du langage XML, de sa définition jusqu’à une transformation grâce au langage XSLT. De plus, l’univers de Warcraft DoTA est passionnant, il était intéressant de pouvoir mêler le monde du jeu vidéo à notre projet. De plus cela nous a permis de pouvoir étudier la mise en place d’une solution, la conception, le développement ainsi que la rédaction d’un rapport ne parlant pas forcément d’une application, mais des résultats transmis après une recherche.  Enfin, ce projet est intéressant car il montre que l’équilibrage au sein d’un jeu vidéo est quelque chose de très important, car c’est ca qui va définir un GamePlay cohérent et éviter qu’une méthode unique soit appliquée pour obtenir la victoire, surtout dans un jeu de stratégie comme WarCraft. Annexes Exemple de résultat fourni à la fin de notre devoir de recherche item1:MaskOfMadness , _nom:FacelessVoid(4) _nom:Riki(6) _nom:Sven(6) _nom:Treant(5) carac:NONE _item2:BattleFury(6) _item2:BootsOfTravel(6) _item2:Butterfly(4) _item2:HeaddressOfRejuvenation(6) _item2:RefresherOrb(6) _item3:BootsOfTravel(6) _item3:Bottle(6) _item3:Circlet(6) _item3:CraniumBasher(6) _item3:GauntletsOfOgreStrength(6) _item3:WraithBand(5) _item4:BootsOfSpeed(6) _item4:PowerTreads(4) _item4:Radiance(6) _item4:VitalityBooster(6) _item4:WraithBand(6) _item5:BlackKingBar(6) _item5:BootsOfTravel(6) _item5:Circlet(6) _item5:CraniumBasher(6) _item5:Eaglehorn(6) _item5:WraithBand(5) _item6:Crystalys(6) _item6:GauntletsOfOgreStrength(6) _item6:Gem(6) _item6:HyperStone(6) _item6:MesserschmidtsReaver(6) _item6:WraithBand(5) _level<=17(5) _level<=21(4) _level<=25(5) _gold<=789(5) _gold<=2168(3) _gold<=14258(6) _kill<=3(5) _kill<=7(6) _kill<=25(3) _death<=2(5) _death<=5(4) _death<=25(5) _wards<=0 _towerKill<=0(6) _towerKill<=6(1) _towerDeny<=0(1) _towerDeny<=2(6) _creepKill<=74(5) _creepKill<=127(3) _creepKill<=466(6) _creepDeny<=0(4) _creepDeny<=8(4) _creepDeny<=56(6) _neutralKill<=4(4) _neutralKill<=213(3) _killGold<=780(3) _killGold<=9430(4) _timeDead<=120(5) _timeDead<=260(5) _timeDead<=1220(4) _goldLost<=810(5) _goldLost<=1860(5) _goldLost<=12570(4) _consumables<=1(5) _consumables<=5(5) _consumables<=31(4) doubleKill<=7 _tripleKill<=1(5) _tripleKill<=4(5) _tripleKill<=25(4) : 7 item6:AegisOfImmortality , _nom:Enigma(9) _nom:Leviathan(9) _nom:Lucifer(9) _nom:Luna(9) _nom:Lycanthrope(9) _nom:Morphling(9) _nom:PhantomLancer(9) _nom:Rhasta(9) _nom:Slardar(9) _nom:Treant(9) carac:NONE _item1:BattleFury(9) _item1:BootsOfTravel(8) _item1:Butterfly(9) _item1:DaggerOfEscape(9) _item1:PowerTreads(7) _item1:SangeAndYasha(8) _item2:Bracer(9) _item2:Butterfly(9) _item2:HeartOfTarrasque(9) _item2:LinkenSphere(9) _item2:Satanic(9) _item2:Tango(9) _item2:Vanguard(9) _item2:VladmirOffering(7) _item3:AghanimScepter(9) _item3:ArcaneRing(9) _item3:Bottle(9) _item3:Bracer(9) _item3:MantaStyle(9) _item3:PowerTreads(7) _item3:RingOfRegeneration(9) _item3:WraithBand(9) _item4:BattleFury(9) _item4:BootsOfTravel(9) _item4:Bracer(9) _item4:Butterfly(8) _item4:HeartOfTarrasque(7) _item4:MonkeyKingBar(9) _item4:RingOfBasilius(9) _item5:Bracer(8) _item5:DaggerOfEscape(9) _item5:HelmOfDominator(9) _item5:HyperStone(9) _item5:Perceverance(9) _item5:PowerTreads(9) _item5:RingOfRegeneration(9) _item5:VladmirOffering(9) _item5:WraithBand(9) _level<=21(6) _level<=25(4) _gold<=789(9) _gold<=2168(5) _gold<=14258(6) _kill<=3(8) _kill<=7(9) _kill<=25(3) _death<=2(5) _death<=5(6) _death<=25(9) _wards<=0 _towerKill<=0(8) _towerKill<=6(2) _towerDeny<=0 _creepKill<=74(6) _creepKill<=127(8) _creepKill<=466(6) _creepDeny<=0(8) _creepDeny<=8(3) _creepDeny<=56(9) _neutralKill<=4(8) _neutralKill<=23(8) _neutralKill<=213(4) _killGold<=780(7) _killGold<=2010(9) _killGold<=9430(4) _timeDead<=120(3) _timeDead<=260(7) _goldLost<=810(4) _goldLost<=1860(7) _goldLost<=12570(9) _consumables<=1(7) _consumables<=5(9) _consumables<=31(4) doubleKill<=7 _tripleKill<=1(9) _tripleKill<=4(6) _tripleKill<=25(5) : 10 Exemple de fichier XML utilisé par la base de données ,[object Object]
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA
Analyse statistique sur DOTA

Contenu connexe

En vedette

Nicolas maurice - Pefecture de police de Paris
Nicolas maurice - Pefecture de police de ParisNicolas maurice - Pefecture de police de Paris
Nicolas maurice - Pefecture de police de ParisCap'Com
 
La veille de Red Guy du 16.01.13 - le consumer electronics show
La veille de Red Guy du 16.01.13 - le consumer electronics showLa veille de Red Guy du 16.01.13 - le consumer electronics show
La veille de Red Guy du 16.01.13 - le consumer electronics showRed Guy
 
Presentació Consell Comarcal "TIC & Turisme"
Presentació Consell Comarcal "TIC & Turisme"Presentació Consell Comarcal "TIC & Turisme"
Presentació Consell Comarcal "TIC & Turisme"Sandra Gard
 
Como se inicia el trabajo con clase nueva clasee2
Como se inicia el trabajo con clase nueva clasee2Como se inicia el trabajo con clase nueva clasee2
Como se inicia el trabajo con clase nueva clasee2Aannggeelliiccaa
 
Leyenda de Monte perdido
Leyenda de Monte perdidoLeyenda de Monte perdido
Leyenda de Monte perdidoanamirandi
 
Dia del amor y la amistad
Dia del amor y la amistadDia del amor y la amistad
Dia del amor y la amistadDani Alvarez
 
Numérique et projets urbains mise en perspective
Numérique et projets urbains mise en perspectiveNumérique et projets urbains mise en perspective
Numérique et projets urbains mise en perspectiveCap'Com
 
Le financement immobilier murabaha en 7 points !
Le financement immobilier murabaha en 7 points !Le financement immobilier murabaha en 7 points !
Le financement immobilier murabaha en 7 points !570 easi
 
fotografías de Evento Teleton 2010 gira Zona Norte en Iquique
fotografías de Evento Teleton 2010 gira Zona Norte en Iquiquefotografías de Evento Teleton 2010 gira Zona Norte en Iquique
fotografías de Evento Teleton 2010 gira Zona Norte en Iquiquemazarez
 
Collection o card-modèles
Collection o card-modèlesCollection o card-modèles
Collection o card-modèlesjeyx1986
 

En vedette (20)

Communiqué de presse Mois du Nouvel Arrivant 2013
Communiqué de presse Mois du Nouvel Arrivant 2013Communiqué de presse Mois du Nouvel Arrivant 2013
Communiqué de presse Mois du Nouvel Arrivant 2013
 
Nicolas maurice - Pefecture de police de Paris
Nicolas maurice - Pefecture de police de ParisNicolas maurice - Pefecture de police de Paris
Nicolas maurice - Pefecture de police de Paris
 
La veille de Red Guy du 16.01.13 - le consumer electronics show
La veille de Red Guy du 16.01.13 - le consumer electronics showLa veille de Red Guy du 16.01.13 - le consumer electronics show
La veille de Red Guy du 16.01.13 - le consumer electronics show
 
Abril2013
Abril2013Abril2013
Abril2013
 
Presentació Consell Comarcal "TIC & Turisme"
Presentació Consell Comarcal "TIC & Turisme"Presentació Consell Comarcal "TIC & Turisme"
Presentació Consell Comarcal "TIC & Turisme"
 
Entroido1
Entroido1Entroido1
Entroido1
 
Como se inicia el trabajo con clase nueva clasee2
Como se inicia el trabajo con clase nueva clasee2Como se inicia el trabajo con clase nueva clasee2
Como se inicia el trabajo con clase nueva clasee2
 
Porque te quejas ver.03
Porque te quejas ver.03Porque te quejas ver.03
Porque te quejas ver.03
 
Ccaa
CcaaCcaa
Ccaa
 
Maria jurado
Maria juradoMaria jurado
Maria jurado
 
Leyenda de Monte perdido
Leyenda de Monte perdidoLeyenda de Monte perdido
Leyenda de Monte perdido
 
Alimentacion perceptiva
Alimentacion perceptivaAlimentacion perceptiva
Alimentacion perceptiva
 
Dia del amor y la amistad
Dia del amor y la amistadDia del amor y la amistad
Dia del amor y la amistad
 
Jean-Charles Brisard
Jean-Charles BrisardJean-Charles Brisard
Jean-Charles Brisard
 
Numérique et projets urbains mise en perspective
Numérique et projets urbains mise en perspectiveNumérique et projets urbains mise en perspective
Numérique et projets urbains mise en perspective
 
Le financement immobilier murabaha en 7 points !
Le financement immobilier murabaha en 7 points !Le financement immobilier murabaha en 7 points !
Le financement immobilier murabaha en 7 points !
 
fotografías de Evento Teleton 2010 gira Zona Norte en Iquique
fotografías de Evento Teleton 2010 gira Zona Norte en Iquiquefotografías de Evento Teleton 2010 gira Zona Norte en Iquique
fotografías de Evento Teleton 2010 gira Zona Norte en Iquique
 
Lengua
LenguaLengua
Lengua
 
Collection o card-modèles
Collection o card-modèlesCollection o card-modèles
Collection o card-modèles
 
TAREA_5
TAREA_5TAREA_5
TAREA_5
 

Similaire à Analyse statistique sur DOTA

X-Analysis Professional - version française
X-Analysis Professional - version françaiseX-Analysis Professional - version française
X-Analysis Professional - version françaiseFresche Solutions
 
Stratégie et veille : Extraire et trier des données en ligne
Stratégie et veille : Extraire et trier des données en ligneStratégie et veille : Extraire et trier des données en ligne
Stratégie et veille : Extraire et trier des données en ligneErwan Tanguy
 
X-Analysis Professional - FR
X-Analysis Professional - FRX-Analysis Professional - FR
X-Analysis Professional - FRFresche Solutions
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) univalence
 
Infrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiInfrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiFrédéric FAURE
 
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...ATPENSC-Group
 
ASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSAASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSAFrédéric Sagez
 
Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)Badr Hakkari
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...Microsoft
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Spark Summit Europe Wrap Up and TASM State of the Community
Spark Summit Europe Wrap Up and TASM State of the CommunitySpark Summit Europe Wrap Up and TASM State of the Community
Spark Summit Europe Wrap Up and TASM State of the CommunityJean-Georges Perrin
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 

Similaire à Analyse statistique sur DOTA (20)

X-Analysis Professional - version française
X-Analysis Professional - version françaiseX-Analysis Professional - version française
X-Analysis Professional - version française
 
Stratégie et veille : Extraire et trier des données en ligne
Stratégie et veille : Extraire et trier des données en ligneStratégie et veille : Extraire et trier des données en ligne
Stratégie et veille : Extraire et trier des données en ligne
 
X-Analysis Professional - FR
X-Analysis Professional - FRX-Analysis Professional - FR
X-Analysis Professional - FR
 
Cours 01.pptx
Cours 01.pptxCours 01.pptx
Cours 01.pptx
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
iTunes Stats
iTunes StatsiTunes Stats
iTunes Stats
 
DART.pptx
DART.pptxDART.pptx
DART.pptx
 
Utc data publica1
Utc data publica1Utc data publica1
Utc data publica1
 
HTML5 en projet
HTML5 en projetHTML5 en projet
HTML5 en projet
 
Infrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiInfrastructure - Monitoring - Cacti
Infrastructure - Monitoring - Cacti
 
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
 
ASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSAASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSA
 
Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Spark Summit Europe Wrap Up and TASM State of the Community
Spark Summit Europe Wrap Up and TASM State of the CommunitySpark Summit Europe Wrap Up and TASM State of the Community
Spark Summit Europe Wrap Up and TASM State of the Community
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
CV_Bilel CHAOUADI
CV_Bilel CHAOUADICV_Bilel CHAOUADI
CV_Bilel CHAOUADI
 
XHL8
XHL8XHL8
XHL8
 

Plus de Banville Julien

Analyse statistique du jeu DOTA
Analyse statistique du jeu DOTAAnalyse statistique du jeu DOTA
Analyse statistique du jeu DOTABanville Julien
 
Création d'une plate-forme ouverte à l'enseignement à distance
Création d'une plate-forme ouverte à l'enseignement à distanceCréation d'une plate-forme ouverte à l'enseignement à distance
Création d'une plate-forme ouverte à l'enseignement à distanceBanville Julien
 

Plus de Banville Julien (7)

Analyse statistique du jeu DOTA
Analyse statistique du jeu DOTAAnalyse statistique du jeu DOTA
Analyse statistique du jeu DOTA
 
Rapport Tal Master 1
Rapport Tal Master 1Rapport Tal Master 1
Rapport Tal Master 1
 
Projet Music Brainz
Projet Music BrainzProjet Music Brainz
Projet Music Brainz
 
Music Brainz
Music BrainzMusic Brainz
Music Brainz
 
Recherche de citations
Recherche de citationsRecherche de citations
Recherche de citations
 
DOTA statistic analysis
DOTA statistic analysisDOTA statistic analysis
DOTA statistic analysis
 
Création d'une plate-forme ouverte à l'enseignement à distance
Création d'une plate-forme ouverte à l'enseignement à distanceCréation d'une plate-forme ouverte à l'enseignement à distance
Création d'une plate-forme ouverte à l'enseignement à distance
 

Analyse statistique sur DOTA

  • 1.