volcano_escape.py

Created by wperez274

Created on September 25, 2023

18.7 KB

Platform game. Escape the volcanic lands to reach home, while avoiding the cursed skull of doom and the evil critters that creeps around.

Good luck.

You will need it.


from math import *
from random import *
from random import randint as RAND 
from kandinsky import *
from kandinsky import fill_rect as F
from ion import keydown as KP
from kandinsky import draw_string as STR 
from ion import *
from time import *

intro="""
Egor woke up to find
himself in chaos...




*[UP],[BACKSPACE] = float (Jump)
*[Toolbox] = Menu, Pause                            
*[Arrows[LEFT,RIGHT]] = MOVE,
*[Arrow[DOWN]] = CROUCH. 

"""

SW=322
SH=222

red="red"
green="green"
blue="blue"
yellow="yellow"
brown="brown"
cyan="cyan"
pink="pink"
orange="orange"
purple="purple"
black="black"
white="white"

bg=white

F(0,0,SW,SH,bg)
mx=0
my=150

while my>-80 and not KP(KEY_OK):
  sleep(0.01)    
  my-=RAND(0,1)
      
  STR(str(intro),mx,my)
  if my<-80:
    my=-80

sleep(1)

while not KP(KEY_OK):
  STR("           PRESS OK             ",0,140,(0,0,0),(0,255,255))

MAPX=0
MAPY=0


GAME_OVER=False
pstill=False
float=20
score=0

life=3
energy=30

x=80
y=30

w=12
h=20

c=(RAND(50,255),RAND(50,255),RAND(50,255))

direc=["left","right","up","down"]
DIR=direc[1]


