Outils pour utilisateurs

Outils du site


ateliers:robotique:echange_de_code

Ici on échange nos microdes

#include <SCServo.h>
SCServo SERVO;

#include <Servo.h>

Servo Servo_elevateur;
Servo Servo_planche_gauche;
Servo Servo_planche_droite;
Servo Servo_aimant_centre;
Servo Servo_aimant_lateraux;

int btn_elevateur_UP = 22;      // Broche 22 sur l'arduino mega
int btn_elevateur_DOWN = 23;    // Broche 23 sur l'arduino mega
int btn_aimant_centre = 24;     // Broche 24 sur l'arduino mega
int btn_aimant_lateraux = 25;   // Broche 25 sur l'arduino mega
int btn_planche = 26;           // Broche 26 sur l'arduino mega
// botons reset
int btn_RESET = 27;             // Broche 27 sur l'arduino mega
int btn_banniere = 28;          // Servo SCS15 - Broche 28 sur l'arduino mega 

boolean val_btn_elevateur_UP,
        val_btn_elevateur_DOWN,
        val_btn_aimant_centre,
        val_btn_aimant_lateraux,
        val_btn_planche,
        val_btn_banniere;

const int PWM2A = 11;     // Broche PWM du moteur M1
const int PWM2B = 3;      // Broche PWM du moteur M2
const int PWM0A = 6;      // Broche PWM du moteur M3
const int PWM0B = 5;      // Broche PWM du moteur M4
const int DIR_CLK = 4;    // Ligne d'horloge d'entrée de données
const int DIR_EN = 7;     // Broches d'activation du L293D
const int DATA = 8;       // Câble USB
const int DIR_LATCH = 12; // Horloge de verrouillage de la mémoire de sortie

const int Move_Forward = 39;      // Avancer
const int Move_Backward = 216;    // Reculer
const int Left_Move = 116;        // Translation vers la gauche
const int Right_Move = 139;       // Translation vers la droite
const int Right_Rotate = 149;     // Rotation à droite
const int Left_Rotate = 106;      // Rotation à gauche
const int Stop = 0;               // Arrêt
const int Upper_Left_Move = 36;   // Déplacement en haut à gauche
const int Upper_Right_Move = 3;   // Déplacement en haut à droite
const int Lower_Left_Move = 80;   // Déplacement en bas à gauche
const int Lower_Right_Move = 136; // Déplacement en bas à droite
const int Drift_Left = 20;        // Dérive vers la gauche
const int Drift_Right = 10;       // Dérive vers la droite

int Speed1 = 255; // Définir la vitesse par défaut entre 1 et 255
int Speed2 = 255; // Définir la vitesse par défaut entre 1 et 255
int Speed3 = 255; // Définir la vitesse par défaut entre 1 et 255
int Speed4 = 255; // Définir la vitesse par défaut entre 1 et 255

/******************JOYSTICK****************/
const int JOYSTICK_X_GAUCHE = A0;
const int JOYSTICK_Y_GAUCHE = A1;
const int JOYSTICK_X_DROIT = A2;
const int JOYSTICK_Y_DROIT = A3;
const int JOYSTICK_BUTTON_GAUCHE = 29;
const int JOYSTICK_BUTTON_DROIT = 30;

int X_GAUCHE = 0;
int Y_GAUCHE = 0;
int X_DROIT = 0;
int Y_DROIT = 0;

// Zone morte du joystick gauche
const int ZONE_MORTE = 150;
const int ZONE_MORT_CENTRE = 512;
const int VITESSE_MAX = 255;

void Motor(int Dir, int Speed1, int Speed2, int Speed3, int Speed4)
{
  analogWrite(PWM2A, Speed1); // Régulation de la vitesse du moteur par PWM
  analogWrite(PWM2B, Speed2); // Régulation de la vitesse du moteur par PWM
  analogWrite(PWM0A, Speed3); // Régulation de la vitesse du moteur par PWM
  analogWrite(PWM0B, Speed4); // Régulation de la vitesse du moteur par PWM

  digitalWrite(DIR_LATCH, LOW);           // DIR_LATCH passe au niveau bas et prépare l'écriture de la direction
  shiftOut(DATA, DIR_CLK, MSBFIRST, Dir); // Écriture de la valeur de direction Dir
  digitalWrite(DIR_LATCH, HIGH);          // DIR_LATCH passe au niveau haut et sort la direction
}


