From fff106ad2db732deb88fc3ef68db1013e6d3755b Mon Sep 17 00:00:00 2001 From: Vincents Xun Date: Fri, 26 Apr 2024 07:16:58 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=202p?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2p | 59 +++++++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/2p b/2p index 00d7016..2884720 100644 --- a/2p +++ b/2p @@ -158,8 +158,8 @@ def draw_maze(maze): def draw_menu(): font = pygame.font.Font(None, 36) title_text = font.render("Labirints", True, RED) - start_text = font.render("Press 1 to Control Player", True, BLACK) - start_text2 = font.render("Press 2 to Control Villain", True, BLACK) + start_text = font.render("Press 1 to Control Player 1", True, BLACK) + start_text2 = font.render("Press 2 to Control Player 2", True, BLACK) quit_text = font.render("Press Q to Quit", True, BLACK) screen.blit(title_text, (width // 2 - title_text.get_width() // 2, height // 2 - 100)) @@ -169,15 +169,16 @@ def draw_menu(): pygame.display.flip() -player = Player(32, 32) +player1 = Player(32, 32) +player2 = Player(736, 736) cheese = Cheese(416, 416) # Cheese position -villain = Villain(704, 704, player) # Villain's starting position -villain2 = Villain(32, 32, player) # Second villain's starting position +villain = Villain(704, 704, player1) # Villain's starting position +villain2 = Villain(32, 32, player2) # Second villain's starting position clock = pygame.time.Clock() running = True show_menu = True -control_player = True # 初始设置玩家控制主角 +control_player = True # 初始设置玩家1控制主角 while running: for event in pygame.event.get(): if event.type == pygame.QUIT: @@ -201,14 +202,14 @@ while running: dx, dy = 0, 0 if keys[pygame.K_LEFT]: - dx = -player.speed + dx = -player1.speed elif keys[pygame.K_RIGHT]: - dx = player.speed + dx = player1.speed if keys[pygame.K_UP]: - dy = -player.speed + dy = -player1.speed elif keys[pygame.K_DOWN]: - dy = player.speed + dy = player1.speed if dx != 0 and dy != 0: if keys[pygame.K_LEFT]: @@ -221,26 +222,27 @@ while running: dx = 0 walls, roads = draw_maze(maze) - player.move(dx, dy, walls) - player.update_image(dx, dy) + player1.move(dx, dy, walls) + player1.update_image(dx, dy) villain.move_towards_player(walls) - if player.rect.colliderect(villain.rect): - print("Game Over! You were caught by the villain.") + if player1.rect.colliderect(villain.rect): + print("Game Over! Player 1 was caught by the villain.") running = False - if player.rect.colliderect(cheese.rect): - player.cheese_count += 1 - print("You collected a cheese! Total cheese count:", player.cheese_count) + if player1.rect.colliderect(cheese.rect): + player1.cheese_count += 1 + print("Player 1 collected a cheese! Total cheese count:", player1.cheese_count) cheese.rect.topleft = random.choice(roads).topleft # Move cheese to a random position on a road - if player.cheese_count >= 10: - print("Congratulations! You collected 10 cheeses!") + if player1.cheese_count >= 10: + print("Congratulations! Player 1 collected 10 cheeses!") running = False screen.fill(BLUE) draw_maze(maze) - player.draw(screen) + player1.draw(screen) + player2.draw(screen) villain.draw(screen) pygame.display.flip() else: @@ -248,14 +250,14 @@ while running: dx, dy = 0, 0 if keys[pygame.K_a]: - dx = -villain2.speed + dx = -player2.speed elif keys[pygame.K_d]: - dx = villain2.speed + dx = player2.speed if keys[pygame.K_w]: - dy = -villain2.speed + dy = -player2.speed elif keys[pygame.K_s]: - dy = villain2.speed + dy = player2.speed if dx != 0 and dy != 0: if keys[pygame.K_a]: @@ -268,15 +270,16 @@ while running: dx = 0 walls, roads = draw_maze(maze) - villain2.move(dx, dy, walls) + player2.move(dx, dy, walls) - if villain2.rect.colliderect(player.rect): - print("Game Over! The second villain caught you.") + if player2.rect.colliderect(villain2.rect): + print("Game Over! Player 2 was caught by the second villain.") running = False screen.fill(BLUE) draw_maze(maze) - player.draw(screen) + player1.draw(screen) + player2.draw(screen) villain.draw(screen) villain2.draw(screen) pygame.display.flip()