C'est moi. Cave Johnson.
C'est le 21 mai. Vous travaillez chez Aperture Science, la meilleure entreprise sur Terre, et demain nous publierons la version 3.0 de notre système de fenêtrage phare (ou WindowS ): CavOS. Malheureusement, demain matin, notre principal concurrent lance également la version 3.0 de leurs WindowS !
Il m'a été divulgué, Cave Johnson, PDG, que le WindowS en concurrence a une fonctionnalité qui manque à CavOS: un jeu de Klondike Solitaire. Moi, Cave Johnson, je crains que cette omission entraîne une baisse drastique des ventes. A ce titre, moi, Cave Johnson, ai imaginé un concours entre les stagiaires en programmation pour créer un jeu de Solitaire. Le programmeur dont l'entrée sera choisie aura l'opportunité de rejoindre le passionnant projet GlaDOS AI.
Moi, Cave Johnson, a quelques exigences:
- Étant donné que le logiciel doit être livré demain, le programme le plus court sera choisi de telle sorte qu'il puisse s'insérer dans les secteurs de rechange des disquettes déjà imprimées et imagées.
Ne vous inquiétez pas du gameplay. Nos clients ont des imprimantes non? Tout ce dont j'ai besoin, c'est que votre programme produise une liste montrant: l'ordre des cartes dans le jeu et le contenu de chacune des 7 piles. Le jeu sera distribué par le haut. Les piles seront visibles du bas. Utilisez les abréviations H, D, C, S pour Coeurs, Diamants, Massues et Piques. Utilisez les abréviations K, Q, J, A pour King, Queen, Jack et Ace. Chaque carte doit être séparée par un espace. La première ligne doit montrer le jeu, la seconde la carte de la première et la plus petite pile, la troisième les cartes de la deuxième pile et ainsi de suite. Vous pouvez utiliser T au lieu de 10 si vous le souhaitez.
Nous faisons de la limonade ici - pas des citrons suceurs. Moi, Cave Johnson, je n'aime pas perdre, et nos clients non plus. Chaque partie doit être gagnable
Le jeu doit être randomisé. Aucune tentative d'encoder une seule partie. Il y a 7 000 billions de mains possibles du Klondike, et environ 90% d'entre elles sont gagnables. Je serais heureux avec un programme qui peut produire 256 mains différentes ou plus. Si votre langue ne dispose pas d'un moyen d'obtenir des nombres aléatoires (à partir d'une minuterie ou similaire), alors supposez que vous pouvez obtenir une graine d'une manière appropriée à votre langue.
Nos clients sont raisonnablement intelligents. Supposons pour gagner qu'ils jouent au tirage 3, sans limite de temps dans le jeu
Au nom de tout le monde (et de tout) chez Aperture, je vous souhaite à tous bonne chance. Nous comptons sur vous.
" Caroline? Comment puis-je fermer cette fichue chose? "
Hors caractère: assumez les règles de Windows, Draw 3, Not-vegas solitaire. J'ai essayé de traverser tous les t et points tous les i, mais demandez si vous avez des questions. Bonne chance.
Exemple de sortie:
5H AS 7C 8S QH ...
AH
JS 10S
JC JH 7C
9D AC 8D 7C
.
.
.