void setup() {
  //Serial.begin(9600);
  //******** SCS15 *******//
  Serial.begin(1000000);
  SERVO.pSerial = &Serial;
  SERVO.EnableTorque(0XFE, 1);
  //SERVO.EnableTorque(2, 1);
  
  // boutons
  pinMode(btn_elevateur_UP, INPUT_PULLUP);
  pinMode(btn_elevateur_DOWN, INPUT_PULLUP);
  pinMode(btn_aimant_centre, INPUT_PULLUP);
  pinMode(btn_aimant_lateraux, INPUT_PULLUP);
  pinMode(btn_planche, INPUT_PULLUP);
  pinMode(btn_RESET, INPUT_PULLUP);
  pinMode(btn_banniere, INPUT_PULLUP);

  // Joystick
  pinMode(DIR_CLK, OUTPUT);
  pinMode(DATA, OUTPUT);
  pinMode(DIR_EN, OUTPUT);
  pinMode(DIR_LATCH, OUTPUT);
  pinMode(PWM0B, OUTPUT);
  pinMode(PWM0A, OUTPUT);
  pinMode(PWM2A, OUTPUT);
  pinMode(PWM2B, OUTPUT);

  /******************JOYSTICK****************/
  pinMode(JOYSTICK_X_GAUCHE, INPUT);
  pinMode(JOYSTICK_Y_GAUCHE, INPUT);
  pinMode(JOYSTICK_X_DROIT, INPUT);
  pinMode(JOYSTICK_Y_DROIT, INPUT);
  pinMode(JOYSTICK_BUTTON_GAUCHE, INPUT_PULLUP);
  pinMode(JOYSTICK_BUTTON_DROIT, INPUT_PULLUP);

  // Servomoteurs
  Servo_elevateur.attach(54);         // Borhce 54 sur l'arduino mega
  Servo_planche_gauche.attach(53);   // Borhce 53 sur l'arduino mega
  Servo_planche_droite.attach(52);    // Borhce 52 sur l'arduino mega
  Servo_aimant_centre.attach(51);     // Borhce 51 sur l'arduino mega
  Servo_aimant_lateraux.attach(50);   // Borhce 50 sur l'arduino mega
  delay(10);
  Servo_elevateur.write(90);       // On arrête le servo
  Servo_planche_gauche.write(0);   // a redéfinir en fonction du calibrage
  Servo_planche_droite.write(180);   // a redéfinir en fonction du calibrage
  Servo_aimant_centre.write(0);    // a redéfinir en fonction du calibrage
  Servo_aimant_lateraux.write(0);  // a redéfinir en fonction du calibrage
  delay(500);
  
}

