See lihtne mänguõpetus aitab teil harjutada Pythoni programmeerimise põhialuseid.
Mängu "Kivi, paber, käärid" loomine Pythonis on suurepärane viis oma programmeerimisoskuste täiustamiseks. Saate luua mängu ühe Pythoni skriptiga ja mängida seda käsureal.
Mäng algab sellega, et küsitakse mängijalt tema valikut: "kivi", "paber" või "käärid". Seejärel ootab see, kuni nad oma vastuse sisestavad. Saate mängida mängu "arvuti" mängija vastu, kes valib automaatselt oma käigu.
Mäng võib sisaldada ka palju ringe. Nii et isegi kui kaotate esimese vooru, võite ikkagi proovida võita kaks kolmest!
Kuidas mängu seadistada ja mängijalt liigutust küsida
Kui mäng algab, peaks Pythoni programm paluma mängijal sisestada kas "kivi", "paber" või "käärid" ja võtma mängija vastuse. Uue mängu seadistamiseks looge uus Pythoni fail laiendiga py.
Selle õpetuse täielik kood on saadaval keeles GitHubi hoidla.
- Looge uus fail nimega RockPaperScissors.py.
- Avage uus Pythoni fail mis tahes tekstiredaktoriga, näiteks Notepad++ või Visual Studio Code.
- Importige faili ülaosas juhuslik moodul. Kasutate seda hiljem mängus arvuti käigu juhusliku käigu valimiseks.
importida juhuslik
- Esitage mängijale sõnum, paludes tal sisestada kivi, paber või käärid.
userChoice = input("Kivi, paber või käärid? ").lower()
- Käivitage massiiv nimega "moveOptions", mis salvestab loendi saadaolevatest käikudest, mida teie või arvuti saate mängida.
moveOptions = ["rock", "paber", 'käärid']
- Kui mängija sisestab sisendi, kinnitage see veendumaks, et see on üks saadaolevatest käikudest. Kui mängija on sisestanud kehtiva käigu, printige kinnitusteade.
samas (kasutaja valik mitte sisse liikumise valikud):
userChoice = input("Vigane valik. Peab olema kivi, paber või käärid: ").lower()
printida("")
print(f"Sa valisid {userChoice}.")
Kuidas arvutiga kordamööda töötada ja käike võrrelda
Kui olete oma käigu sisestanud, valib arvuti juhuslikult kas "kivi", "paber" või "käärid". Seejärel peab mäng võrdlema teie käiku arvuti käiguga, et teha kindlaks, kes võitis.
- Kasutage juhuslikku moodulit, et panna arvuti saadaolevate käikude loendist juhuslikult valima.
computerChoice = random.choice (moveOptions)
print(f"Arvuti valis {computerChoice}.") - Peate oma käiku võrdlema arvuti käiguga, et teha kindlaks, kes võitis. Seda saate teha uue sõnastiku loomisega. See sõnastik sisaldab iga liigutust (näiteks "kivi") ja seda, millisele käigule see võidab või kaotab (näiteks "kivi" võidab "käärid" ja kaotab "paberile").
liigub = {
"rock": { "lööb": 'käärid', 'losesTo': "paber" },
'käärid': { "lööb": "paber", 'losesTo': "rock" },
"paber": { "lööb": "rock", 'losesTo': 'käärid' },
} -
Kasutage Pythoni if-lauset et kontrollida, kas teie käik ja arvuti käik annavad tulemuseks viigi. Muul juhul kasutage käigusõnastikku, et võrrelda mängija käiku arvuti käiguga.
Näiteks kui valisite "rock", siis liigutuste[userChoice]['beats'] väärtus oleks "käärid". Kui arvuti valik oli "käärid", tähendab see, et teie liigutus ületas nende oma.if userChoice == computerChoice:
print(f"Nii sina kui ka arvuti valisid {userChoice}. See on lips!")
muidu:
kui (liigub[kasutajavalik]["lööb"] == computerChoice):
print(f"{userChoice} lööb {computerChoice}. Sina võidad!")
kui (liigub[kasutajavalik]['losesTo'] == computerChoice):
print(f"{userChoice} kaotab {computerChoice}. Arvuti võidab!")
Kuidas hoida skoori mängija ja arvuti vahel mitme vooru vahel
Saate lisada ka täiendavaid ringe, kus teie ja arvuti teete kumbki kolm pööret.
Kui olete arvutiga valinud kas kivi, paberi või käärid, küsib mäng teilt uuesti ja jälgib teie tulemusi. Mängija skoor suureneb vastavalt sellele, kes võitis selle konkreetse vooru.
- Praegune kood tähistab nii mängija kui ka arvuti ühte pöördeid. Lisage funktsiooni new turn() sisse kogu praegune kood, välja arvatud impordilause. Samuti saate väljundsõnumeid vastavalt muuta, et öelda "Sa võidad selle vooru" asemel "Sa võidad".
defkeerata():
userChoice = input("Kivi, paber või käärid? ").lower()moveOptions = ["rock", "paber", 'käärid']
samas (kasutaja valik mitte sisse liikumise valikud):
userChoice = input("Vigane valik. Peab olema kivi, paber või käärid: ").lower()printida("")
print(f"Sa valisid {userChoice}.")computerChoice = random.choice (moveOptions)
print(f"Arvuti valis {computerChoice}.")liigub = {
"rock": { "lööb": 'käärid', 'losesTo': "paber" },
'käärid': { "lööb": "paber", 'losesTo': "rock" },
"paber": { "lööb": "rock", 'losesTo': 'käärid' },
}if userChoice == computerChoice:
print(f"Nii sina kui ka arvuti valisid {userChoice}. See on lips!")
muidu:
kui (liigub[kasutajavalik]["lööb"] == computerChoice):
print(f"{userChoice} lööb {computerChoice}. Sa võidad selle vooru!")kui (liigub[kasutajavalik]['losesTo'] == computerChoice):
print(f"{userChoice} kaotab {computerChoice}. Arvuti võidab!") - Mängija ja arvuti saavad kumbki teha kolm pööret. Lisage faili ülaossa globaalne muutuja nimega "turns".
pöörded = 3
- Pärast funktsiooni turn() kasutage Pythoni silmust korrata ringi kolm korda. Iga ringi alguses printige ringi number. Kutsuge funktsioon turn(), et paluda mängijal ja arvutil teha selle vooru käigud.
i jaoks vahemikus (pöörded):
printida("")
print(f" Ümar {i+1}: ")
turn() - Iga vooru võitnud isiku jälgimiseks lisage faili ülaossa iga mängija jaoks skoori muutuja. Nendele muutujatele määrate väärtused funktsiooni turn() sees, seega kasutage neid kindlasti globaalsete muutujatena.
ComputerScore = 0
mängijaSkoor = 0defkeerata():
globaalne computerScore, playerScore - Funktsiooni turn() sees, kui nii mängija kui ka arvuti on oma käigu teinud, lisage võitja punktisummale punkt. Muutke if-lauset, et suurendada muutuja "playerScore" või "computerScore" väärtust.
kui (liigub[kasutajavalik]["lööb"] == computerChoice):
print(f"{userChoice} lööb {computerChoice}. Sa võidad selle vooru!")
mängija tulemus += 1kui (liigub[kasutajavalik]['losesTo'] == computerChoice):
print(f"{userChoice} kaotab {computerChoice}. Arvuti võidab!")
ComputerScore += 1 - Funktsiooni turn() lõpus printige iga mängija koguskooride värskendus.
# Printige pärast vooru värskendus kogutulemuste kohta
printida("")
print(f"SCOREBOARD | Mängija skoor: {playerScore} | Arvuti tulemus: {computerScore}") - Mängu lõpus ja pärast mängija ja arvuti pöördeid kordavat for-tsüklit printige lõplik võitja.
printida("")
if (computerScore > playerScore):
print(f"Arvuti võidab {computerScore} punktid!")
elif (playerScore > computerScore):
print(f"Sa võidad koos {playerScore} punktid!")
muidu:
print(f"See on lips! Te mõlemad võidate {playerScore} punktid!")
Kuidas mängu käivitada
Mängu mängimiseks käivitage Pythoni skript terminali või käsuviiba abil. Sisestage oma käik ja oodake, kuni arvuti omaks teeb. Kui olete kolm vooru läbinud, kuvab programm võitja.
- Avage käsuviip või terminal ja liikuge kausta, kuhu oma Pythoni faili salvestate.
- Kasutage skripti käivitamiseks käsku python:
püütonKivi paber käärid.py
- Mängige mängu, sisestades kas "kivi", "paber" või "käärid".
Õppige Pythonit, luues mänge
Lihtsate mängude, näiteks mängu "Kivi, paber, käärid" loomine on suurepärane viis programmeerimiskontseptsioonidega lähemalt tutvumiseks. Pythoni abil saate teha palju muid lõbusaid mänge, näiteks tekstipõhiseid seiklusmänge.