from math import * from random import * from kandinsky import * from kandinsky import fill_rect as F from random import randint as RAND from ion import * from time import * #bg = (RAND(0,255),RAND(0,255),RAND(0,255)) bg = (134, 132, 12) tv_set=[ [58, 28, 212, 122, 'black'], [79, 37, 160, 102, (103, 169, 133)], [27, 151, 276, 60, 'black'], [30, 153, 268, 56, (166, 75, 34)], [250, 57, 14, 12, (39, 41, 41)], [250, 84, 14, 26, (39, 41, 41)], [0, 0, 22, 46, 'white'], [0, 0, 16, 40, (1, 231, 213)], [60, 210, 210, 12, (16, 37, 60)] ] #tv_set[1][-1]=(0,255,0) F(0,0,322,222,bg) for i in tv_set: F(*i) tv_on=0 lives=3 energy=30 score=0 x=tv_set[1][0]+int(tv_set[1][2]/2) y=tv_set[1][1]+int(tv_set[1][3]/2) w=6 h=10 c='orange' door_x=RAND(tv_set[1][0],tv_set[1][0]+tv_set[1][2]-10) door_y=RAND(tv_set[1][1],tv_set[1][1]+tv_set[1][3]-14) door_w=10 door_h=16 door_c=(RAND(0,255),RAND(0,255),RAND(0,255)) critt_x=RAND(tv_set[1][0],tv_set[1][0]+tv_set[1][2]-10) critt_y=RAND(tv_set[1][1],tv_set[1][1]+tv_set[1][3]-14) critt_w=7 critt_h=5 critt_c=(RAND(0,55),RAND(0,55),RAND(0,55)) key_found=False key_x=RAND(tv_set[1][0],tv_set[1][0]+tv_set[1][2]) key_x=RAND(tv_set[1][0],tv_set[1][0]+tv_set[1][2]-4) key_y=RAND(tv_set[1][1],tv_set[1][1]+tv_set[1][3]-6) key_w=4 key_h=6 key_c=(RAND(0,255),RAND(0,255),RAND(0,255)) player=[x,y,w,h,c] door=[door_x,door_y,door_w,door_h,door_c] critter=[critt_x,critt_y,critt_w,critt_h,critt_c] key=[key_x,key_y,key_w,key_h,key_c] screen_c=(RAND(0,255),RAND(0,255),RAND(0,255)) tx=60 ty=180 while 1: if keydown(KEY_OK): sleep(0.2) tv_set[1][-1]=(230,230,230) F(tv_set[1][0],tv_set[1][1],tv_set[1][2],tv_set[1][3],tv_set[1][4]) tv_on+=1 if tv_on>1: tv_on=0 if tv_on: # tv_set[1][-1]=(230,230,230) # F(tv_set[1][0],tv_set[1][1],tv_set[1][2],tv_set[1][3],tv_set[1][4]) F(tv_set[1][0],tv_set[1][1],tv_set[1][2],tv_set[1][3],screen_c) F(*player) F(*door) F(*critter) F(*key) F(player[0]+2,player[1]+2,1,2,(0,0,0)) F(player[0]+4,player[1]+2,1,2,(0,0,0)) F(player[0],player[1],1,player[3],(0,0,0)) F(player[0]+player[2]-1,player[1],1,player[3],(0,0,0)) F(player[0],player[1],player[2],1,(0,0,0)) F(player[0],player[1]+player[3]-1,player[2],1,(0,0,0)) F(key[0],key[1],1,key[3],(0,0,0)) F(key[0]+key[2]-1,key[1],1,key[3],(0,0,0)) F(key[0],key[1],key[2],1,(0,0,0)) F(key[0],key[1]+key[3]-1,key[2],1,(0,0,0)) F(door[0],door[1],2,door[3],(0,0,0)) F(door[0]+door[2]-1,door[1],1,door[3],(0,0,0)) F(door[0],door[1],door[2],1,(0,0,0)) F(door[0],door[1]+door[3]-2,door[2],2,(0,0,0)) if tv_on==False: tv_set[1][-1]=(103, 169, 133) F(tv_set[1][0],tv_set[1][1],tv_set[1][2],tv_set[1][3],tv_set[1][4]) if tv_on and lives>0: if keydown(KEY_LEFT): sleep(0.005) player[0]-=2 if player[0]<tv_set[1][0]: player[0]=tv_set[1][0] if keydown(KEY_RIGHT): sleep(0.005) player[0]+=2 if player[0]+player[2]>tv_set[1][0]+tv_set[1][2]: player[0]=tv_set[1][0]+tv_set[1][2]-player[2] if keydown(KEY_UP): sleep(0.005) player[1]-=2 if player[1]<tv_set[1][1]: player[1]=tv_set[1][1] if keydown(KEY_DOWN): sleep(0.005) player[1]+=2 if player[1]+player[3]>tv_set[1][1]+tv_set[1][3]: player[1]=tv_set[1][1]+tv_set[1][3]-player[3] if keydown(KEY_LEFT) or keydown(KEY_RIGHT) or keydown(KEY_UP) or keydown(KEY_DOWN): if critter[0]<player[0]: critter[0]+=RAND(0,3) if critter[0]>player[0]: critter[0]-=RAND(0,3) if critter[1]<player[1]: critter[1]+=RAND(0,3) if critter[1]>player[1]: critter[1]-=RAND(0,3) if player[0]+player[2]>key[0] and player[0]<key[0]+key[2] and player[1]+player[3]>key[1] and player[1]<key[1]+key[3]: F(key[0],key[1],key[2],key[3],(230,)*3) key[0]=0 key[1]=-20 key_found=True if player[0]+player[2]>critter[0] and player[0]<critter[0]+critter[2] and player[1]+player[3]>critter[1] and player[1]<critter[1]+critter[3]: F(player[0],player[1],player[2],player[3],(255,0,0)) energy-=0.5 if energy<1: sleep(0.2) F(tv_set[1][0],tv_set[1][1],tv_set[1][2],tv_set[1][3],tv_set[1][4]) energy=30 lives-=1 while not keydown(KEY_LEFT): draw_string("Lives:"+str(lives),tv_set[1][0]+40,tv_set[1][1]+40) draw_string("Press [LEFT]",tv_set[1][0]+20,tv_set[1][1]+80,(0,255,0),(0,0,0)) critter[0]=RAND(tv_set[1][0]+int(tv_set[1][2]/2),tv_set[1][0]+tv_set[1][2]-critter[2]) critter[1]=RAND(tv_set[1][1],tv_set[1][1]+tv_set[1][3]-14) if key_found and player[0]+player[2]>door[0] and player[0]<door[0]+door[2] and player[1]+player[3]>door[1] and player[1]<door[1]+door[3]: sleep(0.2) draw_string("Cleared!!",tv_set[1][0]+30,tv_set[1][1]+50) sleep(1) door[0]=RAND(tv_set[1][0]+int(tv_set[1][2]/2),tv_set[1][0]+tv_set[1][2]-door[2]) door[1]=RAND(tv_set[1][1],tv_set[1][1]+tv_set[1][3]-door[2]) door[-1]=(RAND(0,255),RAND(0,255),RAND(0,255)) critter[0]=RAND(tv_set[1][0]+int(tv_set[1][2]/2),tv_set[1][0]+tv_set[1][2]-critter[2]) critter[1]=RAND(tv_set[1][1],tv_set[1][1]+tv_set[1][3]-critter[2]) critter[-1]=(RAND(0,85),RAND(0,85),RAND(0,85)) key[0]=RAND(tv_set[1][0]+int(tv_set[1][2]/2),tv_set[1][0]+tv_set[1][2]-key[2]) key[1]=RAND(tv_set[1][1],tv_set[1][1]+tv_set[1][3]-key[2]) key[-1]=(RAND(0,255),RAND(0,255),RAND(0,255)) player[0]=tv_set[1][0]+10 player[1]=tv_set[1][1]+int(tv_set[1][3]/2) F(tv_set[1][0],tv_set[1][1]+40,tv_set[1][2],50,(0,0,0)) energy+=5 key_found=False screen_c=(RAND(0,255),RAND(0,255),RAND(0,255)) F(tv_set[1][0],tv_set[1][1],tv_set[1][2],tv_set[1][3],screen_c) score+=RAND(25,50) if energy>30: energy=0 lives+=1 F(tv_set[1][0],tv_set[1][1],tv_set[1][2],tv_set[1][3],(103, 169, 133)) if tv_on==False: draw_string("Press [OK] to turn on",60,180,(0,255,0),(0,0,0)) if tv_on: draw_string("Press [OK] to turn on",60,180,(0,0,0),(0,0,0)) if tv_on and lives>0: draw_string("Score:"+str(score),60,180,(255,)*3,(0,0,0)) if tv_on and lives<1: draw_string("GAME OVER",80,180,(255,)*3,(0,0,0))