void loop() {
  // recupt valeurs boutons
  val_btn_elevateur_UP = digitalRead(btn_elevateur_UP);
  val_btn_elevateur_DOWN = digitalRead(btn_elevateur_DOWN);
  val_btn_aimant_centre = digitalRead(btn_aimant_centre);
  val_btn_aimant_lateraux = digitalRead(btn_aimant_lateraux);
  val_btn_planche = digitalRead(btn_planche);

  Serial.println(val_btn_elevateur_UP);

  // Lecture des valeurs des joysticks
  X_GAUCHE = analogRead(JOYSTICK_X_GAUCHE);
  Y_GAUCHE = analogRead(JOYSTICK_Y_GAUCHE);
  X_DROIT = analogRead(JOYSTICK_X_DROIT);
  Y_DROIT = analogRead(JOYSTICK_Y_DROIT);

  pose_banniere();

  // Calcul de la vitesse en fonction de la distance au centre
  int vitesse = 0;

  // Gestion des mouvements avec vitesse variable
  if (Y_GAUCHE < (ZONE_MORT_CENTRE - ZONE_MORTE)){
    // Avancer - Plus on pousse vers l'avant, plus la vitesse augmente
    vitesse = map(Y_GAUCHE, 0, ZONE_MORT_CENTRE - ZONE_MORTE, VITESSE_MAX, 0);
    Motor(Move_Forward, vitesse, vitesse, vitesse, vitesse);
  }
  else if (Y_GAUCHE > (ZONE_MORT_CENTRE + ZONE_MORTE)){
    // Reculer - Plus on tire vers l'arrière, plus la vitesse augmente
    vitesse = map(Y_GAUCHE, ZONE_MORT_CENTRE + ZONE_MORTE, 1023, 0, VITESSE_MAX);
    Motor(Move_Backward, vitesse, vitesse, vitesse, vitesse);
  }
  else if (X_GAUCHE < (ZONE_MORT_CENTRE - ZONE_MORTE)){
    // Translation droite - Plus on pousse à droite, plus la vitesse augmente
    vitesse = map(X_GAUCHE, 0, ZONE_MORT_CENTRE - ZONE_MORTE, VITESSE_MAX, 0);
    Motor(Right_Move, vitesse, vitesse, vitesse, vitesse);
  }
  else if (X_GAUCHE > (ZONE_MORT_CENTRE + ZONE_MORTE)){
        // Translation gauche - Plus on pousse à gauche, plus la vitesse augmente
    vitesse = map(X_GAUCHE, ZONE_MORT_CENTRE + ZONE_MORTE, 1023, 0, VITESSE_MAX);
    Motor(Left_Move, vitesse, vitesse, vitesse, vitesse);
  }
  // Ajout du contrôle des rotations avec le joystick droit
  else if (X_DROIT < (ZONE_MORT_CENTRE - ZONE_MORTE)){
    // Rotation droite - Plus on pousse à droite, plus la rotation est rapide
    vitesse = map(X_DROIT, 0, ZONE_MORT_CENTRE - ZONE_MORTE, VITESSE_MAX, 0);
    Motor(Right_Rotate, vitesse, vitesse, vitesse, vitesse);
  }
  else if (X_DROIT > (ZONE_MORT_CENTRE + ZONE_MORTE)){
    // Rotation gauche - Plus on pousse à gauche, plus la rotation est rapide
    vitesse = map(X_DROIT, ZONE_MORT_CENTRE + ZONE_MORTE, 1023, 0, VITESSE_MAX);
    Motor(Left_Rotate, vitesse, vitesse, vitesse, vitesse);
  }
  else{
    // Zone morte - Arrêt
    Motor(Stop, 0, 0, 0, 0);
  }

  // Affichage des valeurs sur le port série
  Serial.print("X_GAUCHE: ");
  Serial.print(X_GAUCHE);
  Serial.print(" | ");
  Serial.print(" Y_GAUCHE: ");
  Serial.print(Y_GAUCHE);
  Serial.print(" | ");
  Serial.print(" X_DROIT: ");
  Serial.print(X_DROIT);
  Serial.print(" | ");
  Serial.print(" Vitesse: ");
  Serial.println(vitesse);

  gestion_boutons();

  delay(10);
}

void gestion_boutons(){
  if (val_btn_elevateur_UP == 0){
    Serial.println("Elevation du rateau");
    Servo_elevateur.attach(53);
    Servo_elevateur.write(125);
    delay(100);
  }
  else{
    Servo_elevateur.detach();
    Servo_elevateur.write(90);
    delay(100);
  }

  if (val_btn_aimant_centre == 0){
    Serial.println("Detachement aimant centraux");
    Servo_aimant_centre.write(90);
    delay(100);
  }
  else{
    Servo_aimant_centre.write(0);
    delay(100);
  }

  if (val_btn_aimant_lateraux != 0){
    Servo_aimant_lateraux.write(90);
    delay(100);
  }
  else
  {
    Servo_aimant_lateraux.write(0);
    delay(100);
  }

  if (val_btn_planche != 0)
  {
    Servo_planche_gauche.write(90);
    delay(100);
  }
  else
  {
    Servo_planche_gauche.write(0);
    delay(100);
  }
}
void pose_banniere(){
  val_pin_btn_drapeau = digitalRead(pin_btn_drapeau);
  Serial.println(val_pin_btn_drapeau);

  if (val_pin_btn_drapeau == 0) {
    SERVO.WritePos(0XFE, 950, 500);
    Serial.println("bannière PAS déposée");
    delay(8000); // Laisse 8sec pour déposer la bannière 
  }
  else {
    SERVO.WritePos(0XFE, 510, 500);
    delay(100);
  }
}


  
git clone https://github.com/myscript/interactive-ink-examples-uwp


