matrixbits.py
Created by
wperez274
Created on
September 09, 2023
6.19 KB
import kandinsky as kd
from ion import keydown , KEY_DOWN , KEY_UP , KEY_LEFT , KEY_RIGHT , KEY_BACKSPACE , KEY_EXE , KEY_ONE , KEY_TWO , KEY_THREE , KEY_FOUR , KEY_FIVE , KEY_SIX , KEY_SEVEN , KEY_EIGHT , KEY_NINE , KEY_ANS , KEY_SHIFT , KEY_PLUS , KEY_MINUS , KEY_OK , KEY_ALPHA , KEY_XNT , KEY_EXP
from random import randint , choice
from time import sleep
# Initialize constants and variables
WIDTH = 322
HEIGHT = 222
frame_c = ( randint ( 0 , 255 ), randint ( 0 , 255 ), randint ( 0 , 255 ))
a11 , a12 , a13 = 1 , 2 , 3
a21 , a22 , a23 = 4 , 5 , 6
a31 , a32 , a33 = 7 , 8 , 9
font1_c = ( randint ( 180 , 255 ), randint ( 180 , 255 ), randint ( 180 , 255 ))
font2_c = ( randint ( 180 , 255 ), randint ( 180 , 255 ), randint ( 180 , 255 ))
my_shapes = [
[ 0 , 0 , WIDTH , HEIGHT , frame_c ],
[ 20 , 16 , 281 , 195 , ( 255 , 255 , 255 )]
]
num = 1
def refresh_data ():
kd . fill_rect ( 200 , 90 , 100 , 80 , ( 200 , 255 , 255 ))
kd . fill_rect ( 38 , 155 , 130 , 50 , ( 220 , 235 , 255 ))
def random_frame ():
global my_shapes
my_shapes = [
[ 0 , 0 , WIDTH , HEIGHT , ( randint ( 0 , 255 ), randint ( 0 , 255 ), randint ( 0 , 255 ))],
[ 20 , 16 , 281 , 195 , ( 255 , 255 , 255 )]
]
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
kd . fill_rect ( 220 , 90 , 80 , 80 , ( 200 , 255 , 255 ))
for i in my_shapes :
kd . fill_rect ( * i )
kd . fill_rect ( 200 , 90 , 70 , 80 , ( 200 , 255 , 255 ))
refresh_data ()
while not keydown ( KEY_EXE ):
kd . draw_string ( str ( num ), 40 , 60 , ( 0 , 0 , 0 ), ( 0 , 255 , 255 ))
kd . draw_string ( " = " + str ( len ( bin ( num )) - 2 ) + " bits. " , 30 , 90 )
kd . draw_string ( " = " + str ( float ( len ( bin ( num )) - 2 ) / 8 ) + " bytes. " , 30 , 110 )
kd . draw_string ( " TYPE NUMBER | [EXE] = Print " , 27 , 25 , ( 0 , 0 , 0 ), font2_c )
if keydown ( KEY_UP ):
sleep ( 0.2 )
num += 1
if keydown ( KEY_DOWN ):
sleep ( 0.2 )
num -= 1
kd . fill_rect ( 40 , 60 , 250 , 20 , ( 255 , 255 , 255 ))
if keydown ( KEY_LEFT ):
kd . draw_string ( str ( bin ( num )), 0 , 0 , ( 255 , 255 , 255 ), ( 255 , 255 , 255 ))
if keydown ( KEY_RIGHT ):
kd . draw_string ( str ( bin ( num )), 0 , 160 , ( 255 , 255 , 255 ), ( 255 , 255 , 255 ))
if keydown ( KEY_ONE ):
n = input ( " \n\n NUMBER: " )
if len ( str ( n )) < 1 :
n = 1
num = int ( n )
try :
a31 = int ( n )
except :
a31 = 0
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
random_frame ()
refresh_data ()
if keydown ( KEY_TWO ):
n = input ( " \n\n NUMBER: " )
if len ( str ( n )) < 1 :
n = 1
num = int ( n )
try :
a32 = int ( n )
except :
a32 = 0
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
random_frame ()
refresh_data ()
if keydown ( KEY_THREE ):
n = input ( " \n\n NUMBER: " )
if len ( str ( n )) < 1 :
n = 1
num = int ( n )
try :
a33 = int ( n )
except :
a33 = 0
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
random_frame ()
refresh_data ()
if keydown ( KEY_FOUR ):
n = input ( " \n\n NUMBER: " )
if len ( str ( n )) < 1 :
n = 1
num = int ( n )
try :
a21 = int ( n )
except :
a21 = 0
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
random_frame ()
refresh_data ()
if keydown ( KEY_FIVE ):
n = input ( " \n\n NUMBER: " )
if len ( str ( n )) < 1 :
n = 1
num = int ( n )
try :
a22 = int ( n )
except :
a22 = 0
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
random_frame ()
refresh_data ()
if keydown ( KEY_SIX ):
n = input ( " \n\n NUMBER: " )
if len ( str ( n )) < 1 :
n = 1
num = int ( n )
try :
a23 = int ( n )
except :
a23 = 0
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
random_frame ()
refresh_data ()
if keydown ( KEY_SEVEN ):
n = input ( " \n\n NUMBER: " )
if len ( str ( n )) < 1 :
n = 1
num = int ( n )
try :
a11 = int ( n )
except :
a11 = 0
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
random_frame ()
refresh_data ()
if keydown ( KEY_EIGHT ):
n = input ( " \n\n NUMBER: " )
if len ( str ( n )) < 1 :
n = 1
num = int ( n )
try :
a12 = int ( n )
except :
a12 = 0
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
random_frame ()
refresh_data ()
if keydown ( KEY_NINE ):
n = input ( " \n\n NUMBER: " )
if len ( str ( n )) < 1 :
n = 1
num = int ( n )
try :
a13 = int ( n )
except :
a13 = 0
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
random_frame ()
refresh_data ()
if num < 1 :
num = 1
kd . fill_rect ( 30 , 55 , 250 , 2 , ( 0 , 0 , 0 ))
kd . fill_rect ( 30 , 80 , 250 , 2 , ( 0 , 0 , 0 ))
kd . draw_string ( " Matrix Data: " , 30 , 130 , ( 0 , 0 , 0 ))
kd . draw_string ( " a11: " + str ( a11 ), 30 , 150 , ( 0 , 0 , 0 ))
kd . draw_string ( " a12: " + str ( a12 ), 30 , 170 , ( 0 , 0 , 0 ))
kd . draw_string ( " a13: " + str ( a13 ), 30 , 190 , ( 0 , 0 , 0 ))
kd . draw_string ( " a21: " + str ( a21 ), 30 , 210 , ( 0 , 0 , 0 ))
kd . draw_string ( " a22: " + str ( a22 ), 30 , 230 , ( 0 , 0 , 0 ))
kd . draw_string ( " a23: " + str ( a23 ), 30 , 250 , ( 0 , 0 , 0 ))
kd . draw_string ( " a31: " + str ( a31 ), 30 , 270 , ( 0 , 0 , 0 ))
kd . draw_string ( " a32: " + str ( a32 ), 30 , 290 , ( 0 , 0 , 0 ))
kd . draw_string ( " a33: " + str ( a33 ), 30 , 310 , ( 0 , 0 , 0 ))
if keydown ( KEY_ANS ):
sleep ( 0.2 )
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
a11 = choice ([ - 1 , + 1 ]) * randint ( 0 , 9 )
a12 = choice ([ - 1 , + 1 ]) * randint ( 0 , 9 )
a13 = choice ([ - 1 , + 1 ]) * randint ( 0 , 9 )
a21 = choice ([ - 1 , + 1 ]) * randint ( 0 , 9 )
a22 = choice ([ - 1 , + 1 ]) * randint ( 0 , 9 )
a23 = choice ([ - 1 , + 1 ]) * randint ( 0 , 9 )
a31 = choice ([ - 1 , + 1 ]) * randint ( 0 , 9 )
a32 = choice ([ - 1 , + 1 ]) * randint ( 0 , 9 )
a33 = choice ([ - 1 , + 1 ]) * randint ( 0 , 9 )
random_frame ()
kd . fill_rect ( 200 , 90 , 70 , 80 , ( 200 , 255 , 255 ))
refresh_data ()
kd . fill_rect ( 0 , 0 , WIDTH , HEIGHT , ( 255 , 255 , 255 ))
kd . draw_string ( " PRESS OK " , 100 , 100 )
print ( " \n " , a11 , a12 , a13 , a21 , a22 , a23 , a31 , a32 , a33 )
print ( " determ: " , determ )
print ( " trace: " , trace )