Découvrez ma chaine YouTube (Python, JavaScript, calculatrices…)
Le principe est très simple, en une minute vous devez réaliser le score le plus élevé possible. Pour cela appuyez sur les touches 0, ., x10^x,Ans ou EXE en fonction des rectangles bleus qui apparaissent en bas de l’écran.
OK = Nombre d’appuis réussis et KO = Nombre d’appuis ratés.
from kandinsky import * from random import random from time import monotonic,sleep from ion import * P,DELAI,T=.4,.8,64 col=range(5) def down(cases,p): cases.insert(0,[random()<p for _ in col]) cases=cases[:-1] for l in range(8): coul=(0,0,255) if l==7 else (180,)*3 for c in col: fill_rect(T*c,22+25*l,T-1,24,coul if cases[l][c] else (255,)*3) return cases def action_joueur(cases,ok,ko): dep=monotonic() while True: for (i,k) in enumerate([KEY_ZERO,KEY_DOT,KEY_EE,KEY_ANS,KEY_EXE]): if keydown(k): if cases[7][i]==1: ok+=1;fill_rect(T*i,197,T-1,24,(0,255,0)) elif cases[7][i]==0: ko+=1;fill_rect(T*i,197,T-1,24,(255,0,0)) cases[7][i]=2 if monotonic()-dep>DELAI: ko+=cases[7].count(1) return (ok,ko) def aff(ok,ko): draw_string("OK: {}".format(ok),0,0) draw_string("KO: {}".format(ko),90,0) if ok+ko>0: draw_string("Score: {} % ".format(int(100*ok/(ok+ko))),180,0) cases=[[0 for _ in col] for _ in range(8)] ok,ko=0,0 sleep(.2) go=monotonic() while monotonic()-go<60: cases=down(cases,P) (ok,ko)=action_joueur(cases,ok,ko) aff(ok,ko)