Aller au contenu


Photo

Mini - Projet de Python (1ADS) : trois petits jeux de stratégie

Python algorithmique jeux de stratégie jeux combinatoires abstraits

  • Veuillez vous connecter pour répondre
51 réponses à ce sujet

#1 Laurent GODEFROY

Laurent GODEFROY

    Member

  • Full Professors
  • 270 messages
  • LocationTours (37)

Posté 28 octobre 2016 - 03:19

Bonjour,

 

 

Ce fil de discussion est créé pour que vous puissiez échanger autour de votre mini-projet de Python. Il concerne la programmation de trois petits jeux de stratégie.

Vous avez plus de quatre semaines pleines pour réaliser vos codes, et ce individuellement. 

 

Bon courage à vous !



#2 Audric LAMY

Audric LAMY

    Newbie

  • Étudiant
  • Pip
  • 2 messages
  • LocationRéunion
  • Cursus:A.Sc.1

Posté 30 octobre 2016 - 05:08

Bonjour,

 

Puis-je utilisé les modules et fonctions de la librairie standard de python histoire de factorisé un peu mon code et de ne pas recréer ce qui existe déjà? 

 

Cordialement 



#3 Benjamin LABASTIE

Benjamin LABASTIE

    Member

  • Étudiant
  • PipPip
  • 184 messages
  • LocationCaen
  • Cursus:M.Sc.1

Posté 30 octobre 2016 - 09:07

Bonjour,

 

Puis-je utilisé les modules et fonctions de la librairie standard de python histoire de factorisé un peu mon code et de ne pas recréer ce qui existe déjà? 

 

Cordialement 

 

 

Bonjour,

 

Comme un post similaire au tien avait déjà été créé, je me permets de t'indiquer une réponse déjà apportée par Laurent GODEFROY, en supposant bien entendu que ses attentes soient toujours identiques :

 

Quand on apprend il faut accepter de réinventer la roue parfois.

 

Cordialement,


                  Benjamin LABASTIE
              M.Sc.1 Campus de CAEN

UXDcvH9.png


#4 Gaëtan DEBU

Gaëtan DEBU

    Newbie

  • Étudiant
  • Pip
  • 2 messages
  • Cursus:A.Sc.1

Posté 01 novembre 2016 - 05:40

Bonjour, j'aurais aimé savoir si la fonction newBoard et obligé de retourné une liste ?



#5 Laurent GODEFROY

Laurent GODEFROY

    Member

  • Full Professors
  • 270 messages
  • LocationTours (37)

Posté 02 novembre 2016 - 11:01

Bonjour Gaëtan,

 

oui c'est son rôle.



#6 Theo ARGENTAIS

Theo ARGENTAIS

    Newbie

  • Étudiant
  • Pip
  • 3 messages
  • Cursus:A.Sc.1

Posté 03 novembre 2016 - 07:52

Bonjour,

 

Dans la premiere partie la phrase " On supposera qu’il en existe un, on ne testera pas ce fait ici. " signifie qu'il faut le gérer dans une fonction externe ou qu'elle n'est pas a gérer.

Quand a toutes les erreurs dans chacun des exercices possible tel que les caractères non autorisé (a,b , * %, ...), int qui sort du tableau, etc faut ils les gérer toutes ou seulement si elles sont explicitement demandées dans le sujet et considéré que les entrée sont correct?



#7 Laurent GODEFROY

Laurent GODEFROY

    Member

  • Full Professors
  • 270 messages
  • LocationTours (37)

Posté 04 novembre 2016 - 09:32

Bonjour Théo,

 

Dans la premiere partie la phrase " On supposera qu’il en existe un, on ne testera pas ce fait ici. " signifie qu'il faut le gérer dans une fonction externe ou qu'elle n'est pas a gérer.

 

 

Il faudra bien sûr gérer cela avec une fonction dédiée. Rappelons d'ailleurs que vous avez le droit de rajouter des sous-programmes si cela est pertinent. Mais ce test sera effectué en amont de l'appel de la fonction "selectPawn".

 

 

