`` `Python
willekeurig importeren
def play_matchsticks (sticks =21):
"" "
Speelt een matchstick -game waar de computer altijd wint.
Args:
Sticks:het startnummer van Matchsticks (standaard:21).
Retourneert:
Geen
"" "
print (f "Welkom bij het matchstick -spel! Er zijn {sticks} sticks.")
terwijl sticks> 0:
# Player's beurt
speler_take =int (invoer ("Hoeveel sticks wil je nemen (1, 2 of 3)?")))
terwijl speler_take <1 of player_take> 3:
speler_take =int (invoer ("ongeldige invoer. Voer 1, 2 of 3 in:"))
sticks -=player_take
print (f "Je hebt {Player_Take} sticks genomen. Er zijn {sticks} over.")
# Computer's beurt (altijd wint)
Als sticks> 0:
# Computer neemt altijd een aantal stokken om een veelvoud van 4 achter te laten
Computer_take =4 - (Sticks % 4)
print (f "De computer nam {Computer_Take} sticks.")
Sticks -=Computer_Take
print (f "Er zijn {sticks} over.")
# Bepaal de winnaar
Als sticks ==0:
print ("Je bent verloren! De computer wint.")
anders:
print ("U wint! De computer is verloren.")
Start het spel
play_matchsticks ()
`` `
Verklaring:
1. Winnende strategie: De sleutel tot het winnen van dit spel is om je tegenstander te dwingen om altijd een aantal sticks te kiezen die een veelvoud van 4 overblijft.
- Als je nog 4 stokken over hebt, zul je altijd winnen omdat je alle 4 kunt nemen.
- Als je nog 8 stokken over hebt, kun je 4 nemen en 4 laten voor je tegenstander.
2. Logica van de computer:
- De `Computer_Take =4 - (Sticks % 4)` Lijn berekent hoeveel sticks de computer moet nemen om een veelvoud van 4 achter te laten.
- `Sticks % 4` geeft de rest wanneer` sticks` wordt gedeeld door 4.
- `4 - (Sticks % 4)` zorgt ervoor dat na de beurt van de computer het aantal resterende sticks altijd een veelvoud van 4 zal zijn.
3. Gebruikersinvoer:
- De code vraagt de gebruiker voor invoer en valideert deze om ervoor te zorgen dat hij een nummer tussen 1 en 3 kiezen.
4. Game Flow:
- Het spel gaat door totdat er geen stokken over zijn.
- Na de beurt van elke speler worden de resterende stokken afgedrukt.
hoe te spelen:
1. Voer de code uit.
2. Het spel begint met 21 sticks (je kunt dit wijzigen in de functie `play_matchsticks`).
3. U kiest ervoor om 1, 2 of 3 stokken elke beurt te nemen.
4. De computer neemt altijd het juiste aantal stokken om een veelvoud van 4 voor u achter te laten.
5. Uiteindelijk zul je gedwongen worden om de laatste 4 sticks te nemen, waardoor de computer de winnaar is.
Deze code zorgt ervoor dat de computer het spel altijd zal winnen. |