테스트 사이트 - 개발 중인 베타 버전입니다

파이썬 질문

boaty 4년 전 조회 3,986

def title():     print('''      *무엇을 도와 드릴까요?*      *1. 게임 시작      *2. 게임 설명      *3. 종    료(나가기)      *-----------------------------      *번호를 입력하세요: ''',end='')     order = input()     return order    def game():     name = input('이름을 입력하세요: ')     gender = input('당신의 성별을 입력하세요(남/여) ')     if gender =='남':         print(name, '너 멋진걸 보니 파이썬을 잘할것 같구나')     else:         print(name, '너 예쁜걸 보니 파이썬을 잘할것 같구나')     print('파이썬을 배우기 위한 모험을 떠나 보도록 하자')     return    def explanation():     print("이 게임은 파이썬을 배우기위한 게임입니다")     print("(1. 좌 2. 우 3. 하 4. 상)")     print('''     무엇을 도와 드릴까요?     1. 게임 시작     2. 타이틀로 돌아가기     -----------------------------     번호를 입력하세요: ''',end='')      order = input()     return order    def DrawMap(g_map):     i=0     j=0     for i in range(0,7) :         for j in range(0,7) :             if g_player_pos_x == j and g_player_pos_y == i:                  print("P", end = ' ')             else:                 print(g_map[i][j], end = ' ')                        print(end = "\n")                                   

g_map = [['0','0','0','0','0','0','0'],          ['0','0','0','0','0','0','0'],          ['0','0','0','0','0','0','0'],          ['0','0','0','0','0','0','0'],          ['0','0','0','0','0','0','0'],          ['0','0','0','0','0','0','0'],          ['0','0','0','0','0','0','1']]

g_player_pos_x = 0 g_player_pos_y = 0

while g_map[g_player_pos_x][g_player_pos_y] != '1' :     DrawMap(g_map)     g_input = input("\n명령을 내려주세요(1. 좌 2. 우 3. 하 4. 상) : ")          if g_input == '1':         if g_player_pos_x > 0:             g_player_pos_x = g_player_pos_x - 1     if g_input == '2':         if g_player_pos_x < 6:             g_player_pos_x = g_player_pos_x + 1     if g_input == '3':         if g_player_pos_y < 6:             g_player_pos_y = g_player_pos_y + 1     if g_input == '4':         if g_player_pos_y > 0:             g_player_pos_y = g_player_pos_y - 1 DrawMap(g_map) print("\n안녕하세요!")

print(''' 두근두근 파이썬 ''') while True:     u1 = title()      if u1 == '1':         game()                            elif u1 == '2':         u2 = explanation()         if u2 == '1':             game()     else:         break

 

 

 

 

def map을 만들었는데 1.게임시작 을 하였을때 만든 맵에서 게임을 실행할수있도록 하는 코드를 추가해야하는데 여기서 어떻게 하면 될까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

메인함수를 분리하시는것이 좋습니다

if "__init__" == "__main__"

 

리뷰해드리자면

1. game(): 함수에서 return 뒤에 None이던지

return 되는것이 없습니다.

 

2. input()으로 받은 str변수가 '1'일 경우  game함수가 실행되니

 

drawmap을 따로 함수로 선언하시고

game함수 안에을 drawmap 콜하는 방식으로 가셔야 할것 같습니다.

 

지금 코드는 function인  game()에서 

성별을 입력받고 실행해주는것이 아무것도 없네요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인