IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Developpement logiciel pour le jeu de "Pente".


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Developpement logiciel pour le jeu de "Pente".
    Bonjour,
    je souhaiterais développer une application me permettant d'effectuer des statistiques sur les coups joués au jeu de "Pente" (le but de ce jeu est d'aligner 5 pierres ou d'en capturer 5 paires). Pour ce faire j'ai récupéré à peu près 300 fichiers textes au format DSG (exploitables avec le bloc note de windows). Ma question est la suivante: est ce que Python permet l'exploitation de ces fichiers? Une base de donnée est-elle obligatoire?
    Il va de soi que je suis debutant en programmation (j'apprens le langage Python qui me parrait le plus abordable)...Mon application doit etre la plus simple possible: exemple sur 100 parties, quel est le deuxième coup le plus joué....le troisième....etc. le tout dans une application graphique.
    Je vous remercie par avance pour les explications que vous me donnerez.

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 396
    Points
    396
    Par défaut
    Je ne connais pas l'extension ".dsg", mais si tu l'ouvre avec un éditeur de texte, alors je suppose que c'est un fichier texte, donc il doit se traiter comme un fichier texte.
    Je te conseille de continuer ton apprentissage de Python et forcement tu aborderas le traitement de ce type de fichier. Il ne faut pas aller plus vite que la musique.

    Oui, Python peut traiter des fichiers textes puisque c'est un langage de programmation.
    Non, une base de données n'est pas obligatoire, tout dépend du volume et de l'organisation de tes informations.

    Avant de faire une application graphique, fait là en version console, tu apprendras plus et mieux en allant petit à petit.

    Bon courage

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre reponse, j'ai déjà bien commencé l' apprentissage de python (grâce à Plongez au coeur de python)...je pense avoir les notions de base. Mon souci est le suivant: à part l'extension dsg (data storage games...je suppose), je n'ai pas autre chose, je peux certes convertir tous mes fichiers en .txt mais j'en suis à une collection de à peu près 2000 fichiers au format .dsg .
    Pour pouvoir effectuer des statistiques des coups les plus joués, il me faut une interface graphique obligatoire pour visualiser ,les ouvertures de ce jeu, les avantages et inconvénients des coups joués et ainsi effectuer une bonne analyse et synthèse de ce formidable jeu de stratégie abstraite....
    Si je joins des exemples de fichier, calà pourra t il vous aider?
    merci pour votre patience, cordialement.

  4. #4
    Membre actif Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 209
    Points
    209
    Par défaut
    Tu es un pur Windowsien, non?

    l'extension de ton fichier ne sert qu'à aider windows à deviner avec quel logiciel il va ouvrir ton fichier si tu double clique dessus (je suis un peu réducteur, mais bon).

    Peut importe que ce soit "txt", "log", "err" ou "dsg", si c'est un fichier "texte" (que tu peux ouvrir avec notepad ou n'importe quel autre éditeur de texte) tu peux le manipuler avec Python sans aucun problème.

    Si j'ai bien compris ton programme, à partir d'un stock de nombreux fichiers, tu vas en sortir des stats.

    Donc fonctionnement tu vas ouvrir (ton logiciel) un par un tout tes fichier, en extraire les donné qui t'intéresse, refermer tes fichier, mouliner les données extraites et obtenir tes stats.
    Après tu passe à la phase 2, pas trop difficile en python : l'affichage de tes résultats.

    Si tu dois stocker ces résultats quelque part, plutôt que gérer un BDD tu pourras écrire ton propre fichier (texte) de résultats (qui pourra pourtant avoir une extension ".res")... que tu réouvrira à chaque nouvelle utilisation...

    Je ne sais que te dire de plus. L'extraction de donner avec python c'est facile, ça se gère bien ligne par ligne. Après l'exploitation de ces données, ça dépend de ce que tu veux en faire.

    Bon courage.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre réponse!

    Non, je ne suis pas un pur Windowsien, je tourne aussi sous Ubuntu ,OS avec lequel je compte developper mon application et là est le probleme :il ne reconnait pas cette extension de fichier, ou alors je ne sais pas faire sous Linux.......
    Ensuite renommer + de 2000 fichiers, c'est plutot long non? C'est pourquoi, je voulais conserver cette extension de fichier exemple "000000.dsg".
    Si, je n'ai pas le choix alors , je vais les renommer....., en tout merci pour les réponses....

  6. #6
    Membre actif Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 209
    Points
    209
    Par défaut
    Je crois qu'on ne se comprends pas.

    Tu n'as besoin de rien renommer du tout.

    Si ça marche en renommant, alors ça marchera sans !!!

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    le .dsg est anecdotique considère le comme un fichier texte quelconque, si c'est vraiment un fichier texte (quelque soit son extension) ouvre le simplement avec ton éditeur de texte habituel et traite le simplement.

  8. #8
    Membre actif Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 209
    Points
    209
    Par défaut
    Si j'ai bien compris, tu veux que ton programme python ouvre et analyse tes 200 fichiers, c'est ça?

    Fichiers que tu arrive à ouvrir et lire avec notepad, donc des fichiers textes.

    Pour ouvrir un tel fichier, il faut faire un truc dans ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #ouverture du fichier
    pp_file = open("toto.dsg")
    #extraction des données de ton fichiers sous forme de tableaux de chaine de caractère (une ligne du fichier = une chaine du tableau)
    lst_Liste_Lignes = pp_file.readlines()
    #fermeture du fichier, tu travailleras à partir du tableau de lignes
    pp_file.close()
     
    #exemple de traitement (bidon) de tes lignes
    for int_Num_Ligne in lst_Liste_Lignes:
        if re.search('RAZ',lst_Liste_Lignes[int_Num_Ligne]):#si ta ligne contient le bout de chaine 'RAZ'
            t_Words = string.split(lst_Liste_Lignes[int_Num_Ligne]," ") #alors on met dans un nouveau tableau tous les mots de ta lignes, ie tous les bouts de chaine séparés par un espace
            str_Nom_Joueur = t_Words[0]# on met dans la variable "str_Nom_Joueur " le premier "mot" extrait, pour une utilisation ultérieur
            str_Score_Joueur = t_Words[1]# on met dans la variable "str_Score_Joueur" le premier "mot" extrait, pour une utilisation ultérieur
    cet exemple est tapé en live et ne correspond à rien de particulier.

    Edit :

    PS : si tu as tes 200 fichiers au même endroit, pour les traiter à la chaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    l_Ls = os.listdir(os.getcwd()+"/dsg") #en supposant qu'ils soient dans un sous-dossier "dsg" de ton dossier courant, cette commande fait un ls, ou un dir, du dit dossier
    for i in range(len(l_Ls)):
        if re.search(".dsg",l_Ls[i]):
            #ton traitement (via une fonction?)

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci, pour vos réponses.

    Je me permets de vous joindre ce que je souhaite obtenir avec mon prog:

    But:

    • Obtenir les statistiques des coups joués
    • faire une bibliothèque d'ouvertures (comme aux échecs)
    • bien entendu, les intégrer dans l'application
    • Placer à chaque ouverture, le premier pion en K10 (position sur le plateau
    • Puis positionner les coups suivants


    encore merci: je poste dans le forum avec une image de mon application au cas où....
    Images attachées Images attachées  

  10. #10
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 720
    Points : 31 042
    Points
    31 042
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Shredermann Voir le message
    Bonjour et merci, pour vos réponses.

    Je me permets de vous joindre ce que je souhaite obtenir avec mon prog:

    But:

    • Obtenir les statistiques des coups joués
    • faire une bibliothèque d'ouvertures (comme aux échecs)
    • bien entendu, les intégrer dans l'application
    • Placer à chaque ouverture, le premier pion en K10 (position sur le plateau
    • Puis positionner les coups suivants


    encore merci: je poste dans le forum avec une image de mon application au cas où....
    Hum... pour un débutant tu pars sur une tâche assez difficile
    Tu vas devoir gérer 2 problèmes
    1) la récupération + traitement des infos
    2) l'affichage de ces infos

    Pour le problème n° 1 il s'agit de simple traitement. Tu fais tes moulinettes, tes calculs. Tu utilises des tableaux, des listes, etc
    Pour le problème n° 2, il va te falloir trouver une librairie qui te permette d'afficher tes résultats à l'écran sous forme graphique. Je te conseillerai d'aller voir là http://wiki.python.org/moin/NumericA...tific/Plotting

    Les habitués de programmation ont l'habitude de découper ce genre de travail en 3 parties modèles, vues, controleurs
    - la partie modèle modélise les infos et la stocke en mémoire
    - la partie vue permet d'afficher ces infos au moyen d'un outil quelconque
    - la partie controleur effectue l'analyse et les calculs
    Ce genre de découpage offre une souplesse dans l'évolution. Si la librairie d'affichage que tu utilises ne te plait plus, tu peux en changer facilement.

    Bon courage...

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci, je rentre juste de vacances.....merci pour ta réponse: j'ai déjà decoupé le travail en 2 parties.
    -la partie graphique que j'ai déssiné.
    -le tableau pour les statistiques.

    je posterais à nouveau dans ce forum quand j'aurais bien avancé...

    En tout cas merci tout le monde pour votre aide...

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/11/2007, 18h06
  2. JBuilder ou eclipse pour developpement logiciel ?
    Par noOneIsInnocent dans le forum Eclipse
    Réponses: 15
    Dernier message: 12/04/2004, 14h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo