【发布时间】:2022-09-25 16:43:50
【问题描述】:
我希望它从蛇穿过墙壁的坐标的同一方向的另一侧返回。
这是我定义蛇及其方向的部分
def __init__(self):
self.tail = None
self.head = None
self.body = [Vector2(5, 10), Vector2(4, 10), Vector2(3, 10)]
self.direction = Vector2(1, 0)
self.new_block = False
self.head_up = pygame.image.load(\"head_up.png\").convert_alpha()
self.head_down = pygame.image.load(\"head_down.png\").convert_alpha()
self.head_right = pygame.image.load(\"head_right.png\").convert_alpha()
self.head_left = pygame.image.load(\"head_left.png\").convert_alpha()
self.tail_up = pygame.image.load(\"tail_up.png\").convert_alpha()
self.tail_down = pygame.image.load(\"tail_down.png\").convert_alpha()
self.tail_right = pygame.image.load(\"tail_right.png\").convert_alpha()
self.tail_left = pygame.image.load(\"tail_left.png\").convert_alpha()
self.body_vertical = pygame.image.load(\"body_vertical.png\").convert_alpha()
self.body_horizontal = pygame.image.load(\"body_horizontal.png\").convert_alpha()
self.body_tr = pygame.image.load(\"body_tr.png\").convert_alpha()
self.body_tl = pygame.image.load(\"body_tl.png\").convert_alpha()
self.body_br = pygame.image.load(\"body_br.png\").convert_alpha()
self.body_bl = pygame.image.load(\"body_bl.png\").convert_alpha()
self.crunch_sound = pygame.mixer.Sound(\"Sound_crunch.wav\")
这部分应该可以正常工作但不能正常工作
本节中的##WINDOW WIDTH 和WINDOW HEIGHT 显示窗口的大小
if self.snake.body[0].x > 0 and self.snake.body[0].x != 0:
self.snake.body[0].x += WINDOW_WIDTH
if self.snake.body[0].y > 0 and self.snake.body[0].y != 0:
self.snake.body[0].y += WINDOW_HEIGHT
if self.snake.body[0].x > WINDOW_WIDTH and self.snake.body[0].x != WINDOW_WIDTH:
self.snake.body[0].x -= WINDOW_WIDTH
if self.snake.body[0].y > WINDOW_HEIGHT and self.snake.body[0].y != WINDOW_HEIGHT:
self.snake.body[0].y -= WINDOW_HEIGHT
if self.snake.body[0].x == 0:
self.snake.body[0].x += WINDOW_WIDTH
if self.snake.body[0].y == 0:
self.snake.body[0].y += WINDOW_HEIGHT
if self.snake.body[0].x == WINDOW_WIDTH:
self.snake.body[0].x = 0
if self.snake.body[0].y == WINDOW_HEIGHT:
self.snake.body[0].y = 0
def move_snake(self):
if self.new_block:
body_copy = self.body[:]
body_copy.insert(0, body_copy[0] + self.direction)
self.body = body_copy[:]
self.new_block = False
else:
body_copy = self.body[:-1]
body_copy.insert(0, body_copy[0] + self.direction)
self.body = body_copy[:]
标签: python python-3.x pygame