#simple calc window from math import * from random import * from random import randint as R from kandinsky import * from ion import * from ion import * from time import * bg=(R(0,255),R(0,255),R(0,255)) playerMoving=False time=9 points=0 level=1 text_x=0 text_y=0 level=1 travel=0 guard_default=10 guard_s=1 guard_x=R(160,310) guard_y=R(22,60) guard_w=guard_h=guard_default guard_c=(0,0,0) guard_outline_c=(R(0,255),R(0,255),R(0,255)) food_x=R(120,300) food_y=R(20,190) food_w=food_h=R(5,10) food_c=(R(0,255),R(0,255),R(0,255)) food_out='yellow' lives=3 energy=30 b=0 x=10 y=160 w=10 h=15 c=(R(155,255),R(155,255),R(155,255)) spike_s="#" spike_x=R(40,300) spike_y=R(50,250) spike_w=9 spike_h=16 spike_c=(R(50,250),R(50,250),R(50,250)) def drawEyes(): global x,y fill_rect(x+1,y+2,w-2,4,'white') fill_rect(x+3,y+3,2,3,'black') fill_rect(x+6,y+3,2,3,'black') def drawFood(): global food_x,food_y,food_w,food_h,food_c,food_out fill_rect(food_x,food_y,food_w,food_h,food_c) fill_rect(food_x,food_y,1,food_h,food_out) fill_rect(food_x+food_w-1,food_y,1,food_h,food_out) fill_rect(food_x,food_y,food_w,1,food_out) fill_rect(food_x,food_y+food_h-1,food_w,1,food_out) #eraser fill_rect(food_x-2,food_y,2,food_h,bg) fill_rect(food_x+food_w+1,food_y,2,food_h,bg) fill_rect(food_x,food_y-2,food_w,2,bg) fill_rect(food_x,food_y+food_h+1,food_w,2,bg) def moveguard(): global guard_x,guard_y guard_x-=R(1,4) def drawGuard(): global guard_x,guard_y,guard_w,guard_h,guard_c,guard_outline_c,bg fill_rect(guard_x,guard_y,guard_w,guard_h,guard_c) fill_rect(guard_x+guard_w+1,guard_y,2,guard_h,bg) fill_rect(guard_x,guard_y,1,guard_h,guard_outline_c) fill_rect(guard_x+guard_w-1,guard_y,1,guard_h,guard_outline_c) fill_rect(guard_x,guard_y,guard_w,1,guard_outline_c) fill_rect(guard_x,guard_y+guard_h-1,guard_w,1,guard_outline_c) def drawPlayer(): global x,y,w,h,c,outline_c,drawEyes outline_c=(0,0,0) fill_rect(x,y,w,h,c) #left fill_rect(x,y,2,h,outline_c) #right fill_rect(x+w-1,y,1,h,outline_c) #top fill_rect(x,y,w,1,outline_c) #bottom fill_rect(x,y+h-1,w,1,outline_c) drawEyes() def erasePlayer(): global x,y,w,h,bg fill_rect(x-2,y,2,h,bg) fill_rect(x+w+2,y,2,h,bg) fill_rect(x,y-2,w,2,bg) fill_rect(x,y+h+2,w,2,bg) fill_rect(0,0,322,222,bg) drawPlayer() drawGuard() while lives>0: drawPlayer() drawFood() drawGuard() if keydown(KEY_LEFT): fill_rect(x+w+1,y,1,h,bg) fill_rect(x-1,y,1,h,bg) fill_rect(x,y+h+1,w,1,bg) fill_rect(x,y-1,w,1,bg) x-=2 erasePlayer() # drawPlayer() if keydown(KEY_RIGHT): fill_rect(x+w+1,y,1,h,bg) fill_rect(x-1,y,1,h,bg) fill_rect(x,y+h+1,w,1,bg) fill_rect(x,y-1,w,1,bg) x+=2 drawPlayer() if keydown(KEY_UP): fill_rect(x,y+h+3,w,1,bg) y-=3 drawPlayer() if keydown(KEY_DOWN): fill_rect(x,y-3,w,1,bg) y+=3 drawPlayer() if x<-20: x=-20 if x+w>=350: x=350-w if y<=-10: y=-10 if y+h>=232: y=232-h if x+w>=food_x and x<=food_x+food_w and y+h>=food_y and y<=food_y+food_h: sleep(0.2) fill_rect(0,0,322,222,"cyan") fill_rect(0,0,322,50,(0,0,0)) fill_rect(0,47,322,3,"blue") fill_rect(0,222-53,322,3,"blue") fill_rect(0,222-50,322,50,(0,0,0)) draw_string("Level cleared!!",70,70) points+=round(time)*R(20,100) sleep(0.05) lives+=time/6 draw_string("Life: "+str(int(lives)),80,140,"blue") sleep(2) bg=(R(0,255),R(0,255),R(0,255)) fill_rect(0,0,322,222,bg) guard_x=R(160,300) guard_y=R(10,200) guard_w+=1 guard_h+=1 food_x=R(120,300) food_y=R(20,190) food_w=food_h=R(6,12) x=10 y=150 fill_rect(x,y,w,h,"cyan") level+=1 time=9 food_x-=R(-2,2) food_y+=R(-2,2) if food_x<0: food_x=0 if food_x>317: food_x=317 if food_y<20: food_y=20 if food_y>200: food_y=200 if keydown(KEY_RIGHT) or keydown(KEY_LEFT) or keydown(KEY_UP) or keydown(KEY_DOWN): if guard_x>x: guard_x-=R(0,3) if keydown(KEY_RIGHT) or keydown(KEY_LEFT) or keydown(KEY_UP) or keydown(KEY_DOWN): if guard_x<x: guard_x+=R(0,3) if keydown(KEY_RIGHT) or keydown(KEY_LEFT) or keydown(KEY_UP) or keydown(KEY_DOWN): if guard_y>y: guard_y-=R(0,3) if keydown(KEY_RIGHT) or keydown(KEY_LEFT) or keydown(KEY_UP) or keydown(KEY_DOWN): if guard_y<y: guard_y+=R(0,3) #player hit/energy loss high if x+w>=guard_x and x<=guard_x+guard_w and y+h>=guard_y and y<=guard_y+guard_h: fill_rect(x,y,w,h,"red") sleep(0.08) fill_rect(0,0,322,222,"red") sleep(0.02) fill_rect(0,0,322,222,bg) energy-=3 guard_w=guard_h=guard_default if energy<0 or time<0: sleep(0.2) lives-=1 energy=20 fill_rect(0,0,322,222,(0,0,0)) draw_string("lives: "+str(int(lives)),80,100,'white','black') sleep(0.12) draw_string("Travel: "+str(int(travel/10))+" feet.",80,140,'orange','black') sleep(1.5) fill_rect(0,0,322,222,bg) guard_x=R(150,300) guard_y=R(15,200) food_x=R(150,300) food_y=R(15,200) time=9 fill_rect(guard_x,guard_y+guard_h+1,1,1,(0,0,0)) if playerMoving: fill_rect(guard_x+int(guard_w/4),guard_y+int(guard_h/3),int(guard_w/2),int(guard_w/5),"red") if playerMoving==False: fill_rect(guard_x+int(guard_w/4),guard_y+int(guard_h/3),int(guard_w/2),int(guard_w/5),"white") draw_string("Time: "+str(round(time)),240,1,"cyan","black") draw_string("SCORE: "+str(points),2,1,"white","black") time-=0.05 if keydown(KEY_LEFT) or keydown(KEY_RIGHT) or keydown(KEY_UP) or keydown(KEY_DOWN): playerMoving=True else: playerMoving=False if time<1: time=1 guard_w+=R(0,1) guard_h+=R(0,1) if guard_w>35: guard_w=35 if guard_h>35: guard_h=35 if playerMoving: travel+=1 sleep(0.2) fill_rect(0,0,322,222,(0,0,0)) draw_string("GAME OVER",50,100,"red",(0,0,0)) draw_string("SCORE: "+str(points),50,140,"white",(0,0,0)) draw_string("Questions? email: wperez274@gmail.com",50,170)