cd interactive-ink-examples-uwp
import random
import tkinter as tk
from tkinter import StringVar, Entry, Button, PhotoImage
 
 
# Définir la fonction choisir_mot qui choisit un mot aléatoire
def choisir_mot():
    mots = ["python", "apprentissage", "programmation", "ordinateur", "developpement"]
    return random.choice(mots)
 
 
# Définir la fonction afficher_mot qui affiche le mot à deviner avec les lettres trouvées
def afficher_mot(mot, lettres_trouvees):
    affichage = ""
    for lettre in mot:
        if lettre in lettres_trouvees:
            affichage += lettre
        else:
            affichage += "-"
    return affichage
 
 
# Définir la fonction pendu qui permet de jouer au jeu du pendu avec une interface graphique
def pendu():
    # Choisir un mot aléatoire
    mot_a_deviner = choisir_mot()
 
    # Initialiser les variables de jeu
    lettres_trouvees = []
    tentatives_max = 6
    tentatives = 0
 
    # Créer une fenêtre Tkinter
    fenetre = tk.Tk()
    fenetre.geometry("300x200")
    fenetre.title("Jeu du Pendu")
 
    # Créer les éléments graphiques
    label_mot = tk.Label(fenetre, text=afficher_mot(mot_a_deviner, lettres_trouvees))
    label_mot.pack()
 
    entry_lettre = tk.Entry(fenetre)
    entry_lettre.pack()
 
    label_tentatives = tk.Label(fenetre, text="Tentatives restantes : " + str(tentatives_max - tentatives))
    label_tentatives.pack()
 
    # Fonction pour vérifier la lettre choisie
    def verifier_lettre():
        nonlocal tentatives
        lettre_choisie = entry_lettre.get()
        entry_lettre.delete(0, tk.END)
 
        if lettre_choisie in lettres_trouvees:
            label_tentatives.config(text="Vous avez déjà deviné cette lettre. Essayez encore.")
        elif lettre_choisie in mot_a_deviner:
            lettres_trouvees.append(lettre_choisie)
            label_mot.config(text=afficher_mot(mot_a_deviner, lettres_trouvees))
 
            if "-" not in afficher_mot(mot_a_deviner, lettres_trouvees):
                label_tentatives.config(text="Félicitations ! Vous avez deviné le mot : " + mot_a_deviner)
        else:
            tentatives += 1
            label_tentatives.config(text="Incorrect. Tentatives restantes : " + str(tentatives_max - tentatives))
            if tentatives == tentatives_max:
                label_tentatives.config(
                    text="Désolé, vous avez atteint le nombre maximum de tentatives. Le mot était : " + mot_a_deviner)
 
    # Créer le bouton pour valider la lettre choisie
    btn_valider = tk.Button(fenetre, text="Valider", command=verifier_lettre)
    btn_valider.pack()
 
    fenetre.mainloop()
# Appeler la fonction pendu pour jouer au jeu
pendu()
 
 
code de Tom
 
import random
 
def choisir_mot():
    mots = ["oiseaux","machin","truc","bizare","intergouvernementalisations"," anticonstitutionnellement","Aminométhylpyrimidinylhydroxyéthylméthylthiazolium"]
    return random.choice(mots)
 
 
def afficher_mot(mot, lettres_trouvees):
    affichage = ""
    for lettre in mot:
        if lettre in lettres_trouvees:
            affichage += lettre
        else:
            affichage += "_"
    return affichage
 
def pendu():
    mot_a_deviner = choisir_mot()
 
#creation du TABLEAU appele lettre trouvees
    lettres_trouvees =[]
 
    tentatives_max = 6
    tentatives = 0
 
    print("bienvenue dans le jeu du pendu(toi)!")
 