level_1=[

[[0, 204, 98, 18, (247, 191, 193)], [0, 195, 20, 10, (199, 179, 149)], [147, 164, 34, 58, 'black'], [150, 167, 28, 52, 'white'], [150, 188, 28, 2, 'black'], [156, 149, 12, 14, (248, 111, 225)]],
[[0, 80, 72, 10, 'black'], [0, 90, 66, 132, (14, 168, 151)], [15, 178, 24, 44, (127, 15, 4)], [3, 118, 14, 24, (165, 117, 205)], [66, 124, 12, 8, (29, 108, 6)]],


#area=2
[[60, 212, 262, 10, 'black'], [134, 188, 188, 34, 'black'], [188, 185, 22, 20, 'red'], [245, 185, 22, 20, 'red'], [89, 164, 22, 20, 'red']],
#[[75, 178, 154, 44, 'black'], [99, 145, 110, 44, 'black'], [114, 145, 86, 64, 'red'], [236, 85, 86, 64, 'red'], [50, 16, 22, 32, (153, 126, 88)]],
#area=3
[[40, 176, 50, 46, black], [168, 134, 154, 88, black], [202, 86, 120, 88, black], [246, 44, 76, 88, black], [90, 206, 76, 16, red]],
#area=4
[[58, 182, 52, 40, black], [172, 144, 24, 78, black], [253, 208, 32, 14, black], [196, 208, 60, 14, red], [109, 208, 64, 14, red]],
#area=5
[[61, 212, 50, 10, black], [91, 170, 66, 52, black], [121, 118, 66, 104, black], [268, 178, 54, 16, black], [186, 206, 136, 16, red]],
#area=6
[[97, 122, 132, 100, black], [106, 132, 112, 90, red], [265, 124, 32, 42, red], [64, 212, 32, 8, black], [79, 182, 24, 8, black], [142, 122, 42, 12, red]],
#area=7
[[82, 86, 18, 136, black],[190, 86, 18, 136, black],[262, 110, 60, 16, black],[98, 182, 96, 40, red],[0, 128, 40, 8, black],[51, 170, 40, 8, black]],
#area=8
[[0, 175, 50, 10, black], [78, 143, 78, 10, black], [201, 114, 34, 108, black], [201, 0, 30, 62, red], [50, 214, 202, 8, red], [105, 142, 20, 6, red]],
#area=9
[[52, 212, 50, 10, black], [97, 161, 50, 10, black], [196, 203, 18, 10, black], [158, 0, 164, 50, black], [260, 132, 62, 90, black], [104, 216, 156, 6, red]],
#area=10
[[0, 162, 50, 100, black], [105, 172, 50, 50, black], [118, 27, 204, 98, black], [54, 210, 194, 12, red], [114, 0, 6, 126, red]],
#area=11
[[40, 212, SW, 10, red], [0, 0, SW, 94, black], [90, 156, 36, 58, black], [192, 156, 10, 58, black], [264, 204, 58, 8, black], [0, 202, 34, 20, black]],
#area=12
[[0, 212, 50, 10, black], [48, 154, 232, 68, black], [66, 91, 188, 68, black], [81, 91, 162, 128, red], [124, 57, 18, 14, black], [256, 0, 18, 40, black]],
#area=13
[[86, 212, 236, 10, red], [68, 140, 18, 82, black], [143, 188, 14, 6, black], [230, 128, 14, 6, black], [246, 62, 76, 6, black]],
#area=14
[[0, 68, 48, 154, black], [99, 126, 6, 96, black], [180, 126, 6, 96, black], [244, 0, 78, 168, black], [241, 0, 8, 168, red ], [48, 208, 136, 14, red ]],
#area=15
[[80, 100, 162, 122, black], [87, 93, 26, 8, red ], [153, 93, 26, 8, red ], [216, 93, 26, 8, red ], [51, 154, 184, 8, black], [82, 140, 6, 82, red ],[106, 112, 114, 110, 'red']],
#area=16
[[0, 160, 50, 10, black],[67, 96, 166, 126, black], [97, 96, 40, 125, red ], [172, 96, 40, 125, red ], [280, 78, 40, 40, red ], [63, 106, 4, 116, red ]],
#area=17
[[0, 148, 50, 10, black], [99, 100, 10, 122, black], [96, 94, 34, 24, black], [102, 100, 22, 12, (15, 56, 15)], [112, 206, 158, 16, red ]],
#area=18
[[90, 194, 232, 28, black],[114, 15, 20, 24, black],[120, 21, 2, 4, red ],[126, 21, 2, 4, red ],[249, 210, 2, 4, red ],[255, 210, 2, 4, red ]],
#area=19
[[0, 175, 50, 10, 'black'],[82, 42, 18, 180, black], [242, 122, 80, 100, black], [47, 119, 88, 8, black], [156, 3, 166, 44, red ], [102, 178, 140, 44, red ]],
#area=20
[[0, 114, 70, 108, 'black'], [120, 114, 6, 108, 'black'], [186, 114, 6, 108, 'black'], [276, 74, 46, 148, 'black'], [69, 164, 212, 58, 'red']],
#area=21
[[0, 126, 24, 96, 'black'], [69, 0, 178, 96, 'black'], [27, 220, 114, 2, 'red'], [208, 220, 114, 2, 'red'], [162, 100, 6, 70, 'red'], [258, 178, 64, 10, 'black']],
#area=22
[[0, 212, SW, 10, 'black'], [0, 0, SW, 90, 'black'], [67, 156, 46, 52, 'red'], [157, 93, 46, 52, 'red'], [241, 158, 46, 52, 'red']],
#area=23
[[0, 202, 50, 20, 'black'], [54, 202, 268, 20, 'red'], [54, 1, 268, 20, 'red'], [126, 133, 106, 20, 'red'], [48, 136, 58, 6, 'black'], [256, 103, 66, 6, 'black']],
#area=24
[[0, 106, 50, 10, 'black'], [102, 140, 6, 82, 'black'], [189, 180, 6, 42, 'black'], [132, 0, 6, 122, 'red'], [93, 100, 6, 122, 'red'], [208, 0, 114, 140, (102, 39, 44)]],
#area=25
[[105, 30, 30, 42, (255, 125, 99)], [225, 30, 30, 42, (255, 125, 99)], [159, 124, 142, 98, 'black'], [0, 182, 56, 40, 'black'], [171, 145, 114, 56, 'red'], [97, 114, 20, 60, 'red']],
#area=26
[[153, 25, 34, 70, (223, 78, 252)], [50, 152, SW-50, 70, 'red'], [0, 141, 38, 81, 'black'], [153, 90, 38, 6, 'black'], [282, 48, 38, 6, 'black']],
#area=27
[[0, 118, 50, 10, 'black'], [60, 169, 50, 10, 'black'], [190, 27, 30, 38, (220, 102, 200)], [223, 184, 6, 38, 'black'], [0, 214, SW, 8, 'red'], [72, 91, 250, 8, 'red'], [280, 178, 42, 10, 'black']],
#area=28
[[105, 72, 8, 150, 'red'], [150, 0, 8, 150, 'red'], [0, 210, SW, 12, 'red'], [0, 168, 66, 36, black], [36, 90, 62, 12, black ], [132, 186, 190, 12, black]],
#area=29
[[0, 166, 54, 10, black], [78, 184, 14, 10, black], [177, 106, 12, 34, black], [0, 204, SW, 18, 'red'], [280, 100, 42, 86, black], [118, 15, 22, 40, (232, 55, 188)]],
#area=30
[[0, 186, 74, 36, 'black'], [78, 153, 42, 4, 'black'], [216, 164, 106, 58, 'black'], [74, 200, 154, 22, 'red'], [91, 20, 14, 90, 'red'], [217, 0, 104, 110, 'red']],
#area=31
[[0, 116, 58, 106, 'black'], [0, 0, SW, 34, 'black'], [57, 212, 226, 10, 'red'], [33, 116, 16, 16, 'red'], [162, 185, 12, 16, 'black'], [102, 74, 6, 84, 'red']],
#area=32
[[0, 212, SW, 10, 'black'], [87, 208, 34, 14, 'red'], [153, 208, 132, 14, 'red'], [228, 112, 94, 14, 'black'], [313, 0, 6, SH, 'red'], [202, 33, 50, 12, 'black']],
#area=33
[[196, 0, 18, SH, 'red'], [304, 0, 18, SH, 'red'], [214, 212, 74, 10, 'black'], [250, 104, 56, 10, 'black'], [214, 20, 56, 10, 'black'], [43, 23, 22, 34, (254, 107, 249)]],
#area=34
[[0, 108, 216, 114, 'black'], [198, 108, 22, 114, 'red'], [0, 0, 26, 108, 'red'], [0, 0, SW, 26, 'black'], [276, 201, 46, 12, 'black'], [310, 30, 12, 106, 'red']],
#area=35
[[0, 188, 66, 34, 'black'], [228, 188, 8, 34, 'black'], [111, 39, 22, 34, (8, 102, 200)], [195, 39, 22, 34, (8, 102, 200)], [68, 214, 254, 8, 'red'], [238, 127, 84, 8, 'black']],
#area=36
[[0, 116, 50, 106, 'black'], [0, 0, SW, 20, 'black'], [0, 166, 104, 56, 'black'], [188, 194, 134, 28, 'black'], [214, 66, 108, 156, 'black'], [139, 33, 6, 156, 'red']],
#area=37
[[0, 66, 196, 156, 'black'], [48, 66, 38, 156, 'red'], [228, 0, 38, 156, 'red'], [131, 64, 64, 158, 'red'], [192, 204, 38, 18, 'red'], [225, 204, 14, 18, 'black'],[296, 112, 26, 110, 'black'], [278, 180, 24, 42, 'black']],
#area=38
[[0, 148, SW, 74, (45, 65, SH)], [57, 10, 26, 44, (183, 16, 235)], [171, 10, 26, 44, (183, 16, 235)], [0, 142, 50, 80, 'black'], [264, 100, 58, 122, 'black'], [226, 0, 96, 44, 'black']],
#area=39
[[0, 206, 66, 16, 'black'], [96, 113, 66, 16, 'black'], [256, 68, 66, 16, 'black'], [64, 214, 258, 8, 'red'], [0, 0, 176, 46, 'black']],
#area=40
[[0, 84, SW, 138, 'black']],
#area=41
[[0, 84, SW, 138, 'black']],
#area=42
[[0, 160, 74, 2, 'black'], [242, 126, 80, 96, 'black'], [0, 216, 244, 6, 'red'], [42, 81, 244, 6, 'red'], [135, 57, 12, 80, 'red'], [96, 142, 12, 80, 'red']],
#area=43
[[0, 115, 50, 10, 'black'], [0, 0, SW, 38, 'black'], [0, 184, SW, 38, (202, 182, 78)]],
#area=44
[[0, 184, SW, 38, (253, 155, 51)], [94, 49, 180, 2, 'white'], [0, 181, SW, 6, (6, 129, 36)]],
#area=45
[[0, 188, SW, 34, (200, 156, 89)], [0, 179, SW, 10, (147, 108, 19)], [87, 38, 50, 10, 'white'], [111, 32, 38, 10, 'white'], [252, 14, 38, 10, 'white']],
#area=46
[[0, 192, 66, 30, (181, 167, 14)], [0, 186, 66, 10, (139, 172, 15)], [188, 125, 134, 10, (15, 56, 15)], [196, 134, 126, 88, (41, 38, 14)], [28, 20, 48, 8, 'white'], [46, 14, 48, 8, 'white']],
#area=46
[[0, 136, 66, 10, (15, 56, 15)], [0, 146, 54, 76, (89, 85, 32)], [198, 90, 36, 132, (89, 85, 32)], [189, 78, 52, 14, (15, 56, 15)], [270, 114, 52, 14, (15, 56, 15)]],
#area=47
[[0, 128, 234, 94, (248, 134, 38)], [0, 117, 236, 12, (48, 98, 48)], [210, 15, 36, 12, 'white'], [195, 21, 36, 12, 'white'], [57, 0, 36, 12, 'white']],
#area=48
[[0, 100, 80, 122, (251, 183, 14)], [0, 88, 92, 14, (15, 56, 15)], [105, 133, 92, 14, (15, 56, 15)], [171, 187, 92, 14, (15, 56, 15)], [78, 208, 244, 14, (15, 56, 15)]],
#area=49
[[0, 212, SW, 10, (15, 56, 15)], [115, 50, 44, 14, 'white'], [127, 47, 44, 14, 'white'], [142, 41, 44, 14, 'white'], [260, 77, 38, 14, 'white'], [18, 65, 36, 8, 'white']],
#area=50
[[0, 156, 76, 66, (34, 138, 90)], [0, 150, 86, 8, (11, 202, 24)], [76, 214, 246, 8, (11, 202, 24)], [240, 61, 82, 8, (11, 202, 24)], [252, 69, 70, 144, (85, 135, 105)]],
#area=51
[[63, 42, 38, 18, 'white'], [78, 51, 38, 18, 'white'], [225, 51, 40, 8, 'white'], [207, 48, 40, 8, 'white'], [126, 102, 22, 120, (198, 145, 40)], [99, 63, 78, 86, (139, 172, 15)]],
#area=52
[[0, 212, 88, 10, (44, 237, 4)], [87, 216, 176, 6, (83, 76, 192)], [263, 202, 56, 20, (121, 174, 90)], [161, 40, 56, 20, 'white'], [125, 28, 56, 20, 'white'], [5, 76, 56, 20, 'white']],
#area=53
[[0, 216, SW, 6, (90, 208, 41)], [87, 210, 134, 10, (90, 208, 41)], [138, 98, 16, 112, (245, 227, 104)], [102, 71, 94, 74, (48, 98, 48)], [268, 75, 54, 12, 'white'], [28, 15, 54, 12, 'white']],

]




