лабиринт состоит из множества красных блоков, чтобы апеллировать как лабиринт, я взял координаты всех квадратов на границе и пометил их под границей. Я хочу, чтобы игрок № 1 и № 2 не могли идти, например, налево, если там есть граница, но я попробовал 2 вещи, чтобы это исправить. оба неудачных. Сначала нужно было сказать, что после того, как он переехал, если он в одной из команд, он вернется. Вторым было заблокировать его движение, если там есть блок. Я мог бы действительно использовать некоторую помощь!
import pygame
import sys
import random
pygame.init()
width = 800
height = 800
white = (255,255,255)
blue = (0,0,255)
light_blue = (0,255,255)
red = (255,0,0)
black = (0,0,0)
player_pos = (50,50)
player_size = (50)
player_speed = (50)
player2_pos = (700,700)
border = ((50, 300) or (50, 350) or (50, 400) or (100, 50) or (100, 100) or (100, 150) or (100, 200) or (100, 300) or (100, 350) or (100, 400) or (100, 500) or (100, 550) or (100, 600) or (100, 650) or (150, 300) or (150, 400) or (150, 500) or (150, 650) or (200, 100) or (200, 150) or (200, 200) or (200, 250) or (200, 300) or (200, 400) or (200, 500) or (200, 600) or (200, 650) or (250, 400) or (250, 500) or (300, 50) or (300, 100) or (300, 200) or (300, 250) or (300, 300) or (300, 350) or (300, 400) or (300, 500) or (300, 550) or (300, 600) or (300, 650) or (350, 650) or (400, 50) or (400, 100) or (400, 150) or (400, 200) or (400, 300) or (400, 350) or (400, 400) or (400, 450) or (400, 500) or (400, 550) or (400, 600) or (400, 650) or (450, 200) or (450, 300) or (500, 100) or (500, 200) or (500, 300) or (500, 400) or (500, 450) or (500, 500) or (500, 550) or (500, 600) or (500, 650) or (550, 100) or (550, 200) or (550, 300) or (550, 550) or (600, 100) or (600, 300) or (600, 400) or (600, 450) or (600, 550) or (600, 650) or (650, 100) or (650, 150) or (650, 200) or (650, 250) or (650, 300) or (650, 400) or (650, 450) or (650, 550) or (650, 650) or (650, 700) or (650, 750) or (700, 450) or (0, 0) or (50, 0) or (100, 0) or (150, 0) or (200, 0) or (250, 0) or (300, 0) or (350, 0) or (400, 0) or (450, 0) or (500, 0) or (550, 0) or (600, 0) or (650, 0) or (700, 0) or (750, 0) or (0, 50) or (0, 100) or (0, 150) or (0, 200) or (0, 250) or (0, 300) or (0, 350) or (0, 400) or (0, 450) or (0, 500) or (750, 50) or (750, 100) or (750, 150) or (750, 200) or (750, 250) or (750, 300) or (750, 350) or (750, 400) or (750, 450) or (750, 500) or (750, 550) or (750, 600) or (750, 650) or (750, 700) or (50, 750) or (100, 750) or (150, 750) or (200, 750) or (250, 750) or (300, 750) or (350, 750) or (400, 750) or (450, 750) or (500, 750) or (550, 750) or (600, 750) or (650, 750) or (700, 750) or (750, 750) or (0, 200) or (0, 250) or (0, 300) or (0, 350) or (0, 400) or (0, 450) or (0, 500) or (0, 550) or (0, 600) or (0, 650) or (0, 700) or (0, 750))
screen = pygame.display.set_mode((width, height))
game_over = False
clock = pygame.time.Clock()
while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if event.type == pygame.KEYDOWN:
x = player_pos[0]
y = player_pos[1]
a = player2_pos[0]
b = player2_pos[1]
if event.key == pygame.K_LEFT:
x -= player_speed
if player_pos == border:
x += player_speed
elif event.key == pygame.K_RIGHT:
x += player_speed
elif event.key == pygame.K_UP:
y -= player_speed
elif event.key == pygame.K_DOWN:
y += player_speed
elif event.key == pygame.K_a:
a -= player_speed
elif event.key == pygame.K_d:
a += player_speed
elif event.key == pygame.K_w:
b -= player_speed
elif event.key == pygame.K_s:
b += player_speed
player_pos = [x,y]
player2_pos = [a,b]
print(event)
screen.fill(black)
pygame.draw.rect(screen, blue, (player_pos[0], player_pos[1], player_size, player_size))
pygame.draw.rect(screen, light_blue, (player2_pos[0], player2_pos[1], player_size, player_size))
pygame.draw.rect(screen, red, (50, 300, player_size, player_size))
pygame.draw.rect(screen, red, (50, 350, player_size, player_size))
pygame.draw.rect(screen, red, (50, 400, player_size, player_size))
pygame.draw.rect(screen, red, (100, 50, player_size, player_size))
pygame.draw.rect(screen, red, (100, 100, player_size, player_size))
pygame.draw.rect(screen, red, (100, 150, player_size, player_size))
pygame.draw.rect(screen, red, (100, 200, player_size, player_size))
pygame.draw.rect(screen, red, (100, 300, player_size, player_size))
pygame.draw.rect(screen, red, (100, 350, player_size, player_size))
pygame.draw.rect(screen, red, (100, 400, player_size, player_size))
pygame.draw.rect(screen, red, (100, 500, player_size, player_size))
pygame.draw.rect(screen, red, (100, 550, player_size, player_size))
pygame.draw.rect(screen, red, (100, 600, player_size, player_size))
pygame.draw.rect(screen, red, (100, 650, player_size, player_size))
pygame.draw.rect(screen, red, (150, 300, player_size, player_size))
pygame.draw.rect(screen, red, (150, 400, player_size, player_size))
pygame.draw.rect(screen, red, (150, 500, player_size, player_size))
pygame.draw.rect(screen, red, (150, 650, player_size, player_size))
pygame.draw.rect(screen, red, (200, 100, player_size, player_size))
pygame.draw.rect(screen, red, (200, 150, player_size, player_size))
pygame.draw.rect(screen, red, (200, 200, player_size, player_size))
pygame.draw.rect(screen, red, (200, 250, player_size, player_size))
pygame.draw.rect(screen, red, (200, 300, player_size, player_size))
pygame.draw.rect(screen, red, (200, 400, player_size, player_size))
pygame.draw.rect(screen, red, (200, 500, player_size, player_size))
pygame.draw.rect(screen, red, (200, 600, player_size, player_size))
pygame.draw.rect(screen, red, (200, 650, player_size, player_size))
pygame.draw.rect(screen, red, (250, 400, player_size, player_size))
pygame.draw.rect(screen, red, (250, 500, player_size, player_size))
pygame.draw.rect(screen, red, (300, 50, player_size, player_size))
pygame.draw.rect(screen, red, (300, 100, player_size, player_size))
pygame.draw.rect(screen, red, (300, 200, player_size, player_size))
pygame.draw.rect(screen, red, (300, 250, player_size, player_size))
pygame.draw.rect(screen, red, (300, 300, player_size, player_size))
pygame.draw.rect(screen, red, (300, 350, player_size, player_size))
pygame.draw.rect(screen, red, (300, 400, player_size, player_size))
pygame.draw.rect(screen, red, (300, 500, player_size, player_size))
pygame.draw.rect(screen, red, (300, 550, player_size, player_size))
pygame.draw.rect(screen, red, (300, 600, player_size, player_size))
pygame.draw.rect(screen, red, (300, 650, player_size, player_size))
pygame.draw.rect(screen, red, (350, 650, player_size, player_size))
pygame.draw.rect(screen, red, (400, 50, player_size, player_size))
pygame.draw.rect(screen, red, (400, 100, player_size, player_size))
pygame.draw.rect(screen, red, (400, 150, player_size, player_size))
pygame.draw.rect(screen, red, (400, 200, player_size, player_size))
pygame.draw.rect(screen, red, (400, 300, player_size, player_size))
pygame.draw.rect(screen, red, (400, 350, player_size, player_size))
pygame.draw.rect(screen, red, (400, 400, player_size, player_size))
pygame.draw.rect(screen, red, (400, 450, player_size, player_size))
pygame.draw.rect(screen, red, (400, 500, player_size, player_size))
pygame.draw.rect(screen, red, (400, 550, player_size, player_size))
pygame.draw.rect(screen, red, (400, 600, player_size, player_size))
pygame.draw.rect(screen, red, (400, 650, player_size, player_size))
pygame.draw.rect(screen, red, (450, 200, player_size, player_size))
pygame.draw.rect(screen, red, (450, 300, player_size, player_size))
pygame.draw.rect(screen, red, (500, 100, player_size, player_size))
pygame.draw.rect(screen, red, (500, 200, player_size, player_size))
pygame.draw.rect(screen, red, (500, 300, player_size, player_size))
pygame.draw.rect(screen, red, (500, 400, player_size, player_size))
pygame.draw.rect(screen, red, (500, 450, player_size, player_size))
pygame.draw.rect(screen, red, (500, 500, player_size, player_size))
pygame.draw.rect(screen, red, (500, 550, player_size, player_size))
pygame.draw.rect(screen, red, (500, 600, player_size, player_size))
pygame.draw.rect(screen, red, (500, 650, player_size, player_size))
pygame.draw.rect(screen, red, (550, 100, player_size, player_size))
pygame.draw.rect(screen, red, (550, 200, player_size, player_size))
pygame.draw.rect(screen, red, (550, 300, player_size, player_size))
pygame.draw.rect(screen, red, (550, 550, player_size, player_size))
pygame.draw.rect(screen, red, (600, 100, player_size, player_size))
pygame.draw.rect(screen, red, (600, 300, player_size, player_size))
pygame.draw.rect(screen, red, (600, 400, player_size, player_size))
pygame.draw.rect(screen, red, (600, 450, player_size, player_size))
pygame.draw.rect(screen, red, (600, 550, player_size, player_size))
pygame.draw.rect(screen, red, (600, 650, player_size, player_size))
pygame.draw.rect(screen, red, (650, 100, player_size, player_size))
pygame.draw.rect(screen, red, (650, 150, player_size, player_size))
pygame.draw.rect(screen, red, (650, 200, player_size, player_size))
pygame.draw.rect(screen, red, (650, 250, player_size, player_size))
pygame.draw.rect(screen, red, (650, 300, player_size, player_size))
pygame.draw.rect(screen, red, (650, 400, player_size, player_size))
pygame.draw.rect(screen, red, (650, 450, player_size, player_size))
pygame.draw.rect(screen, red, (650, 550, player_size, player_size))
pygame.draw.rect(screen, red, (650, 600, player_size, player_size))
pygame.draw.rect(screen, red, (650, 650, player_size, player_size))
pygame.draw.rect(screen, red, (650, 700, player_size, player_size))
pygame.draw.rect(screen, red, (650, 750, player_size, player_size))
pygame.draw.rect(screen, red, (700, 450, player_size, player_size))
pygame.draw.rect(screen, red, (0, 0, player_size, player_size))
pygame.draw.rect(screen, red, (50, 0, player_size, player_size))
pygame.draw.rect(screen, red, (100, 0, player_size, player_size))
pygame.draw.rect(screen, red, (150, 0, player_size, player_size))
pygame.draw.rect(screen, red, (200, 0, player_size, player_size))
pygame.draw.rect(screen, red, (250, 0, player_size, player_size))
pygame.draw.rect(screen, red, (300, 0, player_size, player_size))
pygame.draw.rect(screen, red, (350, 0, player_size, player_size))
pygame.draw.rect(screen, red, (400, 0, player_size, player_size))
pygame.draw.rect(screen, red, (450, 0, player_size, player_size))
pygame.draw.rect(screen, red, (500, 0, player_size, player_size))
pygame.draw.rect(screen, red, (550, 0, player_size, player_size))
pygame.draw.rect(screen, red, (600, 0, player_size, player_size))
pygame.draw.rect(screen, red, (650, 0, player_size, player_size))
pygame.draw.rect(screen, red, (700, 0, player_size, player_size))
pygame.draw.rect(screen, red, (750, 0, player_size, player_size))
pygame.draw.rect(screen, red, (0, 50, player_size, player_size))
pygame.draw.rect(screen, red, (0, 100, player_size, player_size))
pygame.draw.rect(screen, red, (0, 150, player_size, player_size))
pygame.draw.rect(screen, red, (0, 200, player_size, player_size))
pygame.draw.rect(screen, red, (0, 250, player_size, player_size))
pygame.draw.rect(screen, red, (0, 300, player_size, player_size))
pygame.draw.rect(screen, red, (0, 350, player_size, player_size))
pygame.draw.rect(screen, red, (0, 400, player_size, player_size))
pygame.draw.rect(screen, red, (0, 450, player_size, player_size))
pygame.draw.rect(screen, red, (0, 500, player_size, player_size))
pygame.draw.rect(screen, red, (750, 50, player_size, player_size))
pygame.draw.rect(screen, red, (750, 100, player_size, player_size))
pygame.draw.rect(screen, red, (750, 150, player_size, player_size))
pygame.draw.rect(screen, red, (750, 200, player_size, player_size))
pygame.draw.rect(screen, red, (750, 250, player_size, player_size))
pygame.draw.rect(screen, red, (750, 300, player_size, player_size))
pygame.draw.rect(screen, red, (750, 350, player_size, player_size))
pygame.draw.rect(screen, red, (750, 400, player_size, player_size))
pygame.draw.rect(screen, red, (750, 450, player_size, player_size))
pygame.draw.rect(screen, red, (750, 500, player_size, player_size))
pygame.draw.rect(screen, red, (750, 550, player_size, player_size))
pygame.draw.rect(screen, red, (750, 600, player_size, player_size))
pygame.draw.rect(screen, red, (750, 650, player_size, player_size))
pygame.draw.rect(screen, red, (750, 700, player_size, player_size))
pygame.draw.rect(screen, red, (50, 750, player_size, player_size))
pygame.draw.rect(screen, red, (100, 750, player_size, player_size))
pygame.draw.rect(screen, red, (150, 750, player_size, player_size))
pygame.draw.rect(screen, red, (200, 750, player_size, player_size))
pygame.draw.rect(screen, red, (250, 750, player_size, player_size))
pygame.draw.rect(screen, red, (300, 750, player_size, player_size))
pygame.draw.rect(screen, red, (350, 750, player_size, player_size))
pygame.draw.rect(screen, red, (400, 750, player_size, player_size))
pygame.draw.rect(screen, red, (450, 750, player_size, player_size))
pygame.draw.rect(screen, red, (500, 750, player_size, player_size))
pygame.draw.rect(screen, red, (550, 750, player_size, player_size))
pygame.draw.rect(screen, red, (600, 750, player_size, player_size))
pygame.draw.rect(screen, red, (650, 750, player_size, player_size))
pygame.draw.rect(screen, red, (700, 750, player_size, player_size))
pygame.draw.rect(screen, red, (750, 750, player_size, player_size))
pygame.draw.rect(screen, red, (0, 200, player_size, player_size))
pygame.draw.rect(screen, red, (0, 250, player_size, player_size))
pygame.draw.rect(screen, red, (0, 300, player_size, player_size))
pygame.draw.rect(screen, red, (0, 350, player_size, player_size))
pygame.draw.rect(screen, red, (0, 400, player_size, player_size))
pygame.draw.rect(screen, red, (0, 450, player_size, player_size))
pygame.draw.rect(screen, red, (0, 500, player_size, player_size))
pygame.draw.rect(screen, red, (0, 550, player_size, player_size))
pygame.draw.rect(screen, red, (0, 600, player_size, player_size))
pygame.draw.rect(screen, red, (0, 650, player_size, player_size))
pygame.draw.rect(screen, red, (0, 700, player_size, player_size))
pygame.draw.rect(screen, red, (0, 750, player_size, player_size))
clock.tick(20)
pygame.display.update()