mamaflykemon.py

Created by maelg0000

Created on November 26, 2025

12.3 KB

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")
 
 #! ?

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.