Besoin d'aide pour création d'un jeu Python
2loulous
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
tomsawyer1311 Messages postés 375 Date d'inscription Statut Membre Dernière intervention -
tomsawyer1311 Messages postés 375 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Nous sommes deux élèves en ISN et nous devons réaliser un jeu sur Python dont la règle est: "Réalisez un jeu dans lequel des formes carrées ou circulaires arrivent du fond de l’écran. Pour gagner un maximum de points, vous devez cliquer sur ces formes le plus vite possible, avec le bouton gauche pour les cercles et le droit pour les carrés."
Nous n'arrivons pas à faire apparaitre aléatoirement et à chaque clic de souris des ronds ou des carrés. Et il faut également qu'ils apparaissent aléatoirement dans la fenêtre.
Merci de votre aide
Nous sommes deux élèves en ISN et nous devons réaliser un jeu sur Python dont la règle est: "Réalisez un jeu dans lequel des formes carrées ou circulaires arrivent du fond de l’écran. Pour gagner un maximum de points, vous devez cliquer sur ces formes le plus vite possible, avec le bouton gauche pour les cercles et le droit pour les carrés."
Nous n'arrivons pas à faire apparaitre aléatoirement et à chaque clic de souris des ronds ou des carrés. Et il faut également qu'ils apparaissent aléatoirement dans la fenêtre.
Merci de votre aide
A voir également:
- Besoin d'aide pour création d'un jeu Python
- Creation compte gmail - Guide
- Création site web - Guide
- 94 jeu - Télécharger - Puzzle & Réflexion
- Création d'un compte google - Guide
- Citizen code python avis - Accueil - Outils
2 réponses
Bonsoir.
Présente le code déjà réalisé ;)
Faire apparaitre soit un carré, soit un rond, c'est simplement lier par exemple le chiffre 0 au carré et le 1 au rond, et avec random.randint, tirer un chiffre au sort.
En ce qui concerne le délai d'apparitions des formes, il faut spécifier la bibliothèque graphique utilisée.
Présente le code déjà réalisé ;)
Faire apparaitre soit un carré, soit un rond, c'est simplement lier par exemple le chiffre 0 au carré et le 1 au rond, et avec random.randint, tirer un chiffre au sort.
En ce qui concerne le délai d'apparitions des formes, il faut spécifier la bibliothèque graphique utilisée.
Mais à partir de "can2" le programme ne marche plus. Donc on a essayé de continuer avec une nouvelle page de code où notre Canvas marche.
Notre autre page de code :
D'autant que la boucle événementielle (mainloop) n'a été lancée sur aucune des 3.
Tu devrais déjà faire une simple fenêtre et un canvas, les considérations de fenêtres secondaires passent bien après avoir créé le coeur même de ton jeu.
Donc d'abord au plus simple, créer une fenêtre et un canvas.
Ensuite il faut créer une fonction permettant de créer une forme aléatoire (parmi le cercle et rectangle) à une coordonnée aléatoire sur le canvas.
Puis relier un événement clic sur le canvas, pour le moment le clic fera apparaitre les formes au lieu de les détruire.
Soit au plus simple :
Si tu arrives déjà à créer un cercle ou carré sur la coordonnée du clic tu auras déjà bien avancé.
Il viendra alors le temps de faire apparaitre les formes automatiquement.
Hum, après relecture de ton sujet, je ne sais pas si le clic joueur doit faire disparaitre les formes cliquées ?
J'ai essayé d'écrire la fonction mais je ne vois pas comment l'associer au clic de souris avec les coordonnées.
- Nomme tes fonctions décemment, carre devrait se nommer creer_carre, pareillement pour rond. D'autant que tu crées 2 variables avec pour noms carre et rond en fin de code, ce qui écrase tes 2 fonctions.
- Ces 2 fonctions doivent recevoir 2 paramètres x et y.
- choice n'existe pas, choice fait partie du module random, donc pour faire appel à cette fonction on écrit random.choice
- random.choice tout comme les autres fonctions du module random retourne une valeur qu'il faut récupérer (affecter à une variable).
- Sauf que random.choice n'a pas d'intérêt ici, random.randint est plus approprié pour tirer un nombre au hasard.
Voici à quoi ton code devrait ressembler.
Autre chose, tu ne dois rien mettre après , tout code situé après le mainloop ne sera exécuté qu'après fermeture de la fenêtre.