needmoreeasy EN 한국어
배우기

27 — 게임: 숨은 색 알아맞히기

★★★☆☆ (3/5)게임
선수 지식
23 — 최고 점수
결과물
컴퓨터가 숨긴 색 세 개를 다섯 번 안에 알아맞히는 게임

컴퓨터가 색 세 개를 숨기고, 사람이 색 세 개를 댑니다. 컴퓨터는 몇 개가 맞았는지만 알려 줍니다. 어느 자리가 맞았는지는 말해 주지 않으므로, 알아맞히려면 답을 바꿔 가며 좁혀 가야 합니다.

단계

  1. 숨길 색을 고릅니다. 목록을 섞고 첫 번째를 가져오기를 세 번 하면 됩니다:

    색들은 목록 빨강, 파랑, 초록, 노랑
    정답은 빈 목록
    3번 반복해
        색들 섞어
        정답에 색들 첫 번째 넣어
    끝
    정답을 쉼표로 이어 말해줘
    
    실행해 보기 →

    만들면서 확인할 때는 이렇게 정답을 찍어 보고, 다 되면 그 줄을 지우면 됩니다.

  2. 한 번의 도전은 색 세 개를 받아 목록에 담고, 그중 몇 개가 정답에 들어 있는지 세는 것입니다:

    정답은 목록 빨강, 파랑, 초록
    맞은개수는 0
    내추측은 빈 목록
    3번 반복해
        하나를 물어봐 색 하나를 대 보세요
        내추측에 하나 넣어
        만약에 정답에 하나가 있으면
            맞은개수에 1 더해
        끝
    끝
    내추측을 쉼표로 이어 말해줘
    맞은개수 말해줘
    
    실행해 보기 →
  3. 다 맞혔는지는 세어 둔 값 하나로 압니다:

    맞은개수는 3
    만약에 맞은개수가 3과 같으면
        모두 맞혔습니다 말해줘
    끝
    
    실행해 보기 →
  4. 기회를 셉니다. 도전할 때마다 하나씩 줄이고, 0이 되면 정답을 보여 줍니다:

    남은기회는 5
    남은기회에서 1 빼
    만약에 남은기회가 0과 같으면
        기회를 다 썼습니다 말해줘
    끝
    
    실행해 보기 →
  5. 전체입니다:

    색들은 목록 빨강, 파랑, 초록, 노랑
    정답은 빈 목록
    3번 반복해
        색들 섞어
        정답에 색들 첫 번째 넣어
    끝
    남은기회는 5
    계속 반복해
        맞은개수는 0
        내추측은 빈 목록
        3번 반복해
            하나를 물어봐 색 하나를 대 보세요
            내추측에 하나 넣어
            만약에 정답에 하나가 있으면
                맞은개수에 1 더해
            끝
        끝
        내추측을 쉼표로 이어 말해줘
        맞은 개수 말해줘
        맞은개수 말해줘
        만약에 맞은개수가 3과 같으면
            모두 맞혔습니다 말해줘
            멈춰
        끝
        남은기회에서 1 빼
        만약에 남은기회가 0과 같으면
            기회를 다 썼습니다 말해줘
            정답을 쉼표로 이어 말해줘
            멈춰
        끝
    끝
    
    실행해 보기 →

    자리는 보지 않습니다. 「들어 있는지」만 세기 때문에, 같은 색을 두 번 대면 두 번 다 세어집니다. 자리까지 맞히는 진짜 마스터마인드는 몇 번째 자리인지를 다룰 수 있어야 하고, 그것은 아직 문장문법에 없습니다.

직접 해보기

색을 다섯 가지로 늘리고 기회를 여섯 번으로 바꿔 보세요. 어느 쪽이 더 어려워지는지 직접 세어 보면 재미있습니다.

배운 것

  • 목록을 섞고 첫 번째를 가져오기를 여러 번 하면 무작위 조합이 됩니다.
  • 목록에서 꺼낸 값을 그대로 다른 목록에 넣을 수 있습니다.
  • 「몇 개 맞았나」는 세는 이름 하나와 …에 …가 있으면 하나면 됩니다.
  • 이 게임 전체에 따옴표도 괄호도 등호도 없습니다.

GitHub에서 이 문서 보기