`` `Python
Importer tilfældig
def plaus_matchsticks (pinde =21):
"" "
Spiller et matchstick -spil, hvor computeren altid vinder.
Args:
Pinde:Startnummeret til matchsticks (standard:21).
Returnerer:
Ingen
"" "
Udskriv (f "Velkommen til matchstick -spillet! Der er {sticks} pinde.")
Mens pinde> 0:
# Spillerens tur
Player_take =int (input ("Hvor mange pinde vil du tage (1, 2 eller 3)?"))
Mens spiller_take <1 eller Player_Take> 3:
Player_take =int (input ("Ugyldig input. Indtast venligst 1, 2 eller 3:"))
pinde -=spiller_take
Udskriv (f "Du tog {spiller_take} pinde. Der er {sticks} tilbage.")
# Computerens tur (vinder altid)
Hvis pinde> 0:
# Computeren tager altid et antal pinde for at forlade et multipel på 4
computer_take =4 - (stikker % 4)
Udskriv (f "Computeren tog {computer_take} pinde.")
pinde -=computer_take
print (f "Der er {pinds} tilbage.")
# Bestem vinderen
Hvis pinde ==0:
Print ("Du tabte! Computeren vinder.")
andet:
Udskriv ("Du vinder! Computeren tabte.")
Start spillet
Play_matchsticks ()
`` `
Forklaring:
1. vindende strategi: Nøglen til at vinde dette spil er at tvinge din modstander til altid at vælge et antal pinde, der efterlader et multiplum på 4 tilbage.
- Hvis du har 4 pinde tilbage, vinder du altid, fordi du kan tage alle 4.
- Hvis du har 8 pinde tilbage, kan du tage 4 og forlade 4 til din modstander.
2. computerens logik:
- `computer_take =4 - (sticks % 4)` linjen beregner, hvor mange pinde computeren skal tage for at forlade et multiplum på 4.
- `Sticks % 4` giver resten, når` sticks` er divideret med 4.
- `4 - (pinde % 4)` sikrer, at antallet af pinde, der er tilbage, altid er et multiplum på 4.
3. Brugerinput:
- Koden beder brugeren om input og validerer den for at sikre, at de vælger et tal mellem 1 og 3.
4. spilstrøm:
- Spillet fortsætter, indtil der ikke er nogen pinde tilbage.
- Efter hver spillers tur er de resterende pinde trykt.
hvordan man spiller:
1. Kør koden.
2. Spillet starter med 21 pinde (du kan ændre dette i funktionen `Play_Matchsticks`).
3. du vælger at tage 1, 2 eller 3 pinde hver tur.
4. computeren tager altid det rigtige antal pinde for at forlade et multiplum på 4 til dig.
5. Til sidst bliver du tvunget til at tage de sidste 4 pinde, hvilket gør computeren til vinderen.
Denne kode sikrer, at computeren altid vinder spillet.