Un projet basé sur le jeu de billes de Squid Game
Sommaire
Jeu des billes Squid Game
Présentation
Notre projet repose sur les consignes et conseils que nos professeurs de spécialité NSI nous ont donnés. Nous avons fait le choix du jeu des billes dans Squid Game puisque nous avons adoré cette série et que c’est un jeu qui nous semblait intéressant à développer en python.
Règles du Jeu
Pour cela nous allons tout d’abord faire une brève explication des règles du jeu : Les joueurs doivent deviner combien l’autre joueur à de billes dans la main, si le nombre est pair ou impair. Ils misent un nombre de billes de leur choix. S’il gagne, il remporte une partie des billes de l’adversaire, alors que s’il perd il doit lui donner une partie des siennes, que la personne a misé. Le premier qui n’a plus de billes a perdu la partie.
Extrait de l’épisode
Explication des lignes de code
L’importation du module random
from random import randint
Le module random est un module qui regroupe des fonctions permettant de simuler le hasard. Si nous avons fait le choix de ce module c’est qu’il est indispensable dans notre jeu car l’ordinateur doit faire diffèrent choix. Grâce à ce module il est fait donc au hasard.
Définition du nombre de bille de l’ordinateur et du joueur
nb_bille = [10, 10]
Création d’un tuple dans le but de définir les nombres de billes du joueur et de l’ordinateur
Le choix du jeu et de la mise de l’ordinateur
def choix_mise_ordi(): # Definie la mise de l'ordinateur print("A l'ordinateur de miser\nIl a miser") return randint(1, nb_bille[0]) def choix_jeu_ordi(): # Definie le choix du jeu de l'ordinateur print("A L'ordinateur de choisir\nIl a fait ses jeu") choix_jeu_comp = randint(1, nb_bille[0]) if choix_jeu_comp % 2 == 0: nb_comp = "pair" else: nb_comp = "impair"
Ici nous pouvons voir deux fonctions qui définissent la mise et le jeu de l’ordinateur qui se repose sur le module random.
Le choix du jeu et de la mise du joueur
def choix_mise_joueur(): # Definie le choix de la mise du joueur choix_mise = int(input("A vous de miser\nCombien voulez vous miser : "),nb_bille[1]) return choix_mise def choix_jeu_joueur(): choix_jeu = int(input("A vous de jouer\nCombien de bille voulez vous jouez : "),nb_bille[1]) return choix_jeu
Contrairement au script du dessus ici on va demander au joueur de rentrer sa mise et son jeu donc le module random n’est pas nécessaire.
Déduction du joueur et de l’ordinateur
ef deduction_joueur(): # Definie si le joueur pense que l'ordinateur a choisi un nombre pair ou impair choix_deduction = int(input("--- Selon vous l'ordinateur a choisi un nombre paire ou impaire ---\n""Tapez 0 si vous pensez que c'est un nombre pair et tapez 1 si vous penser que c'est un nombre impair\n""Votre choix : ")) if choix_deduction % 2 == 0: print("Vous avez tapé {0}, tu penses donc que l'ordinateur a choisi un nombre de bille pair".format(choix_deduction)) nb_gamer = "paire" else: print("{0} est Impair, donc tu penses qu'il a un nombre de bille impair".format(choix_deduction)) nb_gamer = "impair" return nb_gamer def deduction_ordi(): # Definie si l'ordinateur pense que le joueur a choisi un nombre pair ou impair choix_deduction = randint(1, nb_bille[0]) if choix_deduction % 2 == 0: nb_comp = "pair" else: nb_comp = "impair" return nb_comp
Ces fonctions nous permettent de définir les déductions du joueur et de l’ordinateur en fonction du jeu qu’ont fait ses derniers.
Résultat des jeux et incrémentation des points
def resultat_joueur(): deduction_gamer = deduction_joueur() choix_mise_gamer = choix_mise_joueur() choix_jeu_computer = choix_jeu_ordi() if deduction_gamer == choix_jeu_computer:# incrementation des billes de l'ordinateur vers le joueur print("Vous avez gagné, vous avez",nb_bille[1],"billes") nb_bille[1] += choix_mise_gamer nb_bille[0] -= choix_mise_gamer else: # incrementation des billes du joueur vers l'ordinateur print("Vous avez perdu, il vous reste",nb_bille[1],"billes") nb_bille[1] -= choix_mise_gamer nb_bille[0] += choix_mise_gamer def resultat_ordi(): deduction_comp = deduction_ordi() choix_mise_comp = choix_mise_ordi() choix_jeu_gamer = choix_jeu_joueur() if deduction_comp == choix_jeu_gamer: # incrementation des billes de l'ordinateur vers le joueur print("Vous avez perdu, il vous reste",nb_bille[1],"billes") nb_bille[0] += choix_jeu_gamer nb_bille[1] -= choix_jeu_gamer else: # incrementation des billes du joueur vers l'ordinateur print("Vous avez gagné, vous avez",nb_bille[1],"billes") nb_bille[0] -= choix_mise_comp nb_bille[1] += choix_mise_comp
Ces fonctions sont les fonctions finales de notre jeu, elles reprennent toutes les fonctions précédentes. De plus il y a l’incrémentation des points.
Les erreurs qu’on a pu faire
- Un mauvais choix de jeu dans un premier temps car nous voulons faire à la base le 1, 2, 3 soleil de Squid Game
- Une interface graphique Tkinter impossible à notre niveau et pas forcément utile pour notre jeu
Les changements qu’on a dû réaliser
- Changement de jeu pour un plus réalisable
- abandonner idée de l’interface avec Tkinter
- Se donner des rôles avec son binôme
Nos astuces
Notre première astuce est celle de regarder des vidéos sur YouTube dans le but de s’améliorer en python puisque nous ne sommes pas très fort.
La seconde est celle de rechercher quelques informations sur internet
Conclusion
Ce projet nous a permis d’apprendre beaucoup de choses dans des domaines différents, que l’on ne savait pas au préalable donc un grand merci a nos professeurs.
Cet article a été écrit par des élèves du lycée Louis Pasteur.
Ils étudiaient alors la spécialité NSI, en classe de 1ère.
Promotion 2021 – 2021