Denne enkle spiltutorial hjælper dig med at øve dig i det grundlæggende i Python-programmering.
At skabe et "Rock, Paper, Scissors" spil i Python er en fantastisk måde at forbedre dine programmeringsevner på. Du kan oprette spillet med et enkelt Python-script og spille det på kommandolinjen.
Spillet starter med at spørge spilleren om deres valg: "klippe", "papir" eller "saks". Derefter venter den på, at de indtaster deres svar. Du kan spille spillet mod en "computer"-spiller, som automatisk vælger sit træk.
Spillet kan også omfatte mange runder. Så selvom du taber første runde, kan du stadig prøve at vinde to ud af tre!
Sådan konfigurerer du spillet og beder spilleren om deres træk
Når spillet starter, skal Python-programmet bede spilleren om at indtaste enten "sten", "papir" eller "saks" og tage imod spillerens svar. For at konfigurere et nyt spil, start med at oprette en ny Python-fil med en .py-udvidelse.
Den fulde kode til denne øvelse er tilgængelig i et GitHub-lager.
- Opret en ny fil kaldet RockPaperScissors.py.
- Åbn den nye Python-fil ved hjælp af en hvilken som helst teksteditor, såsom Notepad++ eller Visual Studio Code.
- Importer det tilfældige modul øverst i filen. Du vil bruge dette senere i spillet til tilfældigt at vælge et træk til computerens tur.
importere tilfældig
- Præsenter en besked til spilleren, og bed dem om at indtaste enten sten, papir eller saks.
brugervalg = input("Sten, papir eller saks? ").nederste()
- Initialiser et array kaldet "moveOptions", der gemmer en liste over de tilgængelige træk, som enten du eller computeren kan spille.
moveOptions = ['klippe', 'papir', 'saks']
- Når spilleren indtaster et input, skal du validere det for at sikre, at det er et af de tilgængelige træk. Når spilleren har indtastet et gyldigt træk, skal du udskrive en bekræftelsesmeddelelse.
mens (UserChoice ikke i flyttemuligheder):
brugervalg = input("Ugyldigt valg. Skal være sten, papir eller saks: ").nederste()
Print("")
Print(f "Du valgte {userChoice}.")
Sådan skiftes du med computeren og sammenligner bevægelser
Når du har indtastet dit træk, vil computeren tage sin tur ved tilfældigt at vælge enten "klippe", "papir" eller "saks". Spillet skal derefter sammenligne dit træk med computerens træk for at afgøre, hvem der vandt.
- Brug det tilfældige modul til at få computeren til at vælge tilfældigt fra listen over tilgængelige træk.
computerChoice = random.choice (moveOptions)
Print(f "Computeren valgte {computerChoice}.") - Du bliver nødt til at sammenligne dit træk med computerens træk for at afgøre, hvem der har vundet. Du kan gøre dette ved at oprette en ny ordbog. Denne ordbog indeholder hvert træk (f.eks. "rock"), og hvilket træk den vinder eller taber til (f.eks. "rock" slår "saks" og taber til "papir").
bevæger sig = {
'klippe': { 'beats': 'saks', 'taber til': 'papir' },
'saks': { 'beats': 'papir', 'taber til': 'klippe' },
'papir': { 'beats': 'klippe', 'taber til': 'saks' },
} -
Brug Python if-sætningen for at tjekke om dit træk og computerens træk resulterer i uafgjort. Ellers kan du bruge bevægelsesordbogen til at sammenligne spillerens træk med computerens træk.
Som et eksempel, hvis du vælger "rock", vil værdien af moves[userChoice]['beats'] være "saks". Hvis computerens valg var "saks", betyder det, at dit træk slog deres.if userChoice == computerChoice:
Print(f"Både du og computeren valgte {userChoice}. Det er et slips!")
andet:
hvis (flytter[brugervalg]['beats'] == computervalg):
Print(f"{userChoice} beats {computerChoice}. Du vinder!")
hvis (flytter[brugervalg]['taber til'] == computervalg):
Print(f"{userChoice} taber til {computerChoice}. Computeren vinder!")
Sådan holder du score mellem spilleren og computeren mellem flere runder
Du kan også tilføje yderligere runder, hvor du og computeren tager tre omgange hver.
Når du og computeren har valgt enten sten, papir eller saks, vil spillet spørge dig igen og holde styr på dine scoringer. Scoren for spilleren stiger baseret på, hvem der vandt den pågældende runde.
- Den aktuelle kode repræsenterer en enkelt runde af drejninger lavet af både spilleren og computeren. Tilføj al den aktuelle kode undtagen import-sætningen i en ny turn()-funktion. Du kan også ændre outputmeddelelserne i overensstemmelse hermed, for at sige "Du vinder denne runde" i stedet for "Du vinder":
deftur():
brugervalg = input("Sten, papir eller saks? ").nederste()moveOptions = ['klippe', 'papir', 'saks']
mens (UserChoice ikke i flyttemuligheder):
brugervalg = input("Ugyldigt valg. Skal være sten, papir eller saks: ").nederste()Print("")
Print(f "Du valgte {userChoice}.")computerChoice = random.choice (moveOptions)
Print(f "Computeren valgte {computerChoice}.")bevæger sig = {
'klippe': { 'beats': 'saks', 'taber til': 'papir' },
'saks': { 'beats': 'papir', 'taber til': 'klippe' },
'papir': { 'beats': 'klippe', 'taber til': 'saks' },
}if userChoice == computerChoice:
Print(f"Både du og computeren valgte {userChoice}. Det er et slips!")
andet:
hvis (flytter[brugervalg]['beats'] == computervalg):
Print(f"{userChoice} beats {computerChoice}. Du vinder denne runde!")hvis (flytter[brugervalg]['taber til'] == computervalg):
Print(f"{userChoice} taber til {computerChoice}. Computeren vinder!") - Spilleren og computeren kommer til at tage tre omgange hver. Tilføj en global variabel kaldet "turs" øverst i filen.
drejninger = 3
- Efter funktionen turn() brug en Python for loop at gentage runden tre gange. I begyndelsen af hver runde udskrives rundens nummer. Kald turn()-funktionen for at bede spilleren og computeren om at lave deres træk for den runde.
for i inden for rækkevidde (vender):
Print("")
Print(f" runde {i+1}: ")
tur() - For at holde styr på, hvem der vandt hver runde, skal du tilføje en scorevariabel for hver spiller øverst i filen. Du vil tildele værdier til disse variable i turn()-funktionen, så sørg for at bruge dem som globale variabler.
computerScore = 0
spillerscore = 0deftur():
global computerScore, playerScore - Inde i turn()-funktionen, når både spilleren og computeren har lavet deres træk, skal du tilføje et point til vinderens score. Rediger if-sætningen for at øge værdien af enten "playerScore"- eller "computerScore"-variablen.
hvis (flytter[brugervalg]['beats'] == computervalg):
Print(f"{userChoice} beats {computerChoice}. Du vinder denne runde!")
spillerscore += 1hvis (flytter[brugervalg]['taber til'] == computervalg):
Print(f"{userChoice} taber til {computerChoice}. Computeren vinder!")
computerScore += 1 - I slutningen af turn()-funktionen skal du udskrive en opdatering af de samlede scores for hver spiller.
# Udskriv en opdatering af de samlede resultater efter runden
Print("")
Print(f"SCOREBOARD | Spillerens score: {playerScore} | Computers score: {computerScore}") - I slutningen af spillet, og efter for-løkken, der gentager spillerens og computerens tur, skal du udskrive den endelige vinder.
Print("")
if (computerScore > playerScore):
Print(f"Computeren vinder med {computerScore} point!")
elif (playerScore > computerScore):
Print(f"Du vinder med {playerScore} point!")
andet:
Print(f "Det er et slips! I vinder begge med {playerScore} point!")
Sådan kører du spillet
For at spille spillet skal du køre Python-scriptet ved hjælp af en terminal eller kommandoprompt. Indtast dit træk og vent på, at computeren gør deres. Når du har gennemført tre runder, viser programmet vinderen.
- Åbn en kommandoprompt eller terminal, og naviger til den mappe, hvor du gemmer din Python-fil.
- Brug python-kommandoen til at køre scriptet:
pythonSten saks papir.py
- Spil spillet ved at indtaste enten 'sten', 'papir' eller 'saks'.
Lær Python ved at skabe spil
At skabe simple spil såsom et "Rock, Paper, Scissors" spil er en fantastisk måde at blive mere fortrolig med programmeringskoncepter. Der er så mange andre sjove spil, du kan lave ved hjælp af Python, såsom et tekstbaseret eventyrspil.