나야 케이브 존슨
5 월 21 일입니다. 지구상에서 가장 훌륭한 회사 인 Aperture Science에서 일하고 있으며 내일 우리는 주력 윈도우 시스템 (또는 WindowS ) 버전 CavOS 3.0을 출시 합니다. 불행히도, 내일 아침, 우리의 주요 경쟁자는 WindowS 버전 3.0도 출시합니다 !
경쟁하는 WindowS 에 CavOS에없는 한 가지 기능인 클론 다이크 솔리테어 (Clondike Solitaire) 라는 CEO 인 Cave Johnson CEO가 내게 유출되었습니다 . 케이브 존슨 (Cave Johnson)은 이러한 누락이 판매를 크게 감소시킬 것으로 우려하고 있습니다. 이와 같이, Cave Johnson은 솔리테어 게임을 만들기 위해 프로그래밍 인턴들 사이의 경쟁을 고안했습니다. 출품작을 선택한 프로그래머는 흥미로운 GlaDOS AI 프로젝트에 참여할 수 있습니다.
케이브 존슨에는 몇 가지 요구 사항이 있습니다.
- 소프트웨어가 내일 배송되어야한다는 사실 때문에 이미 인쇄 된 이미지 플로피의 예비 섹터에 맞도록 가장 짧은 프로그램이 선택 될 것 입니다.
게임 플레이에 대해 걱정하지 마십시오. 고객에게 프린터가 있습니까? 내가 필요로하는 것은 여러분의 프로그램 이 덱에있는 카드의 순서와 7 개의 더미 각각의 내용을 보여주는 목록 을 만드는 것입니다. 갑판은 정상에서 처리됩니다. 더미는 바닥에서 볼 수 있습니다. 하트, 다이아몬드, 클럽 및 스페이드는 약어 H, D, C, S를 사용하십시오. King, Queen, Jack 및 Ace에는 약어 K, Q, J, A를 사용하십시오. 각 카드는 공백으로 분리해야합니다. 첫 번째 줄에는 데크, 두 번째 줄은 첫 번째 및 가장 작은 파일의 카드, 세 번째 줄은 두 번째 파일의 카드 등을 표시해야합니다. 원하는 경우 10 대신 T를 사용하는 것이 좋습니다.
우리는 레몬을 빨아 들이지 않는 레모네이드를 만들고 있습니다. 케이브 존슨은지는 것을 좋아하지 않으며 고객도 마찬가지입니다. 모든 게임은 승리 할 수 있어야합니다
게임은 무작위로해야합니다. 단일 게임을 인코딩하려고 시도하지 않습니다. 7,000 조의 클론 다이크 손이 있으며 그 중 약 90 %가 승리 할 수 있습니다. 256 가지 이상의 다른 손을 만들 수있는 프로그램에 만족합니다. 언어에 임의의 숫자를 얻는 방법이없는 경우 (타이머 등에서) 언어에 적합한 방식으로 시드를 얻을 수 있다고 가정하십시오.
우리의 고객은 합리적으로 영리합니다. 그들이 갑판을 통과하는 시간에 제한없이 Draw 3을 플레이하고 있음을 가정하십시오.
Aperture의 모든 사람 (및 모든 것)을 대신하여 모두에게 행운이 있기를 바랍니다. 우리는 당신을 믿고 있습니다.
" 캐롤라인?이 젠장을 어떻게 끄나요? "
캐릭터 외 : Windows의 규칙, Draw 3, Not-vegas solitaire를 가정합니다. 나는 모든 t를 교차하고 모든 i를 점으로 찍으려고 노력했지만 질문이 있는지 물어보십시오. 행운을 빕니다.
출력 예 :
5H AS 7C 8S QH ...
AH
JS 10S
JC JH 7C
9D AC 8D 7C
.
.
.