attempt to make compatible with fast PCs

This commit is contained in:
cecilkorik 2024-01-31 22:18:16 -05:00
parent b20616146d
commit 7bc1c13a75

View file

@ -8,24 +8,36 @@ import random
pygame.init()
def handle_keys(keys):
global bounce, speed_player, trails, dir_player, color_player
repeat = 0
def handle_keys(keys, elapsed):
global bounce, speed_player, trails, dir_player, color_player, repeat
def repeatdelay(wait):
global repeat
repeat += elapsed
if repeat == elapsed:
return True
if repeat >= wait:
repeat = 0
return True
return False
for key in keys:
if key == K_b:
bounce = not bounce
elif key == K_q:
sys.exit(0)
elif key == K_c:
elif key == K_c and repeatdelay(0.2):
color_player = (random.randint(0,255), random.randint(0,255), random.randint(0,255))
elif key == K_t:
elif key == K_t and repeatdelay(1.0):
trails = not trails
elif key == K_UP:
speed_player += 0.01
elif key == K_DOWN:
speed_player -= 0.01
elif key == K_LEFT:
elif key == K_UP and repeatdelay(0.02):
speed_player += 0.05
elif key == K_DOWN and repeatdelay(0.02):
speed_player -= 0.05
elif key == K_LEFT and repeatdelay(0.02):
dir_player -= (math.pi / 180.0)
elif key == K_RIGHT:
elif key == K_RIGHT and repeatdelay(0.02):
dir_player += (math.pi / 180.0)
def move(coords, dir, mag):
@ -57,6 +69,7 @@ trails = False
scr.fill((0,0,0))
last_frame = pygame.time.get_ticks()
keys = []
while True:
@ -69,12 +82,15 @@ while True:
pass
else:
keys += [ev.key]
handle_keys(keys)
pygame.time.wait(1)
elapsed_ms = pygame.time.get_ticks() - last_frame
elapsed = elapsed_ms / 1000.0
last_frame = pygame.time.get_ticks()
handle_keys(keys, elapsed)
pygame.event.pump()
loc_new = move(loc_player, dir_player, speed_player)
loc_new = move(loc_player, dir_player, speed_player * 10.0 * elapsed)
if loc_new[0] < 5:
if not bounce:
@ -98,7 +114,7 @@ while True:
dir_player = bouncedir(0, dir_player)
if bounce:
loc_new = move(loc_player, dir_player, speed_player)
loc_new = move(loc_player, dir_player, speed_player * 10.0 * elapsed)
if not trails:
pygame.draw.circle(scr, (0,0,0), loc_player, 2, 1)