Het dobbelspel , "Pig , " heeft de regels die zijn eenvoudig te beschrijven , maar het ontwerpen van de pseudocode voor een programma waar de computer speelt met de optimale strategie is een bedrieglijk lastige puzzel . Te spelen " Varken , " spelers om de beurt rollen een dobbelsteen . Op een andere dan 1 rol , wordt het nummer op de dobbelsteen toegevoegd om de speler aan de beurt scoren . Op een rol van 1 , de beurt van de speler eindigt met geen score toegevoegd aan zijn totaal. Na iedere worp , kan de speler beslissen om zijn beurt af te sluiten en toe te voegen aan de beurt score voor zijn totale score . De eerste speler die 100 punten te bereiken wint . Instructies Design 1 een functie die zal laten een speler om de beurt door te kiezen om te rollen of te stoppen . De pseudocode dient dit proces te volgen , al zal je waarschijnlijk uiten in meer detail : Functie : Turn ( Player ) Weergave TotalScore.Player en TurnScore.Player Get ingang Als speler ervoor kiest om te rollen - Genereer willekeurig getal van 1 tot 6 - Als Resultaat = 1 ---- TurnScore . Player = 0 ---- Run Turn ( NextPlayer ) op - . Mocht Resultaat > 1 ---- TurnScore Player = TurnScore.Player + resultaat ---- Als TotalScore.Player + TurnScore.Player > = 100 , Speler wint ---- Run Turn ( Player ) op Als speler kiest om stoppen - . totaalscore Speler = TotalScore.Player + TurnScore.Player - Run Turn ( NextPlayer ) kopen van 2 Bereken een strategie voor de computer te gebruiken wanneer de computer speler is na te gaan of te rollen of te stoppen . Een zeer eenvoudige strategie is om de computer te blijven rollen totdat haar beurt score is boven de 20 , op basis van de logica dat elke rol heeft vijf kansen in zes tot een gemiddelde van 4 punten toe te voegen , dus tot je een bocht score van 5 * 4 bereiken , de " inzet " is de moeite waard . Om de strategie te verfijnen , komen met een manier om te beoordelen wanneer dit is de moeite waard te duwen afgelopen 20 punten , zoals wanneer je tegenstander heeft 99 punten en je een draai beginnen met 78 . 3 ontwerp een functie die de beslissing van de computer speler zal berekenen . De functie moet nemen als input variabelen die de computer aan de beurt score en (indien nodig voor de strategische berekening) totaalscores van beide spelers en de terugkeer van een variabele die de keuze te rollen of te stoppen na verwerking van de ingangen op basis van de strategie die u ontworpen . Een fundamentele wijziging van het ' vasthouden tot 20 " -strategie , bijvoorbeeld , kan er zo uitzien : Functie : Kies ( TurnScore , OpponentScore ) op Twitter Als OpponentScore > 80 - Return ( Roll ) op Else If TurnScore 20 < - Terug ( Roll ) op Else Return (Stop ) op Twitter < br >
|