Ошибка скрипта игрового сервера Python - Magnitude_Squared - PullRequest
0 голосов
/ 07 сентября 2018

Я новичок в python и пытаюсь создать сервер для небольшой игры под названием Cube World. Поскольку игра довольно слабо развита (довольно маленькое) сообщество должно создавать большую часть контента самостоятельно (вплоть до PvP). Это - оригинальный скрипт, который я пытаюсь использовать, но с некоторыми проблемами. Поскольку я совсем новичок, я задавал много вопросов о r / learnpython, но все меньше и меньше людей могут дать полезный ответ. В исходный сценарий внесены следующие изменения:

Строка 16:

import pygame

vec = pygame.math.Vector3

a = vec(1, 1, 1)

print(a.magnitude_squared())

Строка 386:

for player in players:

player.position = pygame.math.Vector3

distance = (self.event_location -
                        player.position).magnitude_squared()

Мне посоветовали в Reddit использовать pygame для решения проблемы magnitude_squared. В то время как он, кажется, исправил часть кода, у меня все еще есть некоторые проблемы. Обычно я получаю ошибку без атрибута с именем Magnitude_Squared , но в этом текущем сценарии я получаю TabError: непоследовательное использование табуляции и пробелов в отступе в строке 389 (self.event_location - player.position) .magnitude_squared () . Если кто-то может предоставить любую помощь или совет, это было бы здорово. (Имейте в виду, я очень мало знаю о том, как использовать Python)

1 Ответ

0 голосов
/ 07 сентября 2018

TabError происходит из-за того, что вы не можете использовать пробелы и табуляции при отступе строк в Python 3, просто придерживайтесь 4 пробелов на отступ (вы можете настроить свой редактор так, чтобы клавиша Tab вставляла 4 пробела).

AttributeError вероятно возникает из-за того, что вы должны вызывать функцию magnitude_squared следующим образом;

print(magnitude_squared(a))

Вместо этого;

print(a.magnitude_squared())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...