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

파이썬 질문이요 ㅜㅜ

awjwjv22 4년 전 조회 4,115

파이썬을 공부하는 초보 학생입니다.

처음에서 3을 입력하고 메뉴로 이동한다음에 1을 눌러 타이틀메뉴로 돌아간다음에 스타트(1)을 입력하면

메인게임으로 넘어가지않습니다. 그리고 10x10 맵에서 9,9도달시 클리어하는 코드도 알려주시면 감사하겠습니다 

 

def DrawTitle():          is_loop=1     while is_loop == 1:         print("---------------------수진 공쥬 구하기---------------------\n")         print("------------------------START(1)--------------------------\n")         print("------------------------EXIT(2)---------------------------\n")         print("------------------------MENU(3)---------------------------\n")         start=input("명령어를 입력해주세요 : ")         if start=="1":                          is_loop = 0         else:             if start=="2":                                  is_loop = 0             else:                 if start == "3":

                    is_loop = 0                 else:                                     print("\n\n\n왜 꼭 선택지를 주는데 다른걸 입력하는거야?\n")                                    return start

def DrawMainGame():     import sys       print("★★★★★★★★★★★start★★★★★★★★★★★★★")     print("수진 공쥬:안녕?")     input("나:")     print("수진 공쥬:자기는 이름이 뭐야?")     name=input("나:")     print("수진 공쥬:자기 이름은" + name + "이구나!")     print("수진 공쥬:우리 오늘 뭐할까?\n")     print("1.밥먹으러가자 2.모텔가자 3.영화보자")     answer_input = input("원하시는 숫자를 입력해주세요:")     if answer_input=="1":         print("다음 대화로 넘어가시려면 ENTER키를 눌러주세요")         input()         print("나: 밥먹으러가자!")         input()         print("수진 공쥬:구래!!")         input()         print("나:뭐 먹고싶은거있어?")         input()         print("수진 공쥬:나는.. 어?")         input()         print("수진 공쥬:저게 뭐야??")         input()         print("수진 공쥬:살려줘!"+name+" 으아아악!")         input()         print("\n괴물이 공쥬를 납치했다 괴물을 피해 공쥬를 구출해야한다")         print("괴물이 공쥬를 납치한곳을 찾아야한다 어디에있을까?")         print("---------------1.동굴-------------------")         print("---------------2.하수구---------------- ")         print("---------------3.모텔-------------------")         player_input=input("\n괴물은 어디에있을까?:")         if player_input=="1":                  print("동굴 안으로 들어가다 종유석에 맞아 죽었다")             print("게임 종료")         else:             if player_input=="3":                 print("여기를 고른건 능지가 0인건가?")                 print("게임종료")             else :                 if player_input=="2":                     DrawMap(g_map,g_player)                 else:                     print("기회 안줘 다시켜")           else:         if answer_input=="2" :             print("다음 대화로 넘어가시려면 ENTER키를 눌러주세요")             input()             print("나:모텔 가자!")             input()             print("수진 공쥬:?")             input()             print("나:모텔 안가봤어?")             input()             print("수진 공쥬:이런 미7련.....")             input()             print("수진 공쥬:어? 저게 뭐야??")             input()             print("수진 공쥬:살려줘!"+name+" 으아아악!")             input()             print("\n괴물이 공쥬를 납치했다 괴물을 피해 공쥬를 구출해야한다")             print("---------------1.동굴-------------------")             print("---------------2.하수구---------------- ")             print("---------------3.모텔-------------------")             player_input=input("\n괴물은 어디에있을까?:")             if player_input=="1":                 print("동굴 안으로 들어가다 종유석에 맞아 죽었다")                 print("<게임 종료>")             else:                 if player_input=="3":                     print("여기를 고른건 능지가 0인건가?")                     print("<게임종료>")                 else :                     if player_input=="2":                         DrawMap(g_map,g_player)                     else:                         print("기회 안줘 다시켜")                                                     else :             if answer_input=="3" :                 print("다음 대화로 넘어가시려면 ENTER키를 눌러주세요")                 input()                 print("나: 영화 보러가자!")                 input()                 print("수진 공쥬:구래! 근데 무슨영화 볼거야?")                 input()                 print("나: 보고싶은거있어?")                 input()                 print("수진 공쥬:나는.. 어?")                 input()                 print("수진 공쥬:저게 뭐야??")                 input()                 print("수진 공쥬:살려줘!"+name+" 으아아악!")                 input()                 print("\n괴물이 공쥬를 납치했다 괴물을 피해 공쥬를 구출해야한다")                 print("---------------1.동굴-------------------")                 print("---------------2.하수구---------------- ")                 print("---------------3.모텔-------------------")                 player_input=input("\n괴물은 어디에있을까?:")                 if player_input=="1":                     print("동굴 안으로 들어가다 종유석에 맞아 죽었다")                     print("게임 종료")                 else:                     if player_input=="3":                         print("여기를 고른건 능지가 0인건가?")                         print("<게임종료>")                     else :                         if player_input=="2":                             DrawMap(g_map,g_player)                                                      else:                             print("기회 안줘 다시켜")             else :                 print("아니 왜 1,2,3 중에 대체 다른 번호를 왜 넣는거야 껏다켜라;")     

   

    

def MENU():     is_loop=1     while is_loop == 1:         print("\n---------------------메뉴--------------------\n")         print("\n\n\n--------------------조작키-------------------")         print("-------------------W A S D-------------------\n")         print("-----------------다음 대화 ENTER키------------------\n")         print("---------------------미션--------------------")         print("-지뢰를 피하여 인질이된 수진 공쥬를 구하세요-\n\n\n\n")         start1=input("게임 시작 화면으로 돌아가시려면 숫자1을  입력해주세요.")         if start1 == "1":             is_loop= 0             DrawTitle()         else:             print("다시")     return start1

start=DrawTitle()

if start =="1" :     DrawMainGame()

if start =="2" :     print ("\n\n게임을 종료합니다")      if start =="3" :     MENU()    

if player_input=="2":     DrawMap(g_map,g_player)      def DrawMap(g_map,g_player):     print("하수구에 도착했다 괴물의 흔적이 보인다 괴물을 피해 공쥬를 구출하자!")     input()     i=0     while i<89 :         if g_player ==i :             print('P', end='')         else :             print(g_map[i], end ='')         i= i+1              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','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','0'],             ['0','0','0','0','0','0','0','0','0','0']]                      g_player = 0

    while g_map[g_player] !='1' :         DrawMap(g_map,g_player)         g_input = input("\n명령을 내려주세요(1.좌로 2.우로) :")              if g_input == '2' :             g_player = g_player + 1         if g_input == '1' :             g_player = g_player - 1         if g_input == '3' :             g_player = g_player  +10         if g_input == '4' :             g_player = g_player - 10

    print("축하합니다 탈출하셨어요")

      

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

답변 1개

4년 전

if ~~ else ~~ if 이렇게 쓰지 말고 동작을 함수화해서

if a == 1 : return

if a == 2 : return 

이렇게만 구조를 바꿔도 코드가 많이 줄겠네요

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

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

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

로그인