calcul_mental.py

Created by gengisclan

Created on September 08, 2023

3.79 KB

Entrainez vous au calcul mental avec 3 niveaux de difficulté que vous découvrirez


'''
Cree par Gengisclan le 06/09/2023
'''
from random import randint
from time import sleep
from kandinsky import *
from ion import *

def Ch_page():
  global suiv
  suiv=False
  sleep(.1)  

def Logo():
  fill_rect(0,0,320,240,(0,)*3)
  fill_rect(100,80,120,60,(255,)*3)
  fill_rect(101,81,118,58,(0,)*3)
  draw_string("Cree par",120,90,(255,)*3,(0,)*3)
  draw_string("Gengisclan",110,110,(255,)*3,(0,)*3)
  sleep(2)

def Dessin_boutons(bouton,coul=(0,)*3):
  fill_rect(bouton[3],bouton[4],bouton[1],bouton[2],(255,)*3)
  fill_rect(bouton[3]+1,bouton[4]+1,bouton[1]-2,bouton[2]-2,coul)
  draw_string(bouton[0],bouton[3]+10,bouton[4]+10,(255,)*3,coul)

def Ecriture(n_souris):
  if len(Boutons[n_souris][0])<3:
    sleep(.1)
    if keydown(KEY_ZERO):Boutons[n_souris][0]+="0"
    if keydown(KEY_ONE):Boutons[n_souris][0]+="1"
    if keydown(KEY_TWO):Boutons[n_souris][0]+="2"
    if keydown(KEY_THREE):Boutons[n_souris][0]+="3"
    if keydown(KEY_FOUR):Boutons[n_souris][0]+="4"
    if keydown(KEY_FIVE):Boutons[n_souris][0]+="5"
    if keydown(KEY_SIX):Boutons[n_souris][0]+="6"
    if keydown(KEY_SEVEN):Boutons[n_souris][0]+="7"
    if keydown(KEY_EIGHT):Boutons[n_souris][0]+="8"
    if keydown(KEY_NINE):Boutons[n_souris][0]+="9"
  if keydown(KEY_BACKSPACE):Boutons[n_souris][0]=Boutons[n_souris][0][0:-1]

def Calcul(liste_signe):
  global nombre1
  global nombre2
  global nombre3
  global signe
  signe=randint(0,len(liste_signe)-1)
  nombre1=randint(0,25)
  nombre2=randint(0,25)
  while signe==1 and (nombre1<nombre2):
    nombre1=randint(0,25)
    nombre2=randint(0,25)  
  if signe==0:nombre3=nombre1+nombre2
  if signe==1:nombre3=nombre1-nombre2
  if signe==2:nombre3=nombre1*nombre2
  return [nombre1,nombre2,nombre3,signe]
  
  
  
def Page1():
  Dessin_boutons(Boutons[0])
  Dessin_boutons(Boutons[1])
  Dessin_boutons(Boutons[2])

def Page2():
  Dessin_boutons(Boutons[3])
  Dessin_boutons(Boutons[4],(225,198,153))  

Boutons=[
# [Texte,Longueur,Largeur,x,y]
["Facile",80,40,120,40],
["Moyen",70,40,125,90],
["Difficile",110,40,105,140],

["",70,40,120,70],
["",50,40,130,120],

]

score=0
page=1
suiv=False
n_souris=2
run=True
liste_signe=[]
infos=[]
nombre1=0;nombre2=1;nombre3=0;signe=""

Logo()
while run:
  Ch_page()
  if page==1:
    fill_rect(0,0,320,240,(0,)*3)
    Page1()
    sleep(.1)
    n_souris=0
    Dessin_boutons(Boutons[n_souris],(112,114,110))
    while not suiv:
      sleep(.1)
      # Mouvements de sourie
      if keydown(KEY_DOWN):
        Page1()
        if n_souris==1:n_souris=2
        if n_souris==0:n_souris=1
        Dessin_boutons(Boutons[n_souris],(112,114,110))
      if keydown(KEY_UP): 
        Page1()
        if n_souris==1:n_souris=0
        if n_souris==2:n_souris=1
        Dessin_boutons(Boutons[n_souris],(112,114,110))
      if keydown(KEY_OK):
        if n_souris==0:liste_signe=["+"]
        if n_souris==1:liste_signe=["+","-"]
        if n_souris==2:liste_signe=["+","-","*"]
        suiv=True
        page=2            
  if page==2:
    fill_rect(0,0,320,240,(0,)*3)
    Page2()
    sleep(.1)
    n_souris=4
    infos=Calcul(liste_signe)
    while not suiv:
      Boutons[3][0]=str(infos[0])+str(liste_signe[infos[3]])+str(infos[1])
      Dessin_boutons(Boutons[3])
      sleep(.1)
      draw_string("Score: "+str(score),100,10,(255,)*3,(0,)*3)
      if n_souris==4:
        Ecriture(n_souris)  
        Page2()
        if keydown(KEY_OK):
          if int(Boutons[4][0])==infos[2]:
            draw_string("Bravo !",10,10,(255,)*3,(0,)*3)
            sleep(1)
            fill_rect(0,0,90,40,(0,)*3)
            score+=1  
          else:
            draw_string("Perdu !",10,10,(255,)*3,(0,)*3)
            sleep(1)
            fill_rect(0,0,90,40,(0,)*3)
            suiv=True
            run=False
          infos=Calcul(liste_signe)
          Boutons[3][0]=""
          Boutons[4][0]=""

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.