Quand a toutes les erreurs dans chacun des exercices possible tel que les caractères non autorisé (a,b , * %, ...), int qui sort du tableau, etc faut ils les gérer toutes ou seulement si elles sont explicitement demandées dans le sujet et considéré que les entrée sont correct?

 

On ne s'occupera pas des saisies de caractères spéciaux ou lettres. On vérifiera juste que les entiers saisis sont cohérents vis-à-vis des dimensions du plateau et des règles du jeu.



#8 Jori STEIN

Jori STEIN

    Newbie

  • Étudiant
  • Pip
  • 2 messages
  • Cursus:A.Sc.1

Posté 04 novembre 2016 - 06:32

Bonjour,

 

j'ai une question sur l'exemple donné du troisième jeux: 

 

Rappel: on nous dit que pour poser un pion il faut que se soit "sur une case vide du plateau de telle sorte que pour cette case le nombre de pions adjacents de l’adversaire (orthogonalement ou en diagonale) présents sur le plateau soit inférieur ou égal au nombre de pions adjacents du joueur. "

 

L'exemple nous montre les endroits auquel le joueur peux poser son pion, comme on peut voir sur l'image ci-dessous:

 

                                             Capture_d_e_cran_2016_11_04_18_18_05.png

 

 

Je ne comprend pas pourquoi, la case tout en bas à gauche n'est pas jaune ? Car il n'y a aucun pion blanc adjacent verticalement, horizontalement ni en diagonale.

Es-ce une erreur d'énoncé, ou es-je mal compris le jeux ?

(On retrouve la même choses dans le même exemple, au le troisième tour du joueur noir)

 

Merci d'avance,

cordialement



#9 Isaac NAHMIAS

Isaac NAHMIAS

    Newbie

  • Étudiant
  • Pip
  • 4 messages
  • Cursus:A.Sc.1

Posté 05 novembre 2016 - 11:04

Bonjour,

 

J'aimerais savoir s'il est possible dans l'affichage d'une liste, par exemple : [['x', 'x', 'x', 'x']] de supprimer les guillemets, les brackets et les virgules de telle sorte à ce que la liste s'affiche comme cela : x x x x ?

 

Merci d'avance,

Cordialement.



#10 Romain BÉNAT

Romain BÉNAT

    Newbie

  • Étudiant
  • Pip
  • 4 messages
  • Cursus:A.Sc.2

Posté 06 novembre 2016 - 04:29

Bonjour,

 

Une question indiscrete, doit-t-on imposer une comptabilité avec tout les OS/consoles ?

 

Bonne journée !



#11 Jori STEIN

Jori STEIN

    Newbie

  • Étudiant
  • Pip
  • 2 messages
  • Cursus:A.Sc.1

Posté 06 novembre 2016 - 05:30

Bonjour Isaac,

 

je ne sais pas si tu a fait exprès de mettre deux fois des crochets (a-tu voulue faire un tableau a double dimension ?)

Je suppose que tu a fait print ( tab )

Essaye plutôt avec un for in, exemple:

 

Pour un tableau a une diemsions:

 

Supposons que ta liste s'appel tab = ['x', 'x', 'x', 'x'], et n = 4 le nombre d'element dans la liste.

 

for i in range( n ):

    print ( tab[ i ], " ", end="" )

 

le end="" permet d'empêcher le retour à la ligne pour pouvoir afficher sur la même ligne

 

Pour un tableau a deux dimensions:

 

Supposons que ta liste s'appel tab = [ ['x', 'x'], ['x', 'x'], ['x', 'x'] ].

 

C'est la même choses, sauf avec un double for:

for ... in ... :

    for ... in ... :

        print ( tab[ ... ] [ ... ], " ", end="" )

    print('') #Cela permet de faire le retour à la ligne

 

je te laisse compléter, je ne sais pas si j'ai le droit de donner la réponse ici  :rolleyes:



#12 Laurent GODEFROY

Laurent GODEFROY

    Member

  • Full Professors
  • 270 messages
  • LocationTours (37)

Posté 07 novembre 2016 - 10:01

Bonjour,

 

@Joris : tu as raison le second joueur peut poser un pion sur la case en bas à gauche. Coquille de ma part, mes excuses.

 

