Wsou eu. Cave Johnson.
É 21 de maio. Você está trabalhando na Aperture Science, a melhor empresa do mundo, e amanhã lançaremos a versão 3.0 do nosso principal sistema de janelas (ou WindowS ): CavOS. Infelizmente, amanhã de manhã, nosso principal concorrente também está lançando a versão 3.0 de suas janelas !
Foi vazado para mim, Cave Johnson, CEO, que o WindowS concorrente tem um recurso que falta ao CavOS: um jogo do Klondike Solitaire. Eu, Cave Johnson, estou preocupado que essa omissão leve a vendas drasticamente mais baixas. Como tal, eu, Cave Johnson, desenvolvi uma competição entre os estagiários de programação para criar um jogo de paciência. O programador cuja entrada for escolhida terá a oportunidade de participar do empolgante projeto GlaDOS AI.
Eu, Cave Johnson, tenho alguns requisitos:
- Devido ao fato de que o software deve ser entregue amanhã, o programa mais curto será escolhido para caber nos setores extras dos disquetes já impressos e impressos.
Não se preocupe com a jogabilidade. Nossos clientes têm impressoras, não têm? Tudo que eu preciso é que o seu programa produza uma lista mostrando: A ordem das cartas no baralho e o conteúdo de cada uma das sete pilhas. O baralho será tratado de cima. As pilhas serão visíveis a partir do fundo. Use as abreviaturas H, D, C, S para Copas, Diamantes, Paus e Espadas. Use as abreviaturas K, Q, J, A para King, Queen, Jack e Ace. Cada cartão deve ser separado por um espaço. A primeira linha deve mostrar o baralho, a segunda a carta da primeira e menor pilha, a terceira as cartas da segunda pilha e assim por diante. Você pode usar T em vez de 10, se desejar.
Estamos fazendo limonada aqui - não chupando limões. Eu, Cave Johnson, não gosto de perder, nem nossos clientes. Todo jogo deve ser vencível
O jogo deve ser aleatório. Nenhuma tentativa de codificar um único jogo. Existem 7000 trilhões de mãos Klondike possíveis, e cerca de 90% delas são vencíveis. Eu ficaria feliz com um programa que pode produzir 256 ou mais mãos diferentes. Se seu idioma não tem uma maneira de obter números aleatórios (de um cronômetro ou algo semelhante), assuma que você pode obter uma semente da maneira apropriada para o seu idioma.
Nossos clientes são razoavelmente espertos. Suponha, por vitória, que eles estejam jogando o Draw 3, sem limites de tempo no baralho
Em nome de todos (e tudo) no Aperture, desejo a todos boa sorte. Estamos contando com você.
" Caroline? Como desligo essa coisa maldita? "
Fora do personagem: assuma as regras do Windows, Empate 3, Paciência não-vegas. Eu tentei atravessar cada te ponto a cada i, mas pergunte se você tem alguma dúvida. Boa sorte.
Exemplo de saída:
5H AS 7C 8S QH ...
AH
JS 10S
JC JH 7C
9D AC 8D 7C
.
.
.