health=energy

tools=[]


def drawmenu():
  global life,energy,tools
  F(0,0,SW,SH,black)
  panel=[
  [50, 50, 254, 166, black], [6, 9, 236, 148, (243, 223, 225)]
  ]
  
  for i in panel:
    F(*i)
  
  while not KP(KEY_LEFT):
    STR("Life: "+str(round(life)),20,20)
    STR("Energy: "+str(energy),20,50)
    STR("Tools: "+str(tools),20,80)
    
    STR("PRESS LEFT TO RESUME JOURNEY",6,200,orange,black)  
    
          

F(0,0,SW,SH,bg)

#starting point
area=1
#******************

for i in level_1[area]:
  F(*i)


monitor=[
[0, 0, 86, 34, 'black'], [3, 3, 78, 26, (106, 24, 62)]
]

  
def refresh_level():
  F(0,0,SW,SH,bg)
  for i in level_1[area]:
    F(*i)
    
  for i in monitor:
    F(*i)
    
    
  


    


fb_dir=None
fb_x=0
fb_y=-150
fb_w=16
fb_h=16
fb_c=red


    
def move_fb():
  global fb_dir,fb_x,fb_y
  
  if fb_dir=="up":
    F(fb_x,fb_y+fb_h+1,fb_w,1,bg)
    fb_y-=1
    
  if fb_dir=="down":
    F(fb_x,fb_y-1,fb_w,1,bg)
    fb_y+=1
    
    
    
  if fb_y<0:
    fb_y=0
    fb_dir="down"

  if fb_y+fb_h>SH:
    fb_y=SH-fb_h
    fb_dir="up"