# while = tant que...
    while tentatives <= tentatives_max:
        lettre_choisie = input("tape la bonne lettre si t'es pas un GROS NOOOOOOOB : ").lower()
 
        if lettre_choisie in lettres_trouvees :
            print ("tu as deja tape cette lettre gros noob. reesaie sal noob.")
            continue
 
        if lettre_choisie in mot_a_deviner:
            lettres_trouvees.append(lettre_choisie)
            mot_actuel = afficher_mot(mot_a_deviner, lettres_trouvees)
            print(mot_actuel)
 
            if "_" not in mot_actuel:
                print("Si un noob réussi, c'est que c'est facile : ", mot_a_deviner)
                break
 
        else:
            tentatives += 1
            print("je ne savais pas que c'etait possible d'etre aussi noob : ", tentatives_max- tentatives)
 
    if tentatives == tentatives_max:
        print("Je le savais, aucune chance qu'un noob comme toi réussisse : ", mot_a_deviner)
    pendu()
# Importer le module random
import random
 
# Définir la fonction choisir_mot qui choisit un mot aléatoire
def choisir_mot():
    mots = ["python", "apprentissage", "programmation", "ordinateur", "developpement"]
    return random.choice(mots)
 
# Définir la fonction afficher_mot qui affiche le mot à deviner avec les lettres trouvées
def afficher_mot(mot, lettres_trouvees):
    affichage = ""
    for lettre in mot:
        if lettre in lettres_trouvees:
            affichage += lettre
        else:
            affichage += "_"
    return affichage
 
# Définir la fonction pendu qui permet de jouer au jeu du pendu
def pendu():
    # Choisir un mot aléatoire
    mot_a_deviner = choisir_mot()
 
    # Initialiser les variables de jeu
    lettres_trouvees = []
    tentatives_max = 6
    tentatives = 0
 
    # Afficher un message de bienvenue
    print("Bienvenue dans le jeu du pendu !")
 
    # Boucle principale du jeu
    while tentatives < tentatives_max:
        # Demander à l'utilisateur de deviner une lettre
        lettre_choisie = input("Devinez une lettre : ").lower()
 
        # Vérifier si la lettre a déjà été devinée
        if lettre_choisie in lettres_trouvees:
            print("Vous avez déjà deviné cette lettre. Essayez encore.")
            continue
 
        # Vérifier si la lettre est dans le mot à deviner
        if lettre_choisie in mot_a_deviner:
            lettres_trouvees.append(lettre_choisie)
            mot_actuel = afficher_mot(mot_a_deviner, lettres_trouvees)
            print(mot_actuel)
 
            # Vérifier si le mot a été entièrement deviné
            if "_" not in mot_actuel:
                print("Félicitations ! Vous avez deviné le mot :", mot_a_deviner)
                break
        else:
            tentatives += 1
            print("Incorrect. Tentatives restantes : ", tentatives_max - tentatives)
 
    # Afficher un message de fin de jeu
    if tentatives == tentatives_max:
        print("Désolé, vous avez atteint le nombre maximum de tentatives. Le mot était :", mot_a_deviner)
 
# Appeler la fonction pendu pour jouer au jeu
pendu()
from tkinter import *
from tkinter.ttk import *
 
root = Tk()
 
Label(root, text='GeeksforGeeks', font=(
    'Verdana', 15)).pack(side=TOP, pady=10)
 
photo = PhotoImage(file=r"C:\Users\made in takos\PycharmProjects\jeuxClic\ico.png")
 
photoimage = photo.subsample(3, 3)
Button(root, text='Click Me !', image=photoimage,
       compound=LEFT).pack(side=TOP)
 
mainloop()
 
 
 
def compteur_temps():
    while i <= 60:
        i+=1
        print(i)
        time.sleep(1)
 
# On défini la fonction appelée à chaque clic sur le bouton
def incrementer_compteur():
    # Permet d'accéder à la variable globale
    global compteur
    compteur += 1
    print("Compteur :", compteur)
 
# On défini la fonction appelée lorsque la fenêtre score se ferme
def fermer_fenetre():
    #fenetre_score.destroy()
    if compteur >= 20:
        print("T'es NUL!!!")
    else:
        print("T'es FOOOOORT!!!")
    quit()
 
############## INTERFACE #############
fenetre = Tk()
fenetre.title("jeu Clic")
compteur_temps()
 
for ligne in range(5):
    for colonne in range(5):
        Button(fenetre, text='L%s-C%s' % (ligne, colonne), borderwidth=1, command=incrementer_compteur).grid(row = ligne, column = colonne)
# On crée le bouton en position aléatoire
Button(fenetre, text='LR-CR', borderwidth=1, command=lambda:[fermer_fenetre(), fenetre_score()]).grid(row = rnd_x, column = rnd_Y)
 
