문제

나는 간단한 질문이 있습니다. 지금까지 내 이야기 게임이 있습니다.

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 진술을 할 수 있지만, 나는 pythonic을 느끼고,이 일을하는 빠르고 효율적인 방법을 찾고 싶습니다.도움을주기 위해 미리 감사드립니다!

도움이 되었습니까?

해결책

@Isisev가 댓글을 따르면 위치 튜플이 해당 위치에서 발견 된 내용에 대한 데이터에 대한 데이터에 매핑되는 사전을 사용하는 것이 좋습니다.

이 위치에있는 것을 정의하는 Room 또는 Area라는 클래스를 만들 것입니다. 그런 다음 world라는 사전이나 플레이어가 이동할 수있는 모든 위치를 매핑하는 무언가를 만드십시오. 주어진 위치에 Area 객체가 없으면 거기에가는 것은 불가능합니다 (어쩌면 그것은 당신의 게임에서 감각적이지 않는 숲, 단단한 바위, 무엇이든).

Python에서 어드벤처 게임을 작성하는 방법에 대한 자습서를 읽는 것이 좋습니다. 이 책 파이썬을 배우십시오. 어려운 방법 은 이것에 헌신 한 장이 있고 인터넷에서 무료로 그 책을 얻을 수 있습니다 :

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

전체 책을 순서대로 읽는 경우 더 의미가있을 수 있습니다.

그걸 좋아하지 않으면 "Adventure Game Tutorial Python"에 대한 Google 검색을 시도해보십시오.

행운을 빌며 재미 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top