So I've written my border code under #Border but I don't know whats wrong with it. When I run the program the icon collides with the border only on when it reaches zero for both the x and y axis not when it reaches the maximum for both x and y-64 pixels. Also I was wondering how would you rotate an image based off of user key input.
import pygame
pygame.init()
screen = pygame.display.set_mode((900, 500))
# Game Window caption
pygame.display.set_caption("Snake Time")
# Game Window Icon
icon = pygame.image.load('snake.png')
pygame.display.set_icon(icon)
# Snake Player Image
Snake_Player = pygame.image.load('Snake Head.png')
PlayerX = 420
PlayerY = 435
PlayerX_Change = 0
PlayerY_Change = 0
def player(x, y):
screen.blit(Snake_Player, (x, y))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Player Movement
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
PlayerX_Change = -0.7
PlayerY_Change = 0
if event.key == pygame.K_RIGHT:
PlayerX_Change = 0.7
PlayerY_Change = 0
if event.key == pygame.K_UP:
PlayerY_Change = -0.7
PlayerX_Change = 0
if event.key == pygame.K_DOWN:
PlayerY_Change = 0.7
PlayerX_Change = 0
#Border
if PlayerX <= 0:
PlayerX = 0
elif PlayerX >= 836:
PlayerX = 0
elif PlayerY <= 0:
PlayerY = 0
elif PlayerY >= 500:
PlayerY = 0
PlayerX += PlayerX_Change
PlayerY += PlayerY_Change
# Game Window Color
screen.fill((30, 90, 0))
player(PlayerX, PlayerY)
pygame.display.update()