def fenetre_score():
    global compteur
    # On crée une nouvelle fenêtre
    fenetre_score = Toplevel(fenetre)
    fenetre_score.title("Score")
 
    # On ajoute un label pour afficher le score
    label_score = Label(fenetre_score, text="Votre score est de {}".format(compteur))
    label_score.pack(padx=10, pady=10)
 
    # On ajoute un bouton pour fermer la fenêtre
    bouton_fermer = Button(fenetre_score, text="Fermer", command=fermer_fenetre)
    bouton_fermer.pack(pady=10)
 
#fenetre.mainloop()
mainloop()
from tkinter import *
from tkinter.ttk import *
 
root = Tk()
 
Label(root, text='GeeksforGeeks', font=(
    'Verdana', 15)).pack(side=TOP, pady=10)
 
photo = PhotoImage(file=r"C:\Users\made in takos\PycharmProjects\jeuxClic\ico.png")
photoimage = photo.subsample(3, 3)
Button(root, text='Click Me !', image=photoimage,
       compound=LEFT).pack(side=TOP)
 
mainloop()
from tkinter import *
import random
import time
 
# On déclare nos variables pour les position en X et Y
rnd_x = random.randint(0, 5)
rnd_Y = random.randint(0, 5)
# On initialise la variable de score à 0
compteur = 0
 
 
def compteur_temps():
    i=0
    while i <= 60:
        i += 1
        print(i)
        time.sleep(1)
        break
    while i <= 60:
        i += 1
        print(i)
        time.sleep(1)
# On défini la fonction appelée à chaque clic sur le bouton
def incrementer_compteur():
    # Permet d'accéder à la variable globale
    global compteur
    compteur += 1
    print("Compteur :", compteur)
 
 
# On défini la fonction appelée lorsque la fenêtre score se ferme
def fermer_fenetre():
    # fenetre_score.destroy()
    if compteur >= 20:
        print("T'es NUL!!!")
    else:
        print("T'es FOOOOORT!!!")
    quit()
 
 
############## INTERFACE #############
fenetre = Tk()
fenetre.title("jeu Clic")
#compteur_temps()
from tkinter import *
from tkinter.ttk import *
 
photo = PhotoImage(file=r"C:\Users\Prog'\Documents\PychamProjects\pythonClic\1.png")
photoimage = photo.subsample(3, 3)
 
for ligne in range(5):
    for colonne in range(5):
        Button(fenetre, image=photoimage, command=incrementer_compteur).grid(row=ligne, column=colonne)
# On crée le bouton en position aléatoire
Button(fenetre, image=photoimage, command=lambda:[fermer_fenetre(), fenetre_score()]).grid(row = rnd_x, column = rnd_Y)
 
 
def fenetre_score():
    global compteur
    # On crée une nouvelle fenêtre
    fenetre_score = Toplevel(fenetre)
    fenetre_score.title("Score")
 
    # On ajoute un label pour afficher le score
    label_score = Label(fenetre_score, text="Votre score est de {}".format(compteur))
    label_score.pack(padx=10, pady=10)
 
    # On ajoute un bouton pour fermer la fenêtre
    bouton_fermer = Button(fenetre_score, text="Fermer", command=fermer_fenetre)
    bouton_fermer.pack(pady=10)
 
 
# fenetre.mainloop()
mainloop()
 
(moi GPT)

THE LAST ONE

 
#########################################
# - #Effacer le btn une fois cliqué
# - #Donner un indice après un certain score
# - #Ajouter un compteur de temps
#
#
 
from tkinter import *
from tkinter.ttk import *
import random
import time
 
fenetre = Tk()
fenetre.title("jeu Clic")
#compteur_temps()
 
photo = PhotoImage(file=r"C:\Users\made in takos\PycharmProjects\jeuxClic\ico.png")
photoimage = photo.subsample(3, 3)
 
rnd_x = random.randint(0, 10)
rnd_y = random.randint(0, 10)
 
# On initialise la variable de score à 0
compteur = 0
 
def retirer_bouton(ligne, colonne):
    global compteur
    compteur += 1
    score_label.config(text="Score : " + str(compteur))
    widgets = fenetre.grid_slaves(row=ligne, column=colonne)
    for widget in widgets:
        widget.grid_remove()
 
