27 — 게임: 숨은 색 알아맞히기
컴퓨터가 색 세 개를 숨기고, 사람이 색 세 개를 댑니다. 컴퓨터는 몇 개가 맞았는지만 알려 줍니다. 어느 자리가 맞았는지는 말해 주지 않으므로, 알아맞히려면 답을 바꿔 가며 좁혀 가야 합니다.
단계
숨길 색을 고릅니다. 목록을 섞고 첫 번째를 가져오기를 세 번 하면 됩니다:
실행해 보기 →색들은 목록 빨강, 파랑, 초록, 노랑 정답은 빈 목록 3번 반복해 색들 섞어 정답에 색들 첫 번째 넣어 끝 정답을 쉼표로 이어 말해줘만들면서 확인할 때는 이렇게 정답을 찍어 보고, 다 되면 그 줄을 지우면 됩니다.
한 번의 도전은 색 세 개를 받아 목록에 담고, 그중 몇 개가 정답에 들어 있는지 세는 것입니다:
실행해 보기 →정답은 목록 빨강, 파랑, 초록 맞은개수는 0 내추측은 빈 목록 3번 반복해 하나를 물어봐 색 하나를 대 보세요 내추측에 하나 넣어 만약에 정답에 하나가 있으면 맞은개수에 1 더해 끝 끝 내추측을 쉼표로 이어 말해줘 맞은개수 말해줘다 맞혔는지는 세어 둔 값 하나로 압니다:
실행해 보기 →맞은개수는 3 만약에 맞은개수가 3과 같으면 모두 맞혔습니다 말해줘 끝기회를 셉니다. 도전할 때마다 하나씩 줄이고, 0이 되면 정답을 보여 줍니다:
실행해 보기 →남은기회는 5 남은기회에서 1 빼 만약에 남은기회가 0과 같으면 기회를 다 썼습니다 말해줘 끝전체입니다:
실행해 보기 →색들은 목록 빨강, 파랑, 초록, 노랑 정답은 빈 목록 3번 반복해 색들 섞어 정답에 색들 첫 번째 넣어 끝 남은기회는 5 계속 반복해 맞은개수는 0 내추측은 빈 목록 3번 반복해 하나를 물어봐 색 하나를 대 보세요 내추측에 하나 넣어 만약에 정답에 하나가 있으면 맞은개수에 1 더해 끝 끝 내추측을 쉼표로 이어 말해줘 맞은 개수 말해줘 맞은개수 말해줘 만약에 맞은개수가 3과 같으면 모두 맞혔습니다 말해줘 멈춰 끝 남은기회에서 1 빼 만약에 남은기회가 0과 같으면 기회를 다 썼습니다 말해줘 정답을 쉼표로 이어 말해줘 멈춰 끝 끝자리는 보지 않습니다. 「들어 있는지」만 세기 때문에, 같은 색을 두 번 대면 두 번 다 세어집니다. 자리까지 맞히는 진짜 마스터마인드는 몇 번째 자리인지를 다룰 수 있어야 하고, 그것은 아직 문장문법에 없습니다.
직접 해보기
색을 다섯 가지로 늘리고 기회를 여섯 번으로 바꿔 보세요. 어느 쪽이 더 어려워지는지 직접 세어 보면 재미있습니다.
배운 것
- 목록을 섞고 첫 번째를 가져오기를 여러 번 하면 무작위 조합이 됩니다.
- 목록에서 꺼낸 값을 그대로 다른 목록에 넣을 수 있습니다.
- 「몇 개 맞았나」는 세는 이름 하나와
…에 …가 있으면하나면 됩니다. - 이 게임 전체에 따옴표도 괄호도 등호도 없습니다.