fb_dir=choice(["up","down"])

crit_time=0
crit_dir=choice(["left","right","up","down"])
crit_x=0
crit_y=-100

crit_w=RAND(12,18)
crit_h=RAND(10,12)
crit_c=(RAND(0,60),RAND(0,60),RAND(0,60))
critt_c2=(RAND(0,25),RAND(0,255),RAND(0,255))
critt_eyes_c=(RAND(0,25),RAND(0,255),RAND(0,255))







def move_critt():
  global crit_dir,crit_x,crit_y,crit_time,bg,area

  if crit_dir=="left":
    F(crit_x+crit_w+1,crit_y,2,crit_h,bg)
    F(crit_x-2,crit_y,2,crit_h,bg)
    F(crit_x,crit_y+crit_h+1,crit_w,2,bg)
    F(crit_x,crit_y-2,crit_w,2,bg)

    crit_x-=2

  if crit_dir=="right":
    F(crit_x+crit_w+1,crit_y,2,crit_h,bg)
    F(crit_x-2,crit_y,2,crit_h,bg)
    F(crit_x,crit_y+crit_h+1,crit_w,2,bg)
    F(crit_x,crit_y-2,crit_w,2,bg)

    crit_x+=2

  if crit_dir=="up":
    F(crit_x+crit_w+1,crit_y,2,crit_h,bg)
    F(crit_x-2,crit_y,2,crit_h,bg)
    F(crit_x,crit_y+crit_h+1,crit_w,2,bg)
    F(crit_x,crit_y-2,crit_w,2,bg)

    crit_y-=2

  if crit_dir=="down":
    F(crit_x+crit_w+1,crit_y,2,crit_h,bg)
    F(crit_x-2,crit_y,2,crit_h,bg)
    F(crit_x,crit_y+crit_h+1,crit_w,2,bg)
    F(crit_x,crit_y-2,crit_w,2,bg)


    crit_y+=2


  crit_time+=0.01
  
  if crit_time>RAND(1,3):
    crit_time=0
    F(crit_x-2,crit_y-2,crit_w+4,crit_h+4,bg)
    crit_dir=choice(["left","right","up","down"])

  if area>30:
  
    if crit_x>x and crit_time<0.4:
      crit_dir="left"
    if crit_x<x and crit_time<0.4:
      crit_dir="right"

    if crit_y>y and crit_time<0.4:
      crit_dir="up"
    if crit_y<y and crit_time<0.4:
      crit_dir="down"


      
        

        
  if crit_x<0:
    crit_x=0
    crit_dir=choice(["right","up","down"])
        
  if crit_x+crit_w>SW:
    crit_x=SW-crit_w
    crit_dir=choice(["left","up","down"])

  if crit_y<=0:
    crit_y=0
    crit_dir=choice(["down","left","right"])

  if crit_y+crit_h>=SH:
    crit_y=SH-crit_h
    crit_dir=choice(["up","left","right"])





