Awesome Calculator with Navigation [Arrows] Control! Less typing; more thinking and learning.
Questions?:
wperez274@gmail.com
You Welcome.
#simple calculator from math import * from kandinsky import * from ion import * from random import * from random import randint as R from time import * default_c=(12,2,41) M=True D=False A=False S=False bg=default_c sym=["x","/","+","-"] func=sym[0] a=1 b=0 c=a*b a_x=None b_x=None cursor_LEFT=True cursor_RIGHT=False cursor_x=16 cursor_y=15 cursor_w=25 cursor_h=22 cursor_c="red" #line across def line(y,c): x=0 w=322 h=2 fill_rect(x,y,w,h,c) def printData(): global a,b,c draw_string("= "+str(int(c)),160,20) draw_string(str(int(a))+" "+str(func)+" "+str(int(b)),20,20) def nLen(num): l=len(str(num)) #print(len(str(num))) return l def drawCursor(): global cursor_x,cursor_y,cursor_w,cursor_h,cursor_c fill_rect(cursor_x,cursor_y,cursor_w,2,cursor_c) def cursor_xy(): global slot,cursor_x,cursor_y,drawCursor if keydown(KEY_LEFT): cursor_x=16 clearScreen() printData() cursor_LEFT=True cursor_RIGHT=False if keydown(KEY_RIGHT): if len(str(a))==1: cursor_x = len(str(a)*7)+55 if len(str(a))>1: cursor_x = len(str(a)*7)+55 clearScreen() printData() cursor_LEFT=False cursor_RIGHT=True def clearScreen(): fill_rect(2,2,318,48,"white") def resetNum(): global a,b,c sleep(0.2) a=1 b=1 clearScreen() printData() def paint(): global bg,default_c bg=(R(0,155),R(0,155),R(0,155)) fill_rect(0,50,322,222,bg) fill_rect(0,50,322,2,(0,0,0)) #outline/border fill_rect(0,0,2,222,(0,0,0)) fill_rect(319,0,2,222,(0,0,0)) fill_rect(0,0,322,3,(0,0,0)) fill_rect(0,220,322,2,(0,0,0)) def update(): global a,b,M,D,A,S,func,sym,cursor_x,cursor_y,nt if keydown(KEY_MULTIPLICATION): M=True D=False A=False S=False func=sym[0] clearScreen() printData() if keydown(KEY_DIVISION): M=False D=True A=False S=False func=sym[1] clearScreen() printData() if keydown(KEY_PLUS): M=False D=False A=True S=False func=sym[2] clearScreen() printData() if keydown(KEY_MINUS): M=False D=False A=False S=True func=sym[3] clearScreen() printData() if keydown(KEY_PLUS): M=False D=False A=True S=False if keydown(KEY_MINUS): M=False D=False A=False S=True #00000000000000000000000000 if keydown(KEY_ZERO) and cursor_x==16 or keydown(KEY_BACKSPACE) and cursor_x==16: a=0 if func==sym[1]: a=1 clearScreen() printData() if keydown(KEY_ZERO) and cursor_x>16 or keydown(KEY_BACKSPACE) and cursor_x>16: b=0 if func==sym[1]: a=1 clearScreen() printData() #11111111111111111111111111 if keydown(KEY_ONE) and cursor_x==16: a=1 clearScreen() printData() if keydown(KEY_ONE) and cursor_x>16: b=1 clearScreen() printData() #2222222222222222222222222 if keydown(KEY_TWO) and cursor_x==16: a=2 clearScreen() printData() if keydown(KEY_TWO) and cursor_x>16: b=2 clearScreen() printData() #3333333333333333333333333 if keydown(KEY_THREE) and cursor_x==16: a=3 clearScreen() printData() if keydown(KEY_THREE) and cursor_x>16: b=3 clearScreen() printData() #444444444444444444444444 if keydown(KEY_FOUR) and cursor_x==16: a=4 clearScreen() printData() if keydown(KEY_FOUR) and cursor_x>16: b=4 clearScreen() printData() #5555555555555555555555555 if keydown(KEY_FIVE) and cursor_x==16: a=5 clearScreen() printData() if keydown(KEY_FIVE) and cursor_x>16: b=5 clearScreen() printData() #66666666666666666666666666 if keydown(KEY_SIX) and cursor_x==16: a=6 clearScreen() printData() if keydown(KEY_SIX) and cursor_x>16: b=6 clearScreen() printData() #77777777777777777777777777 if keydown(KEY_SEVEN) and cursor_x==16: a=7 clearScreen() printData() if keydown(KEY_SEVEN) and cursor_x>16: b=7 clearScreen() printData() #8888888888888888888888888 if keydown(KEY_EIGHT) and cursor_x==16: a=8 clearScreen() printData() if keydown(KEY_EIGHT) and cursor_x>16: b=8 clearScreen() printData() #99999999999999999999999999 if keydown(KEY_NINE) and cursor_x==16: a=9 clearScreen() printData() if keydown(KEY_NINE) and cursor_x>16: b=9 clearScreen() printData() #------------------------- #cursor up / down if cursor_x==16: if keydown(KEY_UP): sleep(0.17) a+=1 clearScreen() printData() if cursor_x>16: if keydown(KEY_UP): sleep(0.17) b+=1 clearScreen() printData() if cursor_x==16: if keydown(KEY_DOWN): sleep(0.17) a-=1 clearScreen() printData() if cursor_x>16: if keydown(KEY_DOWN): sleep(0.17) b-=1 clearScreen() printData() fill_rect(0,0,322,222,default_c) clearScreen() printData() while 1: #print ans if M: c=a*b printData() if D: if b==0: b=1 c=a/b draw_string("= "+str(float(c)),160,20) printData() if A: c=a+b printData() if S: c=a-b printData() update() cursor_xy() drawCursor() draw_string("[OK] = Random Number",0,75,(255,150,45),'black') draw_string("[UP],[DOWN] = Increase,Decrease",4,115,'cyan',bg) draw_string("[BACKSPACE] = Reset to 0.",4,160,(0,255,0),(0,0,0)) draw_string("RGB: "+str(bg),4,202,'white',bg) if func==sym[1]: if a<=0:a=1 if cursor_LEFT: cursor_RIGHT=False if cursor_RIGHT: cursor_LEFT=False if keydown(KEY_OK): if cursor_x==16: sleep(0.2) clearScreen() a=R(1,1000) if keydown(KEY_OK): if cursor_x > 16: sleep(0.2) clearScreen() b=R(1,1000) if keydown(KEY_SHIFT): sleep(0.2) paint() clearScreen() printData() cursor_c=bg