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\nNUMBER: ") 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\nNUMBER: ") 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\nNUMBER: ") 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\nNUMBER: ") 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\nNUMBER: ") 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\nNUMBER: ") 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\nNUMBER: ") 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\nNUMBER: ") 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\nNUMBER: ") 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)