dark_red=(30,0,0)


skull_x=0
skull_y=-35
skull_w=34
skull_h=38
skull_c=dark_red

        


def skull():
  global skull_x,skull_y,skull_w,skull_h,bg
 
 
  F(skull_x+0, skull_y+13, 34, 14, dark_red)
  F(skull_x+5, skull_y+6, 24, 30, dark_red)
  F(skull_x+9, skull_y+3, 16, 38, dark_red)
  F(skull_x+9, skull_y+21, 4, 4, (RAND(0,255),0,0))
  F(skull_x+21, skull_y+21, 4, 4, (RAND(0,255),0,0))
  
  F(skull_x+0+34+1, skull_y+13, 1, 14, bg)
  F(skull_x+5+24+1, skull_y+6, 1, 30, bg)
  F(skull_x+9+16+1, skull_y+3, 1, 38, bg)

  F(skull_x+0+34-3, skull_y+13, 3, 14, (75,0,0))
  F(skull_x+5+24-1, skull_y+6, 1, 30, (75,0,0))
  F(skull_x+9+16-2, skull_y+3, 2, 38, (75,0,0))

  skull_x-=1
  
  if skull_x+skull_w<-20:
    skull_x=RAND(350,500)
    skull_y=choice([y+RAND(-40,-20),RAND(0,150)])
    



