cest un ttru cool
from math import * from kandinsky import * from time import * from ion import * patrick = [ [None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,(0, 0, 0),(0, 0, 0),None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,None,None,(0, 0, 0),(205, 103, 138),(196, 96, 129),(0, 0, 0),None,None,None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,None,(0, 0, 0),(205, 103, 138),(244, 163, 175),(244, 163, 175),(205, 103, 138),(0, 0, 0),None,None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,(0, 0, 0),(240, 132, 158),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(186, 85, 123),(0, 0, 0),None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,(0, 0, 0),(205, 103, 138),(244, 163, 175),(244, 163, 175),(244, 163, 175),(253, 234, 232),(205, 103, 138),(0, 0, 0),None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,(0, 0, 0),(196, 96, 129),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(205, 103, 138),(0, 0, 0),None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,(0, 0, 0),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(0, 0, 0),None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,(0, 0, 0),(205, 103, 138),(244, 163, 175),(255, 255, 255),(0, 0, 0),(244, 163, 175),(244, 163, 175),(0, 0, 0),(255, 255, 255),(244, 163, 175),(196, 96, 129),(0, 0, 0),None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,(0, 0, 0),(0, 0, 0),(0, 0, 0),(205, 103, 138),(244, 163, 175),(244, 163, 175),(0, 0, 0),(0, 0, 0),(244, 163, 175),(244, 163, 175),(0, 0, 0),(0, 0, 0),(244, 163, 175),(244, 163, 175),(205, 103, 138),(0, 0, 0),(0, 0, 0),(0, 0, 0),None,None,None,None,None,None,None,], [None,None,None,None,None,(0, 0, 0),(0, 0, 0),(205, 103, 138),(205, 103, 138),(205, 103, 138),(205, 103, 138),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(205, 103, 138),(205, 103, 138),(205, 103, 138),(196, 96, 129),(0, 0, 0),(0, 0, 0),None,None,None,None,None,], [None,None,None,None,(0, 0, 0),(205, 103, 138),(244, 163, 175),(253, 234, 232),(253, 234, 232),(253, 234, 232),(244, 163, 175),(244, 163, 175),(0, 0, 0),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(0, 0, 0),(244, 163, 175),(244, 163, 175),(253, 234, 232),(253, 234, 232),(253, 234, 232),(244, 163, 175),(205, 103, 138),(0, 0, 0),None,None,None,None,], [None,None,None,None,(0, 0, 0),(186, 85, 123),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(0, 0, 0),(0, 0, 0),(0, 0, 0),(0, 0, 0),(0, 0, 0),(0, 0, 0),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(186, 85, 123),(0, 0, 0),None,None,None,None,], [None,None,None,None,None,(0, 0, 0),(196, 96, 129),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(0, 0, 0),(191, 11, 37),(191, 11, 37),(0, 0, 0),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(205, 103, 138),(0, 0, 0),None,None,None,None,None,], [None,None,None,None,None,None,(0, 0, 0),(196, 96, 129),(196, 96, 129),(205, 103, 138),(205, 103, 138),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(205, 103, 138),(196, 96, 129),(205, 103, 138),(205, 103, 138),(0, 0, 0),None,None,None,None,None,None,], [None,None,None,None,None,None,None,(0, 0, 0),(0, 0, 0),(0, 0, 0),(205, 103, 138),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(205, 103, 138),(0, 0, 0),(0, 0, 0),(0, 0, 0),None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,(0, 0, 0),(205, 103, 138),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(205, 103, 138),(0, 0, 0),None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,(0, 0, 0),(205, 103, 138),(205, 103, 138),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(244, 163, 175),(205, 103, 138),(196, 96, 129),(0, 0, 0),None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,(0, 0, 0),(112, 131, 60),(112, 131, 60),(192, 212, 158),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(251, 252, 245),(155, 181, 103),(155, 181, 103),(155, 181, 103),(192, 212, 158),(112, 131, 60),(112, 131, 60),(0, 0, 0),None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,(0, 0, 0),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(0, 0, 0),None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,(0, 0, 0),(87, 104, 46),(155, 181, 103),(155, 102, 197),(171, 106, 143),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(155, 181, 103),(161, 122, 184),(155, 102, 197),(155, 181, 103),(77, 93, 51),(0, 0, 0),None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,(0, 0, 0),(0, 0, 0),(112, 131, 60),(155, 102, 197),(148, 111, 212),(112, 131, 60),(112, 131, 60),(112, 131, 60),(112, 131, 60),(112, 131, 60),(112, 131, 60),(155, 102, 197),(155, 102, 197),(112, 131, 60),(0, 0, 0),(0, 0, 0),None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,(0, 0, 0),(0, 0, 0),(0, 0, 0),(112, 131, 60),(112, 131, 60),(0, 0, 0),(0, 0, 0),(0, 0, 0),(0, 0, 0),(112, 131, 60),(112, 131, 60),(0, 0, 0),(0, 0, 0),(0, 0, 0),None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,(0, 0, 0),(168, 68, 80),(240, 132, 158),(240, 132, 158),(168, 68, 80),(0, 0, 0),None,None,(0, 0, 0),(168, 68, 80),(240, 132, 158),(240, 132, 158),(168, 68, 80),(0, 0, 0),None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,(0, 0, 0),(0, 0, 0),(0, 0, 0),(0, 0, 0),None,None,None,None,(0, 0, 0),(0, 0, 0),(0, 0, 0),(0, 0, 0),None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,], [None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,], ] def draw_patrick(px, py, size=1): for y, row in enumerate(patrick): for x, col in enumerate(row): if col: fill_rect(px + x*size, py + y*size, size, size, col) SCREEN_W=320 SCREEN_H=222 offset=10 char_w=10 # W char_h=18 anim_speed=0.08 color_white=color(255,255,255) color_black=color(0,0,0) def env(): fill_rect(0,0,SCREEN_W,SCREEN_W,color(0,160,255)) def draw_spike(x,y,type="down"): m=0 xdiff=0 if type=="down": for i in range(5): fill_rect(x+i,y+i*2,10-i*2,2,color_black) if type=="r": for i in range(6): fill_rect(x+i*2,y+i,2,10-i*2,color_black) def draw_yn_arrow(state): e2=6 if state=="up" or True: num=0 if state=="down" or False: num=23 fill_rect(238,90,22,40,color_white) draw_spike(SCREEN_W-offset-W_yn+15,SCREEN_H-offset*2-H-H_yn+13+num,"r") def draw_next_arrow(y=0): fill_rect(SCREEN_W-offset*4+3,SCREEN_H-offset*3-3+y-3,10,10+3*2,color(255,255,255)) draw_spike(SCREEN_W-offset*4+3,SCREEN_H-offset*3-3+y) def anim_next_arrow_once(delay=0.2): levels=[0,1,2,3,2,1] for i in levels: draw_next_arrow(i) sleep(delay) if keydown(KEY_OK) or keydown(KEY_ZERO): return True return False def wait_next(): while True: if anim_next_arrow_once(0.2): break W=SCREEN_W-offset*2 H=60 W_yn=SCREEN_W//4 H_yn=60 env() def draw_box(type="dialogue"): c=0 e=0 if type=="dialogue": for i in range(4): fill_rect(offset+e,SCREEN_H-H-offset+e,W-e*2,H-e*2,color(c,c,c)) e+=2 c+=80 e2=6 fill_rect(offset+e,SCREEN_H-H-offset+e,W-e*2,H-e*2,color_white) if type=="yn": for i in range(4): fill_rect(SCREEN_W-offset-W_yn+e,SCREEN_H-offset*2-H-H_yn+e,W_yn-e*2,H_yn-e*2,color(c,c,c)) e+=2 c+=80 e2=6 fill_rect(SCREEN_W-offset-W_yn+e,SCREEN_H-offset*2-H-H_yn+e,W_yn-e*2,H_yn-e*2,color_white) # --------- def animatext(user="",text="<no text put>",next=False): draw_box() # baseblablalbala if not user=="": text=user+": "+text if len(text)>56: draw_string("trop long (58)",0,0) sleep(0.1) return if len(text)>28: space_found=0 i=0 if " " in text: while i<28 and space_found==0: if text[28-1]==" ": space_found=28-i i+=1 if space_found==0: space_found=28 text1=text[:space_found] text2=text[space_found+1:len(text)] for i in range(len(text1)+1): draw_string(text1[:i],offset*2,SCREEN_H-H+5) sleep(anim_speed) for i in range(len(text2)+1): draw_string(text2[:i],offset*2,SCREEN_H-H+18) sleep(anim_speed) else: for i in range(len(text)+1): draw_string(text[:i],offset*2,SCREEN_H-H+5) sleep(anim_speed) if next: draw_next_arrow() def ask(txtup="OUI",txtdown="NON"): draw_box("yn") draw_yn_arrow("up") draw_string(txtup,SCREEN_W-offset-W_yn+15+15,SCREEN_H-offset*2-H-H_yn+11+23) draw_string(txtdown,SCREEN_W-offset-W_yn+15+15,SCREEN_H-offset*2-H-H_yn+11) position="up" chosed=False while not chosed: if keydown(KEY_DOWN): if position=="up": draw_yn_arrow("down") position="down" if keydown(KEY_UP): if position=="down": draw_yn_arrow("up") position="up" # fill_rect(0,0,char_w*len(str(position)),10,color_black) if keydown(KEY_OK) or keydown(KEY_ZERO): chosed=True env() return position draw_patrick(0,0,8) animatext("Mamafly","67",True) #wait_next() animatext("", "je suis un sigma.") #wait_next() animatext("", "Es tu un sigma") #ans=ask() #if ans=="down": # animatext("", "gg, c'est bien mec") #else: # animatext("", "ntm") #! ?