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)