Лучший способ привязать историю к локации в игре?

StackOverflow https://stackoverflow.com//questions/22003880

  •  20-12-2019
  •  | 
  •  

Вопрос

У меня простой вопрос.Вот моя сюжетная игра на данный момент:

x = 0
y = 0
coords = (x,y)
def move(player) :
while 1 :
    global x
    global y
    global coords
    user_in = raw_input()
    if user_in == "w":
        y += 1
    elif user_in == "d":
        x += 1
    elif user_in == "a":
        x -= 1
    elif user_in == "s":
        y -= 1
    else :
        print "Thats not an assigned key"
    coords = (x,y)
    print player, "moved to", coords

move("Mason")

Я знаю, что мог бы сделать оператор if для каждого набора координат, но я чувствую себя питоном и хотел бы найти быстрый и эффективный способ сделать это.Заранее спасибо за помощь!

Это было полезно?

Решение

Как сказал @isedev в комментарии, я рекомендую использовать словарь, который сопоставляет кортежи местоположений с данными о том, что находится в этом месте.

Я бы создал класс под названием Room или Area это определяет, что существует в этом месте.Затем создайте словарь под названием world или что-то, что отображает все места, куда может пойти игрок.Если нет Area объект в заданной локации, то туда невозможно пройти (может быть, это непроходимый лес, твердая скала или что-то еще, что имеет смысл в вашей игре).

Я предлагаю вам прочитать руководство о том, как написать приключенческую игру на Python.Книга Изучите Python трудным путем этому есть глава, и вы можете получить эту книгу бесплатно в Интернете:

http://learnpythonthehardway.org/book/ex43.html

Возможно, будет больше смысла, если вы прочитаете всю книгу по порядку.

Если вам не нравится этот вариант, попробуйте поискать в Google «учебник по приключенческим играм Python», и вы найдете другие.

Удачи и получайте удовольствие.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top