소연의_개발일지
article thumbnail

목표: 8만줄 코드 작성을 위해 최대한 길~게 작성.

 

어릴때 하던 추억의 고향만두가 단순한 텍스트 + 클릭 기반의 게임이라

만들기 좋겠다는 생각이 들었다.

함수는 사용하지 않고 반복문과 조건문만 사용했다. 

 

최대한 길게 만들었는데도 300줄이 조금 넘는다..야속하기 그지없다.

 

코드

import os
import time

image = {
    '고향만두시작':
    '''
                   \  |  /         ___________
    ____________  \ \_# /         | 타향만두  |       _________
   |  고향만두  |  \  #/          | |   |     |      | = = = = |
   | |   |   |  |   \\\\#           | |`v'|     |      |         |
   |            |    \#  //       |  --- ___  |      | |  || | |
   | |   |   |  |     #_//        |     |   | |      |         |
   |            |  \\\\ #_/_______  |     |   | |      | |  || | |
   | |   |   |  |   \\\\# /_____/ \ |      ---  |      |         |
   |            |    \# |+ ++|  | |  |^^^^^^| |      | |  || | |
   |            |    \# |+ ++|  | |  |^^^^^^| |      | |  || | |
^^^|    (^^^^^) |^^^^^#^| H  |_ |^|  | |||| | |^^^^^^|         |
   |    ( ||| ) |     # ^^^^^^    |  | |||| | |      | ||||||| |
   ^^^^^^^^^^^^^________/  /_____ |  | |||| | |      | ||||||| |
                                  ^^^^^^^^^^^^^      | ||||||| |
                                  \시-끌/\시-끌/ 
                                  ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ
 
 
  ᘏ▸◂ᘏ          ╭◜◝    ◜◝   ◜◝   ◜◝   ◜◝   ◜◝   ◜◝   ◜◝   ◜◝   ◜◝  ◜◝   ◜◝  ◜◝╮
 ( ´・ω・)    .oO  흠... 한동네에 만두집이 두개인건 곤란한데...
 ( つ旦O         만두맛으로 승부를 결정하자! 진정한 "고향만두"의 맛을 보여주겠어..  
               ╰◟◞  ◟◞   ◟◞   ◟◞   ◟◞   ◟◞   ◟◞  ◟ ◞   ◟◞  ◟◞   ◟◞  ◟◞   ◟◞  ◟◞╯
    ''',
    '고향만두엔딩':
    '''
                   \  |  /         ___________
    ____________  \ \_# /         | 타향빵집  |       _________
   |  고향만두  |  \  #/          | |   |     |      | = = = = |
   | |   |   |  |   \\\\#           | |`v'|     |      |         |
   |            |    \#  //       |  --- ___  |      | |  || | |
   | |   |   |  |     #_//        |     |   | |      |         |
   |            |  \\\\ #_/_______  |     |   | |      | |  || | |
   | |   |   |  |   \\\\# /_____/ \ |      ---  |      |         |
   |            |    \# |+ ++|  | |  |^^^^^^| |      | |  || | |
   |            |    \# |+ ++|  | |  |^^^^^^| |      | |  || | |
^^^|    (^^^^^) |^^^^^#^| H  |_ |^|  | |||| | |^^^^^^|         |
   |    ( ||| ) |     # ^^^^^^    |  | |||| | |      | ||||||| |
   ^^^^^^^^^^^^^________/  /_____ |  | |||| | |      | ||||||| |
\북-적/\북-적/                ^^^^^^^^^^^^^      | ||||||| |
ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ              
    
        _人人人人人人人人人人人人人人人人人人人人人人人人人_
 (っ´ω`)っ  음하하핫! 우리동네 만두집 자리를 지켜냈다!  <
         ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

    ''',
    '고향만두엔딩실패':
    ''''
    이제 알았어! 다시 한번 해보자!
     ̄ ̄ ̄ ̄ ̄\/ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ∧ ∧
    (´・ω・ ∩ 
   o.   ,ノ.
    O_ .ノ
        (ノ
      i||
      ━━━
    ''',
    "만두먹기":
    '''
       A__A
     ( •⤙•  )
      (🥟٩  )੭
    '''

}


'''만두 속'''
mandu_inside = [
    '돼지고기',
    '두부',
    '양파',
    '양배추',
    '계란',
    '참기름',
    '에이스',
    '매운고추',
    '마늘',
    '치즈',
    '대파',
    '고추장',
    '옹스짱',
    '크림치즈',
]

'''만두 반죽'''
mandu_pi = [
    '쌀가루',
    '밀가루',
    '콩가루'
]

'''반죽 물'''
mandu_water = [
    '막걸리',
    '와인',
    '주스',
    '물',
]

'''만두 모양'''
mandu_shape = [
    '긴반달모양',
    '또아리모양',
    '쭈그리모양',
]

'''만두 요리방법'''
mandu_cook = [
    '뜨거운 물에 삼기',
    '후라이펜에 굽기',
    '찜통에 찌기',
]

answer_mandu = [
    '돼지고기',
    '두부',
    '양파',
    '양배추',
    '참기름',
    '마늘',
    '대파',
]

while True:

    print(image['고향만두시작'])
    input("enter>>")
    os.system("cls")

    print("""
        ╔════════════════╗
               선택
           1. 게임시작 
           2. 게임방법
        ╚════════════════╝
    """)
    game_start = input(">> 선택하세요: ")
    if game_start == '2':
        print("""
        ╔═════════════════════════════════════════════════════════════════════════════════╗
                                            <게임 방법>
          1. 만두속 만들기, 만두피 만들기, 만두빚기, 요리하기의 4단계를 차례로 진행한다.
          2. 단계 별로 있는 버튼을 이용해서 그 단계를 마무리 한다. 
            그 단계가 끝나면 엔터 버튼을 눌러 다음 단계로 간다.
          3. 만두맛은 만두속, 만두피, 모양에 따른 요리 방법에 따라 맛이 결정된다.
        ╚═════════════════════════════════════════════════════════════════════════════════╝
        """)
        input(">> 게임시작하기(enter): ")
        os.system("cls")
    os.system("cls")


    while True:
        user_choice_1 = []
        print("""
            ╔═════════════════════════════════════════════════════════════════════════════════╗
                                             1. 만두속 만들기
              재료: 돼지고기, 두부, 양파, 양배추, 계란, 참기름, 에이스, 매운고추, 마늘, 치즈,
                    대파, 고추장, 마요네즈, 옹스짱, 크림치즈
            ╚═════════════════════════════════════════════════════════════════════════════════╝
        """)
        while True:
            user_1 = input("넣을 재료를 선택하세요(그만 고르려면 0 누르기): ")
            if user_1 == '0' and len(user_choice_1)< 5:
                print("최소 다섯 가지는 넣어야지요! 다시 처음부터 담으세요.")
            if user_1 == '0' and len(user_choice_1) >= 5:
                break
            if user_1 not in mandu_inside:
                print("!! 목록에 없는 재료를 선택하셨습니다. 다시 선택해 주세요!")
                continue
            else:
                user_choice_1.append(user_1)
        q_1 = input(f"지금까지 고른 재료들은 <{', '.join(user_choice_1)}>입니다. 다시 고르시겠습니까?(y/n): ").lower()
        if q_1 == 'n':
            break
        else:
            os.system("cls")
    os.system('cls')

    while True:
        print("""
            ╔═════════════════════════════════════════╗
                         2. 만두피 만들기
                  재료: 쌀가루, 밀가루, 콩가루
                        막걸리, 와인, 주스, 물
            ╚═════════════════════════════════════════╝
        """)
        while True:
            user_2 = input("가루를 선택하세요: ")
            if user_2 not in mandu_pi:
                print("쟤료에 없는것을 선택하셨습니다. 다시 선택해 주세요!")
            else:
                break
        while True:
            user_2_1 = input("반죽할 액체류를 선택하세요: ")
            if user_2_1 not in mandu_water:
                print("쟤료에 없는것을 선택하셨습니다. 다시 선택해 주세요!")
            else:
                break

        q_2 = input(f"지금까지 고른 재료들은 <{user_2}, {user_2_1}>입니다. 다시 고르시겠습니까?(y/n): ").lower()
        if q_2 == 'n':
            break
        else:
            os.system("cls")
    os.system("cls")

    while True:
        print("""
                ╔═════════════════════════════════════════╗
                             3. 만두모양 결정
                     긴반달모양, 또아리모양, 쭈그리모양
                ╚═════════════════════════════════════════╝
            """)

        user_3 = input("만두모양을 선택하세요: ")
        if user_3 not in mandu_shape:
            input("그런 만두모양이 없습니다. 다시 선택하세요.(enter) >>")
            os.system("cls")
            continue
        else:
            break
    os.system("cls")


    print("""
                ╔════════════════════════════════════════════╗
                             4. 만두요리방식 결정
                             
                             1) 뜨거운 물에 삼기
                             2) 후라이펜에 굽기
                             3) 찜통에 찌기
                ╚════════════════════════════════════════════╝
            """)
    while True:
        user_4 = input("만두 요리방식을 결정해 주세요(숫자입력): ")
        if user_4 not in ['1', '2', '3']:
            input("다시 선택해 주세요(enter)>> ")
            os.system("cls")
        else:
            break
    os.system("cls")

    win_cnt = 0 #재료선택
    win_cnt_2 = 0 #만두피 선택
    win_cnt_3 = 0  #요리방법

    for i in user_choice_1:
        if i in answer_mandu:
            win_cnt += 1

    if user_2 == '밀가루' and user_2_1 == '물':
        win_cnt_2 += 1

    if (user_3 == '긴반달모양' and user_4 == '2') or \
        (user_3 == '또아리모양' and user_4 == '1') or \
        (user_3 == '또아리모양' and user_4 == '3') or \
        (user_3 == '쭈그리모양' and user_4 == '1'):
        win_cnt_3 += 1

    print(image['만두먹기'])
    print("만두를 먹는 중", end="")
    for i in range(3):
        print(".", end='.')
        time.sleep(0.5)


    if win_cnt == 7 and win_cnt_2 == 1 and win_cnt_3 == 1:
        print("승리!")
        print(' ')
        print(image['고향만두엔딩'])
        break


    else:
        print("당신은 맛난 고향만두를 만드는데 실패했습니다.")

        if user_2 == '쌀가루':
            print("만두피가 쫄깃거리지 않아..")
        if user_2 == '콩가루':
            print("만두피에서 콩가루 맛이 나...")

        if  user_2_1 == '와인':
            print("왜 만두피에서..은은한 와인향이 나는거지..?")
        if  user_2_1 == '쥬스':
            print("왜 만두피에서..은은한 오렌지향이 나는거지..?")
        if  user_2_1 == '막걸리':
            print("왜 만두피에서..은은한 막걸리향이 나는거지..?")

        if win_cnt_3 == 0:
            print("만두모양과 찌는 방식이 어울리지 않은 것 같군...")

        if '크림치즈' in user_choice_1:
            print("만두속이 너무 느끼해... 정말 맛없는 만두이군")
        if '옹스짱' in user_choice_1:
                print("만두속에서 과자맛이 나.. 텁텁하고 맛없어...")
        if '매운고추' in user_1:
                print("만두속이 너무 매워...")
        if '치즈' in user_1:
                print("만두속이 너무 느끼해... 정말 맛없는 만두이군")
        if '고추장' in user_1:
                print("만두속이 너무 매콤해... 내가 육개장을 먹는건지 만두를 먹는건지 모르겠구만...")
        if '마요네즈' in user_1:
                print("만두속이 너무 느글거려...")
        print(image['고향만두엔딩실패'])
        input("다시 해보러 가자!!(enter) >> ")
        os.system("cls")

 

구현화면

고향만두 승리 버전

이 만두먹기 이모티콘이 지존 귀여운데 출력이 안된다.. 아쉽다.

 

 

profile

소연의_개발일지

@ssoyxon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!