pstill=False

#foodx=RAND(50,250)
#foody=100
#foodw=10
#foodh=16
#foodc=cyan


while not GAME_OVER and not keydown(KEY_EXE):
#  F(foodx,foody,foodw,foodh,foodc)
#  F(foodx+0, foody+0, 12, 4, (105, 11, 59))
#  F(foodx+3, foody+6, 6, 8, 'red')


  F(x,y,w,h,c)
  
  if area>5:
    F(crit_x,crit_y,crit_w,crit_h,crit_c)

    F(crit_x+4,crit_y+4,2,2,critt_eyes_c)
    F(crit_x+10,crit_y+4,2,2,critt_eyes_c)
    
    F(crit_x,crit_y,1,crit_h,critt_c2)
    F(crit_x+crit_w-1,crit_y,1,crit_h,critt_c2)
    F(crit_x,crit_y,crit_w,1,critt_c2)
    F(crit_x,crit_y+crit_h-1,crit_w,1,critt_c2)


    move_critt()
    move_fb()

    F(fb_x,fb_y,fb_w,fb_h,fb_c)
    F(fb_x+2,fb_y+2,fb_w-4,fb_h-4,(RAND(0,255),0,0))

  


  F(x+2,y+3,4,3,black)
  F(x+8,y+3,4,3,black)
  
  
  if KP(KEY_LEFT) and not pstill:
    x-=1
    F(x+w+1,y,1,h,bg)

  if KP(KEY_RIGHT):
    x+=1
    F(x-1,y,1,h,bg)
  if KP(KEY_UP) and float>0 or keydown(KEY_BACKSPACE) and float>0:
    y-=2
    F(x+w+1,y,1,h,bg)
    float-=0.3
    F(x,y+h+1,w,1,bg)
  
  
  
  for i in level_1[area]:
    if x+w>i[0] and x<i[0]+i[2] and y+h>i[1] and y<i[1]+i[3] and i[-1]==red:
      sleep(0.2)
      F(x,y,w,h,bg)
      life-=1
      fb_x=RAND(150,300)
      x=40
      y=30
      float=40
    

  for i in level_1[area]:
    if x+w>i[0] and x<i[0]+i[2] and y+h>i[1] and y+h<i[1]+2:
      float=0
      y-=1
      float=40
      
      
      
  for i in level_1[area]:
    if x+w>i[0] and x<i[0]+i[2] and y+h>i[1] and y+h<i[1]+i[3]:
      for i in level_1[area]:
        F(*i)
      

  if get_pixel(x,y+h) != black and get_pixel(x+w,y+h) != black or get_pixel(x,y+h) != white and get_pixel(x+w,y+h) != white:
    sleep(0.001)  
    y+=1
    F(x-1,y-1,w+2,1,bg)


  if get_pixel(x,y+h) == black and get_pixel(x+w,y+h) == black:
    float=20
    F(x,y,w,h,(0,255,0))

 

  if x>321:
    sleep(0.2)
    score+=RAND(50,100)
    life+=0.2
    fill_rect(0,0,SW,SH,black)
    sleep(0.1)
    fill_rect(0,0,SW,SH,bg)
    area+=1
    skull_x=RAND(350,500)
    skull_y=choice([y+RAND(-40,-20),RAND(0,150)])
    critt_c2=(RAND(0,25),RAND(0,255),RAND(0,255))
    critt_eyes_c=(RAND(0,25),RAND(0,255),RAND(0,255))


    x=0
    
    
    if area>5:
      fb_x=RAND(50,300)
      fb_y=RAND(0,170)
      fb_w=fb_h=RAND(12,20)

      crit_x=RAND(150,300)
      crit_y=RAND(15,200)
      crit_w=RAND(12,18)
      crit_h=RAND(10,12)
      crit_c=(RAND(0,60),RAND(0,60),RAND(0,60))

            
        
    
    for i in level_1[area]:
      F(*i)
    
      
  

  if life<1:
    sleep(0.4)
    for i in range(0,SW,3):
      for j in range(0,SH,3):
        sleep(0.00051)

        F(i,j,10,10,(RAND(0,255),)*3)
        
    sleep(1)    
    F(0,0,SW,SH,black)
    sleep(1)
    STR("GAME OVER",100,80,(255,0,0),black)
    sleep(1)
    STR("SCORE: "+str(score),100,140,white,black)
    sleep(1)
    
    GAME_OVER=True


  if x<0 and area>1:
    x=0
    
  if x<0 and area==1:
    x=321
    area-=1
    refresh_level()
    

  if y<0 and area<32:
    y=0
    
  if y<0 and x>250 and area==32:
    y=SH
    area+=1
    crit_x=RAND(200,300)
    crit_y=RAND(10,150)
    fb_x=RAND(0,150)
    fb_y=RAND(50,160)
    skull_x=RAND(500,700)
    skull_y=RAND(20,100)
    refresh_level()
    

  if y<0 and x>250 and area==33:
    y=SH
    area+=1
    crit_x=RAND(200,300)
    crit_y=RAND(10,150)
    fb_x=RAND(0,150)
    fb_y=RAND(50,160)
    skull_x=RAND(500,700)
    skull_y=RAND(20,100)
    refresh_level()


        
  if KP(KEY_TOOLBOX):
    drawmenu()
    refresh_level()



  for i in level_1[area]:
    if fb_x+fb_w>i[0] and fb_x<i[0]+i[2] and fb_y+fb_h>i[1] and fb_y<i[1]+i[3]:
      fb_dir=choice(["up","down"])
    
  if x+w>crit_x and x<crit_x+crit_w and y+h>crit_y and y<crit_y+crit_h:
    sleep(0.01)
    F(x,y,w,h,crit_c)
    energy-=1
    

  if x+w>skull_x and x<skull_x+skull_w and y+h>skull_y and y<skull_y+skull_h:
    sleep(0.01)
    F(x,y,w,h,(100,0,0))
    energy-=2


    
  if energy<0:
    energy=30
    life-=1
    sleep(0.2)
    F(x,y,w,h,bg)

    x=40
    y=30
    float=40

    
    

    
  if x+w>fb_x and x<fb_x+fb_w and y+h>fb_y and y<fb_y+fb_h:
    sleep(0.2)
    F(x,y,w,h,bg)
    fb_x=RAND(100,250)
    fb_y=RAND(20,150)
    crit_x=RAND(150,300)
    crit_y=RAND(15,200)
    life-=1
    x=40
    y=30
    float=40
  
      
  
  F(fb_x,fb_y,fb_w,fb_h,fb_c)
  F(fb_x+2,fb_y+2,fb_w-4,fb_h-4,(RAND(0,255),0,0))


  if KP(KEY_DOWN):
    F(x,y-10,w,10,bg)
    h=10

  else:
    h=20


  if y+h>SH:
    y=SH-h
    float=30


  if y>SH:
    y=0
    area=0
    float=30
          
    
  if area>10:
    skull()



  if KP(KEY_ZERO):
    refresh_level()




  F(x,y,1,h,black)
  F(x+w-1,y,1,h,black)
  F(x,y,w,1,black)
  F(x,y+h-1,w,1,black)


  if area==17:
    F(102,100,22,12,(0,RAND(0,155),0))
    F(104,120,2,2,(RAND(0,255),0,0))


  if area>47:
    bg=cyan


    fb_x=0
    fb_y=-25
    crit_x=0
    crit_y=-45
    skull_x=0
    skull_y=-100
  
  if area==0:
    if x<0:
      x=0

    
  F(0, 0, 78, 26, 'black')
  F(3, 3, 70, 18, (154, 34, 87))
  
  STR("Area:"+str(area),4,3,white,(154, 34, 87))


#  foody+=1
#  F(foodx,foody-1,foodw+2,1,bg)  
  
#  if foody+foodh>222:
#    foody=222-foodh

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.