needmoreeasy EN 한국어
배우기

22 — 터미널 메뉴 — 작은 TUI

★★★★☆ (4/5)프로젝트
선수 지식
14 — 화면, 18 — 모험
결과물
화면을 지우고 다시 그리는 차림표 프로그램

차림표는 할 수 있는 일을 보여 주고, 하나를 고르게 하고, 그 일을 한 다음, 다시 차림표로 돌아오는 프로그램입니다. 화면을 지우고 새로 그리기 때문에 창 하나가 계속 살아 있는 것처럼 보입니다. 14 — 화면에서 배운 지우기, 상자, 가로줄이 여기서 쓰입니다. 따옴표도 괄호도 등호도 없습니다.

단계

  1. 먼저 차림표 화면만 그려 봅니다:

    화면 지워
    상자로 말해줘 작은 차림표
    인사 말해줘
    주사위 말해줘
    종료 말해줘
    줄 그어
    
    실행해 보기 →

    화면이 깨끗해지고, 제목이 상자 안에 들어가고, 할 수 있는 일 셋이 나오고, 가로줄이 그어집니다.

  2. 고르게 하고 갈라 줍니다:

    선택을 물어봐 무엇을 할까요?
    만약에 선택이 인사와 같으면
        안녕하세요! 말해줘
    아니면 만약에 선택이 종료와 같으면
        안녕히 가세요 말해줘
    아니면
        그런 것은 없습니다 말해줘
    끝
    
    실행해 보기 →

    답을 숫자 대신 낱말로 받는 것이 편합니다. 1이라고 받으면 그것은 숫자가 아니라 글자 1이라서 숫자와 견주면 언제나 다르게 나옵니다.

  3. 차림표로 돌아오게 하려면 전체를 계속 반복해로 감쌉니다. 나가는 길은 멈춰뿐이므로, 종료 갈래에만 넣습니다:

    계속 반복해
        화면 지워
        상자로 말해줘 작은 차림표
        종료 말해줘
        줄 그어
        선택을 물어봐 무엇을 할까요?
        만약에 선택이 종료와 같으면
            안녕히 가세요 말해줘
            멈춰
        끝
    끝
    
    실행해 보기 →
  4. 한 일이 눈에 보이도록 잠깐 멈춥니다. 그러지 않으면 화면이 바로 지워져서 방금 나온 글을 읽을 수 없습니다:

    안녕하세요! 말해줘
    1초 기다려
    
    실행해 보기 →
  5. 전체는 examples/terminal-menu.ko.nme에 있습니다. 영어판은 examples/terminal-menu.nme입니다.

    계속 반복해
        화면 지워
        상자로 말해줘 작은 차림표
        인사 말해줘
        주사위 말해줘
        종료 말해줘
        줄 그어
        선택을 물어봐 무엇을 할까요?
        만약에 선택이 인사와 같으면
            안녕하세요! 말해줘
            1초 기다려
        아니면 만약에 선택이 주사위와 같으면
            눈은 1부터 6까지 무작위 숫자
            눈 말해줘
            1초 기다려
        아니면 만약에 선택이 종료와 같으면
            안녕히 가세요 말해줘
            멈춰
        아니면
            그런 것은 없습니다 말해줘
            1초 기다려
        끝
    끝
    
    실행해 보기 →

직접 해보기

할 수 있는 일을 하나 더 만들어 보세요. 시간이라고 대답하면 15 — 시간의 시계로 프로그램이 켜진 뒤 몇 초가 지났는지 보여 주게 하면 됩니다.

배운 것

  • 차림표는 계속 반복해 + 조건 사슬입니다. 그 이상은 필요 없습니다.
  • 화면 지워를 반복 맨 앞에 두면 창 하나가 계속 살아 있는 것처럼 보입니다.
  • 답은 숫자보다 낱말로 받는 편이 낫습니다. 친 것은 언제나 글자입니다.
  • 화면을 지우기 전에 1초 기다려를 넣어야 방금 나온 글을 읽을 수 있습니다.
  • 나가는 길은 멈춰 하나뿐입니다.

GitHub에서 이 문서 보기