Почему координаты змеи не меняют направление на другую сторону

Я знаю, что код не аккуратный и не организованный, но я просто пытаюсь заставить его работать, и после этого я начну чистить и организовывать все на свои места

import sys
import pygame

pygame.init()

#assigns thingys to window adjustments
size = width, height = 750, 750
white = 255, 255, 255
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Snake Game")

#The coordinates and size of the snake square thingy
x = 200
y = 200
w  = 20
h = 20
vel = 10
vertical1 = 9000
vertical2 = 0 

while 1:
    
    #Delays the movement so you can see snake thingy fps
    pygame.time.delay(25)


    for event in pygame.event.get():
        if event.type == pygame.QUIT: sys.exit()

    #gets the presses to move the snake
    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT]:
        x= x - vel

    if keys[pygame.K_RIGHT]:
        x= x + vel

    if keys[pygame.K_DOWN]:
        y = y + vel

    if keys[pygame.K_UP]:
        y = y - vel

    screen.fill(white)

    #The snake thingy
    snake = pygame.draw.rect(screen, (0, 0, 0), (x, y, w, h))

    #Borders for the frame thingy 
    pygame.draw.line(screen, (0,0,0), (14, 10), (14, 800), 30)
    pygame.draw.line(screen, (0,0,0), (734, 10), (734, 800), 30) 
    pygame.draw.line(screen, (0,0,0), (9000, 734), (0 , 734), 30) 
    pygame.draw.line(screen, (0,0,0), (9000, 24), (0 , 24), 30) 
  
    if x < 30 and y == y:
        x == 700
        y == y
    pygame.display.update()  
pygame.quit

Здесь я столкнулся с проблемой, теоретически, если координаты змеи становятся меньше 30, она меняет координаты на 700, чтобы она могла быть на другой стороне. Однако, похоже, это не работает, поэтому я пытаюсь понять, что я сделал не так.

если x ‹30 и y == y:

x == 700

y == y

Это опечатка: x == 700 — это сравнение. Вы должны использовать присвоение x = 700   —  person Mohd osama    schedule 15.11.2020

См. также:  Julia Box: Google Colab для Джулии
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Mohd osama

    Ваш код в порядке, просто в нем есть опечатка:

    Измените эти строки:

    x==700
    y==y 
    

    To:

    x = 700
    

    О, вы успешно скопировали мой комментарий. На вопросы об опечатках не следует отвечать, их следует закрывать. См. Какие темы я могу задать здесь?. Я уверен, что вы это знаете, вы просто хотите заработать очки репутации. Я не голосую против, потому что ответ технически правильный. Однако ответа не должно быть, так как он не будет полезен другим пользователям. Это просто опечатка. person Mohd osama; 15.11.2020

    Спасибо .. отмечено .. вы предлагаете мне удалить ответ? person Mohd osama; 15.11.2020

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: