import pygame, sys, time, math from pygame.locals import * kps = float(input("What difficulty level?\n")) pygame.init() displaysurface = pygame.display.set_mode((1920,1080)) background = pygame.Surface((1920,1080)) tag = 255 mySurface = pygame.Surface((41,41)) mySurface.fill((tag,255-tag,0)) mySurface2 = pygame.Surface((41,41)) mySurface2.fill((255-tag,tag,0)) start = 0 k = 0 base_font = pygame.font.Font(None, 32) pos1 = [940, 520] pos2 = [0, 0] speed = 20 start = 0 while True: if kps <= 0 or kps > 5000: zombiespeed = k/1000 else: zombiespeed = kps xdist = pos1[0] - pos2[0] ydist = pos1[1] - pos2[1] dist = abs(xdist) + abs(ydist) pos2[0] += xdist / dist * zombiespeed/50 * start pos2[1] += ydist / dist * zombiespeed/50 * start for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() if event.type == pygame.KEYDOWN: start = 1 if (event.key == pygame.K_RIGHT or event.key == pygame.K_d) and pos1[0] < 1880: pos1[0] += speed if (event.key == pygame.K_LEFT or event.key == pygame.K_a) and pos1[0] > 0: pos1[0] -= speed if (event.key == pygame.K_DOWN or event.key == pygame.K_s) and pos1[1] < 1040: pos1[1] += speed if (event.key == pygame.K_UP or event.key == pygame.K_w) and pos1[1] > 0: pos1[1] -= speed rect1 = mySurface.get_rect(topleft=pos1) rect2 = mySurface2.get_rect(topleft=pos2) if rect1.colliderect(rect2): break displaysurface.blit(background, (0,0)) displaysurface.blit(mySurface, pos1) displaysurface.blit(mySurface2, pos2) k += start user_text = str(k / 1000) + "s" text_surface = base_font.render(user_text, True, (0, 255, 0)) displaysurface.blit(text_surface, (10, 10)) pygame.display.update() displaysurface.blit(background, (0,0)) base_font = pygame.font.Font(None, 100) user_text = "Game over! Your final time: " + str(k / 1000) + "s" text_surface = base_font.render(user_text, True, (255, 255, 255)) displaysurface.blit(text_surface, (400, 520)) red = 25.5 * min(kps, 10) green = 25.5 * max(min(20-kps, 10), 0) blue = 0 if kps <= 0 or kps > 5000: kps = "TIMED" red = 0 green = 0 blue = 255 base_font = pygame.font.Font(None, 50) user_text = "Difficulty level: " + str(kps) text_surface = base_font.render(user_text, True, (red, green, blue)) displaysurface.blit(text_surface, (400, 620)) pygame.display.update() time.sleep(3)