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 :

Projet jeu de plateau EscaT Game


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Ecole d'ingenieur
    Inscrit en
    Mai 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ecole d'ingenieur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2022
    Messages : 5
    Par défaut Projet jeu de plateau EscaT Game
    bonsoir,
    je suis en première année d’école d’ingénieur et j'ai donc un projet en langage python mais je ne sais vraiment pas comment le réaliser.
    Si quelqu'un a des conseille ou peut m'aider pour ce projet je serai très reconnaissant et je peux rémunérer a hauteur des moyen d'un étudient.
    ps: pas besoin d’interface il faut juste le jeux et les déplacement.
    merci d'avance.
    PythonProjetSujet.pdf

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut !

    Pas mal comme petit projet !

    Si tu connais un peu python ça ne me paraît pas si difficile, il te faudra par contre un peu de temps pour coder ça, tu dois rendre ça pour quand ?

    Le travail est en binôme, mais la note est individuelle : lors de la soutenance, vous devrez être capable de proposer à la volée des modifications cohérentes pour votre code sur demande du jury.
    Faut être vive d'esprit dites donc ! J'imagine qu'ils ne sont pas trop méchants et demandent juste de changer l'endroit du bassin ou ce genre de détails ?

    PySimpleGUI je ne connais pas, mais ça à l'air assez simple d'utilisation, ça te permettrait d'avoir 2 points en + là dessus...

    Bref, à ta place je prendrais les choses dans l'ordre :
    - Créer un tableau 2D
    - Faire de la POO pour les chats, le chaf, les robots et les gardiens (ex : chat1.pos = (x, y), chat1.mov = -1, ...)
    - Le remplir avec les objets ayant une position fixe au démarrage : chaf, chats, sorties, gardiens et bassin
    - Le remplir aléatoirement avec les robots autonomes en excluant les positions déjà occupées
    - Etablir un tuple des positions correspondant aux zones d'exclusions (bassin, lieu de "spawn" des chats) pour les robots et les gardiens
    - Etablir un tuple des positions correspondant à la zones d'exclusion (bassin) pour les chats et le chaf

    Côté déplacement :
    • Faut gérer le nombre de coups que chaque joueur à le droit de faire par tour,
    • Gérer le nombre de mouvement par chat/gardien, d'où l'utilité du chatx.mov par exemple, si le joueur qui contrôle les chats bouge le chat1 et si chat1.mov != numero_du_tour alors chat1.mov = numero_du_tour ...
    • Gérer les évènements : Si gardien.pos == chat.pos alors ... Si gardien.pos == robot.pos alors ... etc, etc.
    • Gérer les collisions avec les parois et les zones d'exclusions précédemment renseignées (dans les tuples)
    • Gérer les mouvements des robots automatiques

    Bref je ne suis pas sûr d'apporter grand chose à l'énoncé...

    A bientôt et bon courage !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ecole d'ingenieur
    Inscrit en
    Mai 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ecole d'ingenieur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2022
    Messages : 5
    Par défaut
    salut,
    le projet sur papier est plus complique que ce que je veux faire je vais simplement faire un tableau avec des lettre qui ce déplace mais je suis vraiment mauvais en python et j'ai un délais un peux réduit. j'ai également des examen et un binôme qui ne travaille plus c'est pour cela que je suis un peux bloque.
    j'ai un début mais pas trop le temps de le finir.
    mais merci des quelque conseils.

  4. #4
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    @antoine: L'énoncé ne nous dit pas quelles sont les difficultés que tu rencontres...
    Aussi montre nous le code que tu as écrit et formule où tu bloques pour que nous puissions t'aider d'avantage.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ecole d'ingenieur
    Inscrit en
    Mai 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ecole d'ingenieur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2022
    Messages : 5
    Par défaut
    bonjour,
    voici ce que j'ai déjà fais. Ce qui me pose le plus de problème est le déplacement des robots qui doit être aléatoire sans quitter le tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    from random import *
     
     
    # creation du tableau 11*11
    Taille_grille = 11
     
    def tab(Taille_grille):
        tableau = [["0"]* Taille_grille for i in range(Taille_grille)]
     
     
        #positionnement éléments
        tableau[0][5]="S"
        tableau[4][0]="S"
        tableau[4][10]="S"    #positionnement sorties
     
        tableau[1][2]="W"     #positionnement gardiens
        tableau[1][8]="W"
     
        tableau[2][4]="B"
        tableau[2][5]="B"
        tableau[2][6]="B"     #positionnement bassin
        tableau[3][4]="B"
        tableau[3][5]="B"
        tableau[3][6]="B"
     
        tableau[8][4]="C"
        tableau[8][5]="C"
        tableau[8][6]="C"
        tableau[9][3]="C"
        tableau[9][4]="C"      #positionnement chats
        tableau[9][5]="C"
        tableau[9][6]="C"
        tableau[9][7]="C"
        tableau[10][3]="C"
        tableau[10][4]="C"
        tableau[10][5]="C"
        tableau[10][6]="C"
        tableau[10][7]="C"
     
        tableau[7][5]="ç"      # positionnement chaf 
     
        # positionnement des robots
        a= randint(0,len(tableau)-1)
        b= randint(0,len(tableau)-1)
     
        for i in range (9):
            a=randint(0,len(tableau)-1)
            b=randint(0,len(tableau)-1)
     
            while tableau[a][b]!="0":
                 a=randint(0,len(tableau)-1)
                 b=randint(0,len(tableau)-1)
            tableau[a][b]='R'
     
     
        #affichage de tableau ligne par ligne
        for i in range (len(tableau)):
            print (tableau[i])
        return tableau
     
    #choix du chat    
    def depchats(tab):
     
        for i in range (0,1):
            print ("quel chat déplacez vous ?")
            x=int(input("la coordonéée verticale = "))
            y=int(input("la coordonée horizontale ="))
            z=int(input("bas gauche (1), bas (2), bas droite (3), gauche (4), droite (6), haut gauche (7), haut (8), haut droite (9)"))
     
           # print(tab[x][y])
     
            if tab[x][y]=='C':
                if z == 1 and tab[x+1][y-1] == "0":
                    tab[x+1][y-1]="C"
                    tab[x][y]="0"
     
                else:
                    print ("pas possible")
     
                if z==2 and tab[x+1][y] =="0":
                    tab[x+1][y]="C"
                    tab[x][y]="0"
     
                else:
                    print ("pas possible")
     
                if z==3 and tab[x+1][y+1] =="0":
                    tab[x+1][y+1]="C"
                    tab[x][y]="0"
                else:
                        print ("pas possible")
     
                if z==4 and tab[x][y-1] =="0":
                    tab[x][y-1]="C"
                    tab[x][y]="0"
                else:
                        print ("pas possible")
     
                if z==6 and  tab[x][y+1]=="0":
                    tab[x][y+1]="C"
                    tab[x][y]="0"
                else:
                        print ("pas possible")
     
                if z==7 and  tab[x-1][y-1]=="0":
                     tab[x-1][y-1]="C"
                     tab[x][y]="0"
                else:
                         print ("pas possible")
     
                if z==8 and  tab[x-1][y]=="0":
                    tab[x-1][y]="C"
                    tab[x][y]="0"
                else:
                        print ("pas possible")
     
                if z==9 and  tab[x-1][y+1]=="0":
                    tab[x-1][y+1]="C"
                    tab[x][y]="0"
                else:
                        print ("pas possible")
     
        return tab            
     
    tableau = tab(Taille_grille)
    depchats(tableau)
     
    print(tableau)

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 837
    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 837
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par antoine43211234 Voir le message
    voici ce que j'ai déjà fait.
    Déjà on met son code entre balises "code". Tu te serais promené dans le forum histoire de montrer qu'il t'intéresse et que tu ne le considères pas comme un pool de codeurs prêts à te faire ton boulot tu l'aurai vu. Accessoirement c'est érit dans les règles. Tu le sais qu'en Python on structure son algo sur les tabulations. Tu trouves ton code lisible? T'es-tu seulement relu après avoir posté???
    Et c'est donc aussi écrit dans ces mêmes règles qu'on n'est pas là pour te faire ton boulot, même en étant payés pour ça. Franchement si tu penses que le boulot d'ingénieur en informatique c'est de déléguer ce qu'on te donne à faire vaut mieux que tu changes de voie tout de suite.

    Citation Envoyé par antoine43211234 Voir le message
    Ce qui me pose le plus de problème est le déplacement des robots qui doit être aléatoire sans quitter le tableau.
    Si ce n'est que ça... Tu connais la position du robot. Donc te suffit de boucler sur un déplacement hypothétique et tant que ce déplacement te fait sortir le robot du plateau tu recommences. Et quand tu quittes la boucle le déplacement hypothétique devient le déplacement réel du robot.

    Sauf que malheureusement tu ne connais pas la position du robot. Parce que tu as codé à l'envers. Tu es parti du plateau de jeu et tu lui as placé les robots, les chats, les gardiens etc. Et arrivé à la fin, tu ne peux pas gérer tes pions parce que tu n'as pas de pions, tu as juste un plateau contenant des lettres. Tu as pris l'affichage comme support du jeu alors qu'en réalité il n'en est que la visualisation.

    En effet, en programmation la phase "affichage" n'est qu'un détail. Il se fait à l'écran mais il pourrait se faire sur une imprimante, sur un réseau, sur une tablette tactile. L'écran n'est qu'un support.
    Ce qu'il te faut faire c'est
    • un objet "chat"
    • un objet "robot"
    • un objet "gardien"
    • un objet "obstacle"

    Chaque objet aura comme attributs une position X et Y. Tu pourrais même faire un objet "pion" contenant le minimum commun à tous ces éléments et faire hériter tous les autres objets de cet objet "pion". Ensuite lors des tours de jeu tu déplaces ces différents objets en modifiant leur X et/ou Y en gérant les intéractions. Et enfin seulement à la fin tu les affiches sur ton plateau.

    Citation Envoyé par LeNarvalo Voir le message
    PySimpleGUI je ne connais pas, mais ça à l'air assez simple d'utilisation,
    C'est une IHM très minimaliste. Un peu style Qt mais en plus simple (et donc moins riche) Ou style tk mais en plus joli.

    Citation Envoyé par LeNarvalo Voir le message
    Faire de la POO pour les chats, le chaf, les robots et les gardiens (ex : chat1.pos = (x, y), chat1.mov = -1, ...)
    Le chaf n'est qu'un chat un peu particulier. Suffit d'inclure la particularité comme booléen "est/n'est pas" dans l'objet "chat". Et franchement chat1 chat2... ça sert à quoi les listes???

    Citation Envoyé par LeNarvalo Voir le message
    Bref je ne suis pas sûr d'apporter grand chose à l'énoncé...
    Sisi, c'est exactement ça qu'il faut faire. Partir des objets du jeu, les faire bouger et les afficher à la fin.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Besoin d'aide pour projet ISN: jeu de plateau
    Par Stilishh dans le forum Programmation multimédia/Jeux
    Réponses: 4
    Dernier message: 17/05/2014, 07h39
  2. AIDE[PROJET] Jeu de plateau (langage C)
    Par thecabbages dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 26/01/2009, 09h40
  3. Projet jeu de plateau, demande d'aide
    Par Fullmetal82 dans le forum Projets
    Réponses: 1
    Dernier message: 24/06/2007, 00h58
  4. [GUI]jeu de plateau
    Par le Daoud dans le forum Interfaces Graphiques en Java
    Réponses: 11
    Dernier message: 31/08/2005, 13h38

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