level_viewer_editor_game.py
Created by
wperez274
Created on
April 02, 2023
5.77 KB
from math import *
from random import *
from kandinsky import *
from random import randint as RAND
from kandinsky import *
from kandinsky import fill_rect as F
from kandinsky import draw_string as STR
from ion import *
from time import *
cenergy = 50
cpoints = 0
foodx = RAND ( 10 , 280 )
foody = RAND ( - 500 , - 300 )
foodw = 10
foodh = 10
foodc = ( 0 , 255 , 0 )
M = 255
GAME_MODE = False
cx = 150
cy = 160
cw = 10
ch = 10
cc = ( RAND ( 0 , 255 ), RAND ( 0 , 255 ), RAND ( 0 , 255 ))
bg = ( 61 , 43 , 2 )
level = [
[ 139 , 65 , 85 , 3 , ( 43 , 197 , 169 )],
[ 237 , 152 , 85 , 3 , ( 183 , 236 , 201 )],
[ 75 , 206 , 85 , 3 , ( 29 , 172 , 232 )],
[ 0 , 119 , 85 , 3 , ( 167 , 59 , 60 )]
]
F ( 0 , 0 , 322 , 222 , bg )
def draw_level ():
for i in level :
fill_rect ( * i )
def move_RIGHT ():
pass
def move_LEFT ():
sleep ( 0.001 )
if len ( level ) == 1 :
level [ 0 ][ 1 ] -= 1
if len ( level ) == 2 :
level [ 0 ][ 0 ] -= 1
level [ 1 ][ 0 ] -= 1
if len ( level ) == 3 :
level [ 0 ][ 0 ] -= 1
level [ 1 ][ 0 ] -= 1
level [ 3 ][ 0 ] -= 1
if len ( level ) == 4 :
level [ 0 ][ 0 ] -= 1
level [ 1 ][ 0 ] -= 1
level [ 2 ][ 0 ] -= 1
level [ 3 ][ 0 ] -= 1
if len ( level ) == 5 :
level [ 0 ][ 0 ] -= 1
level [ 1 ][ 0 ] -= 1
level [ 2 ][ 0 ] -= 1
level [ 3 ][ 0 ] -= 1
level [ 4 ][ 0 ] -= 1
if len ( level ) == 6 :
level [ 0 ][ 0 ] -= 1
level [ 1 ][ 0 ] -= 1
level [ 2 ][ 0 ] -= 1
level [ 3 ][ 0 ] += 1
level [ 4 ][ 0 ] -= 1
level [ 5 ][ 0 ] -= 1
if len ( level ) == 7 :
level [ 0 ][ 0 ] -= 1
level [ 1 ][ 0 ] -= 1
level [ 2 ][ 0 ] -= 1
level [ 3 ][ 0 ] -= 1
level [ 4 ][ 0 ] -= 1
level [ 5 ][ 0 ] -= 1
level [ 6 ][ 0 ] -= 1
def move_DOWN ():
sleep ( 0.001 )
if len ( level ) == 1 :
level [ 0 ][ 1 ] += 2
if len ( level ) == 2 :
level [ 0 ][ 1 ] += 2
level [ 1 ][ 1 ] += 2
if len ( level ) == 3 :
level [ 0 ][ 1 ] += 2
level [ 1 ][ 1 ] += 2
level [ 2 ][ 1 ] += 2
if len ( level ) == 4 :
level [ 0 ][ 1 ] += 2
level [ 1 ][ 1 ] += 2
level [ 2 ][ 1 ] += 2
level [ 3 ][ 1 ] += 2
if len ( level ) == 5 :
level [ 0 ][ 1 ] += 2
level [ 1 ][ 1 ] += 2
level [ 2 ][ 1 ] += 2
level [ 3 ][ 1 ] += 2
level [ 4 ][ 1 ] += 2
if len ( level ) == 6 :
level [ 0 ][ 1 ] += 2
level [ 1 ][ 1 ] += 2
level [ 2 ][ 1 ] += 2
level [ 3 ][ 1 ] += 2
level [ 4 ][ 1 ] += 2
level [ 5 ][ 1 ] += 2
if len ( level ) == 7 :
level [ 0 ][ 1 ] += 2
level [ 1 ][ 1 ] += 2
level [ 2 ][ 1 ] += 2
level [ 3 ][ 1 ] += 2
level [ 4 ][ 1 ] += 2
level [ 5 ][ 1 ] += 2
level [ 6 ][ 1 ] += 2
draw_level ()
while not keydown ( KEY_EXE ):
if GAME_MODE == False :
STR ( " PRESS: [LEFT],[DOWN],[SHIFT] " , 2 , 1 ,( 0 , 0 , 0 ),( 200 , 255 , 255 ))
STR ( " [EXE] = EXIT & PRINT DATA. " , 2 , 20 ,( 255 , 200 , 200 ), bg )
STR ( " [9] = GAME_MODE " , 170 , 200 ,( 255 , 255 , 200 ), bg )
if GAME_MODE :
F ( foodx , foody , foodw , foodh , foodc )
foodc = ( RAND ( 0 , 255 ), RAND ( 0 , 255 ), RAND ( 0 , 255 ))
foody += 2
if foodx < 3 :
foodx = 3
if foodx > 315 :
foodx = 315
if foody > 222 :
foody = RAND ( - 500 , - 300 )
if cx + cw >= foodx and cx <= foodx + foodw and cy + cw >= foody and cy <= foody + foodh :
sleep ( 0.1 )
F ( cx , cy , cw , ch ,( 0 , 255 , 255 ))
F ( foodx , foody , foodw , foodh ,( 0 , 255 , 0 ))
foodx = RAND ( 3 , 315 )
foody = RAND ( - 500 , - 315 )
cenergy += 5
pc = foodc
bg = ( RAND ( 0 , 255 ), RAND ( 0 , 255 ), RAND ( 0 , 255 ))
cpoints += RAND ( 50 , 100 )
STR ( " +5 " , cx - 15 , cy + 20 ,( 255 , 255 , 200 ), bg )
STR ( " Yes! " , 150 , 2 ,( 0 , 255 , 200 ), bg )
if keydown ( KEY_LEFT ):
F ( 0 , 0 , 322 , 222 , bg )
cx -= 5
draw_level ()
if keydown ( KEY_RIGHT ):
F ( 0 , 0 , 322 , 222 , bg )
cx += 5
draw_level ()
if keydown ( KEY_UP ):
F ( 0 , 0 , 322 , 222 , bg )
cy -= 5
draw_level ()
if keydown ( KEY_DOWN ):
F ( 0 , 0 , 322 , 222 , bg )
cy += 5
draw_level ()
for i in level :
if cx + cw >= i [ 0 ] and cx <= i [ 0 ] + i [ 2 ] and cy + ch >= i [ 1 ] and cy <= i [ 1 ] + i [ 3 ]:
F ( cx , cy , cw , ch ,( 255 , 0 , 0 ))
cenergy -= 1
if GAME_MODE :
if cenergy < 0 :
GAME_MODE == False
F ( 0 , 0 , 322 , 222 ,( 0 , 0 , 0 ))
while not keydown ( KEY_OK ):
STR ( " GAME OVER " , 100 , 100 , " orange " ,( 0 , 0 , 0 ))
STR ( " SCORE: " + str ( cpoints ), 100 , 130 , " white " ,( 0 , 0 , 0 ))
STR ( " PRESS [OK] " , 100 , 170 , " green " ,( 0 , 0 , 0 ))
STR ( " " , 100 , 100 , bg , bg )
STR ( " " , 100 , 160 , bg , bg )
draw_level ()
cx = 150
cy = 140
cenergy = 50
GAME_MODE == False
if GAME_MODE == False :
F ( cx , cy , 1 , ch , cc )
F ( cx + cw - 1 , cy , 1 , ch , cc )
F ( cx , cy , cw , 1 , cc )
F ( cx , cy + ch - 1 , cw , 1 , cc )
if GAME_MODE == True :
F ( cx , cy , 2 , ch ,( 0 , 255 , 0 ))
F ( cx + cw - 2 , cy , 2 , ch ,( 0 , 255 , 0 ))
F ( cx , cy , cw , 2 ,( 0 , 255 , 0 ))
F ( cx , cy + ch - 2 , cw , 2 ,( 0 , 255 , 0 ))
if keydown ( KEY_SHIFT ) and GAME_MODE == False :
sleep ( 0.2 )
bg = ( RAND ( 0 , 255 ), RAND ( 0 , 255 ), RAND ( 0 , 255 ))
F ( 0 , 0 , 322 , 222 , bg )
draw_level ()
if len ( level ) > 0 :
for i in level :
i [ - 1 ] = ( RAND ( 0 , M ), RAND ( 0 , M ), RAND ( 0 , M ))
for i in level :
if i [ 0 ] + i [ 2 ] <- 10 :
i [ 0 ] = 322
for j in level :
if j [ 1 ] + j [ 3 ] > 222 :
j [ 1 ] = 0 - j [ 3 ]
for i in level :
i [ - 1 ] = ( RAND ( 0 , M ), RAND ( 0 , M ), RAND ( 0 , M ))
if GAME_MODE == False :
if keydown ( KEY_DOWN ):
draw_level ()
move_DOWN ()
if keydown ( KEY_LEFT ):
draw_level ()
move_LEFT ()
if keydown ( KEY_NINE ):
sleep ( 0.2 )
GAME_MODE = True
if GAME_MODE :
F ( 0 , 0 , 3 , 222 ,( 255 , 0 , 0 ))
F ( 315 , 0 , 3 , 222 ,( 255 , 0 , 0 ))
STR ( " E: " , 4 , 4 ,( 0 , 255 , 255 ),( 0 , 0 , 0 ))
F ( 22 , 6 , int ( cenergy ), 12 ,( 255 , 0 , 0 ))
move_DOWN ()
draw_level ()
for i in level :
i [ 0 ] += RAND ( - 4 , 4 )
i [ 2 ] += RAND ( - 3 , 3 )
for j in level :
if j [ 1 ] + j [ 3 ] > 222 + RAND ( 50 , 100 ):
j [ 1 ] = 0 - j [ 3 ] - RAND ( 50 , 100 )
bg = choice ([ bg , bg ,( RAND ( 0 , M ), RAND ( 0 , M ), RAND ( 0 , M ))])
F ( 0 , 0 , 322 , 222 , bg )
for i in level :
i [ 0 ] = RAND ( 0 , 250 )
if cx < 3 :
cx = 3
F ( cx , cy , cw , ch ,( 255 , 0 , 0 ))
cenergy -= 0.1
if cx + cw > 315 :
cx = 315 - cw
F ( cx , cy , cw , ch ,( 255 , 0 , 0 ))
cenergy -= 0.1
#end
F ( 0 , 0 , 322 , 222 ,( 200 , 255 , 255 ))
STR ( " ( Press [OK] ) " , 90 , 100 )
print ( "" )
print ( " bg= " , bg )
print ( " level= " , level )