@Isaac : la réponse de Joris est correcte, et effectivement comme il le mentionne il ne peut en dire plus.

 

@Romain : utilise la fonction "print" et réalise des affichages simples, cela fonctionnera partout.



#13 Romain CARUANA

Romain CARUANA

    Newbie

  • Étudiant
  • Pip
  • 4 messages
  • Cursus:A.Sc.1

Posté 07 novembre 2016 - 02:32

Bonjour, j'ai une question, sommes nous obligé de nous tenir à ce qu'il y a marqué dans le Word concernant la façon de coder, par exemple avec l'utilisation d'une fonction newBoard(n,p) ? Est ce que l'on peut passer par un autre moyen tant que cela fonctionne?



#14 Laurent GODEFROY

Laurent GODEFROY

    Member

  • Full Professors
  • 270 messages
  • LocationTours (37)

Posté 07 novembre 2016 - 04:06

Bonjour Romain,

 

Oui il faut respecter la structure demandée. C'est d'ailleurs la plus simple.



#15 Gaëtan DEBU

Gaëtan DEBU

    Newbie

  • Étudiant
  • Pip
  • 2 messages
  • Cursus:A.Sc.1

Posté 08 novembre 2016 - 02:20

Bonjour, j'aurais voulu savoir pour le premier mini-jeux, si c'est le joueur qui choisi la taille de la grille ou si on peut lui imposé une taille (toujours en respectant n>4)

 



#16 Laurent GODEFROY

Laurent GODEFROY

    Member

  • Full Professors
  • 270 messages
  • LocationTours (37)

Posté 08 novembre 2016 - 03:13

Bonjour Gaëtan,

 

Comme mentionné dans le texte, les dimensions du plateau sont passées en paramètre à la procédure de jeu "breaktrough". Idem pour les autres jeux. Ton code doit donc fonctionner pour toutes les valeurs possibles.



#17 Audric LAMY

Audric LAMY

    Newbie

  • Étudiant
  • Pip
  • 2 messages
  • LocationRéunion
  • Cursus:A.Sc.1

Posté 09 novembre 2016 - 01:03

Bonjour,

 

Je ne vois absolument pas a quoi vont servir les fonctions newboard des 3 jeux, si j'ai bien compris je dois retourné une liste à 2 dimensions toute simple avec n lignes et p colonnes ?? Si c'est cela les fonctions newboard ne servent à rien. Si vous pouvais m'expliqué l'utilité des fonctions newboard svp

 

Cordialement 



#18 Laurent GODEFROY

Laurent GODEFROY

    Member

  • Full Professors
  • 270 messages
  • LocationTours (37)

Posté 09 novembre 2016 - 02:19

Bonjour Audric,

 

Les fonctions "newBoard" retournent en effet une liste bi-dimensionnelle représentant les plateaux de jeu. Avec les positions initiales des pions dans le cas du jeu "breaktrough".

 

 

 Si c'est cela les fonctions newboard ne servent à rien. 

 

Si justement, elles servent à faire ce qui est mentionné ci-dessus.



#19 Chedad R'GUEIBI

Chedad R'GUEIBI

    Newbie

  • Étudiant
  • Pip
  • 2 messages

Posté 10 novembre 2016 - 02:16

Bonjour,

Pour chaque jeu il y a deux versions, les deux versions doivent être dans le même fichier ou dans deux fichiers différents? 

Merci



#20 Reda BELKADI

Reda BELKADI

    Newbie

  • Étudiant
  • Pip
  • 7 messages
  • Cursus:A.Sc.2

Posté 10 novembre 2016 - 02:23

Bonjour, j'ai très souvent ce problème et je comprends pas d'où il peut venir, j'ai ce "none" qui s'affiche très souvent lorsque j'exécute mon programme, pouvez-vous m aider ? Dans l'exemple de cet image, il s agit des deux premières fonctions du premier exercice. Merci

252359none.png







Aussi étiqueté avec au moins un de ces mots-clés : Python, algorithmique, jeux de stratégie, jeux combinatoires abstraits

0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)