22 — 터미널 메뉴 — 작은 TUI
차림표는 할 수 있는 일을 보여 주고, 하나를 고르게 하고, 그 일을 한 다음, 다시 차림표로 돌아오는 프로그램입니다. 화면을 지우고 새로 그리기 때문에 창 하나가 계속 살아 있는 것처럼 보입니다. 14 — 화면에서 배운 지우기, 상자, 가로줄이 여기서 쓰입니다. 따옴표도 괄호도 등호도 없습니다.
단계
먼저 차림표 화면만 그려 봅니다:
실행해 보기 →화면 지워 상자로 말해줘 작은 차림표 인사 말해줘 주사위 말해줘 종료 말해줘 줄 그어화면이 깨끗해지고, 제목이 상자 안에 들어가고, 할 수 있는 일 셋이 나오고, 가로줄이 그어집니다.
고르게 하고 갈라 줍니다:
실행해 보기 →선택을 물어봐 무엇을 할까요? 만약에 선택이 인사와 같으면 안녕하세요! 말해줘 아니면 만약에 선택이 종료와 같으면 안녕히 가세요 말해줘 아니면 그런 것은 없습니다 말해줘 끝답을 숫자 대신 낱말로 받는 것이 편합니다.
1이라고 받으면 그것은 숫자가 아니라 글자1이라서 숫자와 견주면 언제나 다르게 나옵니다.차림표로 돌아오게 하려면 전체를
계속 반복해로 감쌉니다. 나가는 길은멈춰뿐이므로,종료갈래에만 넣습니다:
실행해 보기 →계속 반복해 화면 지워 상자로 말해줘 작은 차림표 종료 말해줘 줄 그어 선택을 물어봐 무엇을 할까요? 만약에 선택이 종료와 같으면 안녕히 가세요 말해줘 멈춰 끝 끝한 일이 눈에 보이도록 잠깐 멈춥니다. 그러지 않으면 화면이 바로 지워져서 방금 나온 글을 읽을 수 없습니다:
실행해 보기 →안녕하세요! 말해줘 1초 기다려전체는
examples/terminal-menu.ko.nme에 있습니다. 영어판은examples/terminal-menu.nme입니다.
실행해 보기 →계속 반복해 화면 지워 상자로 말해줘 작은 차림표 인사 말해줘 주사위 말해줘 종료 말해줘 줄 그어 선택을 물어봐 무엇을 할까요? 만약에 선택이 인사와 같으면 안녕하세요! 말해줘 1초 기다려 아니면 만약에 선택이 주사위와 같으면 눈은 1부터 6까지 무작위 숫자 눈 말해줘 1초 기다려 아니면 만약에 선택이 종료와 같으면 안녕히 가세요 말해줘 멈춰 아니면 그런 것은 없습니다 말해줘 1초 기다려 끝 끝
직접 해보기
할 수 있는 일을 하나 더 만들어 보세요. 시간이라고 대답하면
15 — 시간의 시계로 프로그램이 켜진 뒤 몇 초가 지났는지
보여 주게 하면 됩니다.
배운 것
- 차림표는
계속 반복해+ 조건 사슬입니다. 그 이상은 필요 없습니다. 화면 지워를 반복 맨 앞에 두면 창 하나가 계속 살아 있는 것처럼 보입니다.- 답은 숫자보다 낱말로 받는 편이 낫습니다. 친 것은 언제나 글자입니다.
- 화면을 지우기 전에
1초 기다려를 넣어야 방금 나온 글을 읽을 수 있습니다. - 나가는 길은
멈춰하나뿐입니다.