Я работаю над добавлением направленности, чтобы пользователь мог отслеживать свой путь в настольной игре. Я нашел некоторый код, который помог бы установить диагональное функционирование программы, но я не совсем уверен, что означает этот код. Было бы очень полезно, если бы кто-то мог объяснить функцию, размещенную ниже.
def valid_direction(x1, y1, x2, y2):
dy = y2 - y1
dx = x2 - x1
if dx == 0:
return dy != 0
elif dy == 0:
return dx != 0
else:
return abs(dx) == abs(dy)
Я также хочу разрешить пользователю вводить координаты, относящиеся к букве с 16-буквенной квадратной доски. В оболочке это выглядит так:
|w||e||b||e|
|r||t||o||l|
|e||t||a||e|
|i||p||a||a|
Enter coordinate:
Введенные координаты сохраняются в path = [], для которого я уже написал функцию. Моя цель - заставить эту функцию работать так, чтобы пользователю предлагалось несколько раз, пока он не закончил вводить фактическое слово. Вот функция
def validate_path(path):
word = word_from_path(path, board)
if valid_word(word):
# is it value = value from while loop and the rest?
value = word_value(word)
print("Value of {} is {}".format(word, value))
score += value
else:
print("Invalid word")
return validate_path(path)
И часть l oop для игры
while game:
curr_input = input("Enter coordinate: ")
if curr_input == "quit":
print("Your total score is:", score)
game = False
elif curr_input == "done":
validate_path(path)
Большое спасибо всем, кто тратит время на чтение всего этого!