# On crée le bouton en position aléatoire
def placer_bouton_aleatoire():
    Button(fenetre, image = photoimage, command=lambda:[retirer_bouton(rnd_x, rnd_y),fenetre_score(), fermer_fenetre()]).grid(row=rnd_x, column=rnd_y)
placer_bouton_aleatoire()
 
def fenetre_score():
    global compteur
    score_label = Label(fenetre, text=" " + str(compteur))
    score_label = Label(fenetre, text="Score : " + str(compteur))
    score_label.grid(row=10, column=0,  pady=10)
 
def compteur_temps():
    i=0
    while i <= 60:
        i += 1
        print(i)
        time.sleep(1)
        break
    while i <= 60:
        i += 1
        print(i)
        time.sleep(1)
# On défini la fonction appelée à chaque clic sur le bouton
def incrementer_compteur():
    # Permet d'accéder à la variable globale
    global compteur
    compteur += 1
    print("Compteur :", compteur)
 
 
# On défini la fonction appelée lorsque la fenêtre score se ferme
def fermer_fenetre():
    # fenetre_score.destroy()
    if compteur >= 20:
        print("T'es NUL!!! ton score est de : ", compteur)
 
    else:
        print("T'es FOOOOORT!!!")
    quit()
 
 
############## INTERFACE #############
for ligne in range(10):
    for colonne in range(10):
        Button(fenetre, image = photoimage, command=lambda ligne=ligne, colonne=colonne: retirer_bouton(ligne, colonne)).grid(row=ligne, column=colonne)
 
score_label = Label(fenetre, text="Score : " + str(compteur))
 
score_label.grid(row=0, column=14, padx=10, pady=10, sticky="n")
 
# fenetre.mainloop()
mainloop()
from tkinter import *
from tkinter.ttk import *
import random
import time
rand = 15
# On déclare nos variables pour les position en X et Y
rnd_x = random.randint(0, rand)
rnd_Y = random.randint(0, rand)
# On initialise la variable de score à 0
compteur = 0
 
 
def compteur_temps():
    i=0
    while i <= 60:
        i += 1
        print(i)
        time.sleep(1)
        break
    while i <= 60:
        i += 1
        print(i)
        time.sleep(1)
# On défini la fonction appelée à chaque clic sur le bouton
def incrementer_compteur():
    # Permet d'accéder à la variable globale
    global compteur
    compteur += 1
    print("Compteur :", compteur)
 
    if compteur == 4:
        print("indice la ligne est:",rnd_x)
 
 
# On défini la fonction appelée lorsque la fenêtre score se ferme
def fermer_fenetre():
    # fenetre_score.destroy()
    if compteur >= 15:
        print("T'es NUL!!!")
    else:
        print("T'es FOOOOORT!!!")
    quit()
 
 
############## INTERFACE #############
fenetre = Tk()
fenetre.title("jeu Clic")
#compteur_temps()
 
photo = PhotoImage(file=r"C:\Users\Prog'\Documents\PychamProjects\pythonClic\Sans titre.png")
photoimage = photo.subsample(3, 3)
 
for ligne in range(rand):
    for colonne in range(rand):
        Button(fenetre, image=photoimage, command=incrementer_compteur).grid(row=ligne, column=colonne)
# On crée le bouton en position aléatoire
Button(fenetre, image=photoimage, command=lambda:[fermer_fenetre(), fenetre_score()]).grid(row = rnd_x, column = rnd_Y)
 
 
def fenetre_score():
    global compteur
    # On crée une nouvelle fenêtre
    fenetre_score = Toplevel(fenetre)
    fenetre_score.title("Score")
 
    # On ajoute un label pour afficher le score
    label_score = Label(fenetre_score, text="Votre score est de {}".format(compteur))
    label_score.pack(padx=10, pady=10)
 
    # On ajoute un bouton pour fermer la fenêtre
    bouton_fermer = Button(fenetre_score, text="Fermer", command=fermer_fenetre)
    bouton_fermer.pack(pady=10)
 
 
# fenetre.mainloop()
mainloop()
ateliers/robotique/echange_de_code.txt · Dernière modification : 2025/03/31 18:15 de portouverte