Ehitage see lihtne mäng, et tugevdada oma Pythoni programmeerimiskontseptsioone.
Mängude loomine Pythonis on suurepärane viis põhiliste programmeerimiskontseptsioonide õppimiseks ja programmeerimisele tugevama aluse loomiseks. Üks mängudest, mida saate luua, on lihtne numbrite äraarvamise mäng.
Numbrite äraarvamise mängu saate luua ühe Pythoni skripti abil. Mängu mängimiseks käivitage skript käsurea või terminali abil.
Mängu huvitavamaks muutmiseks võite lisada mõned täiendavad mängukontseptsioonid. See hõlmab võimalust anda mängijale vihjeid või võimalust muuta mängu raskusastet.
Juhusliku numbri genereerimine
Alustuseks võite luua uue Pythoni skripti koos a .py laiendus mängu loogika hoidmiseks. Lisage sees mõni alguskood, et genereerida juhuslik arv vahemikus 1 kuni 50, et mängija saaks arvata.
Kui te pole Pythoni süntaksiga tuttav, vaadake mõnda Põhilised Pythoni näited et saaksite hoogu juurde.
- Looge uus fail nimega number-guessing-game.py. Avage fail mis tahes tekstiredaktoriga, näiteks Visual Studio või Atom.
- Importige faili ülaosas olev juhuslik moodul:
importida juhuslik
- Kasuta juhuslik mooduli omad randint () meetod juhusliku arvu genereerimiseks vahemikus 1 kuni 50:
arvamisvahemik = 50
vastus = random.randint(1, arvamisvahemik) - Alustage mängu ja paluge mängijal arv ära arvata:
print("Tere tulemast numbrite äraarvamise mängu!")
print("")
userInput = input("Arva ära arv vahemikus 1 kuni" + str (arvamisvahemik) + ": ")
aim = int (kasutaja sisend)
Kuidas kontrollida, kas kasutaja arvas õige numbri
Et kasutaja mängu võidaks, võrrelge kasutaja sisendit genereeritud juhusliku arvuga ja kontrollige, kas see ühtib.
- Kuigi kasutaja pole veel õiget vastust ära arvanud, paluge tal uuesti sisestada uus sisend. Tehke pesastatud koodi taane, kuna Pythoni struktuur sõltub õigest taandest:
arvan = ""
samal ajal arvan!= vastus:
userInput = input("Arva ära arv vahemikus 1 kuni" + str (arvamisvahemik) + ": ")
aim = int (kasutaja sisend) - Kui kood käivitatakse while-tsüklist hiljem, tähendab see, et nad arvasid õige vastuse:
print(„Palju õnne! Sa arvasid õige numbri. Sina võidad!")
Kuidas lisada piiratud arv arvamisi
Selleks, et mängija ei saaks lõpmatu arv kordi küsida, saate piirata tema arvamiste arvu.
- Deklareerige faili alguses uus muutuja, et jälgida mängija lubatud arvamiste arvu. Alustuseks määrake see väärtusele 10:
arvamised_lubatud = 10
- Muutke while-lause for-tsükliks, mis kordub ainult piiratud arvu arvamiste korral:
jaoks i sisse vahemik (guesses_allowed):
userInput = input("Arva ära arv vahemikus 1 kuni" + str (arvamisvahemik) + ": ")
aim = int (kasutaja sisend) - Kui üks oletustest on õige vastus for-tsükli sees, murdke for-tsüklist välja:
kui arvan == vastus:
print(„Palju õnne! Sa arvasid õige numbri. Sina võidad!")
murda - Siiski lisage for-silmusesse veel üks if-lause, et kontrollida, kas mängija on saavutanud oma oletuste arvu limiidi. Kui jah, lõpetage mäng:
kui (i == arvamised_lubatud - 1):
print("Vabandust, teil on oletused otsa saanud. Sa kaotasid!")
Kuidas mängule vihjeid lisada
Mängijale vihjete andmiseks lisage mängu veel üks funktsioon. Üks vihje võib sisaldada neile teada andmist, kas nad peavad arvama suuremat või väiksemat numbrit.
Veel üks vihje on öelda neile, kui lähedal või kaugel nad vastusele on. Näiteks peaks mäng neid teavitama, kui neil läheb "soojemaks". Vastasel juhul, kui nad on numbrist kaugel, peaks mäng neile teatama, et nad muutuvad "külmemaks".
- Muutke if-lauset, mis annab kasutajale teada, kas ta on võitnud. Kui nad ikka õiget vastust ei arvanud, andke teada, kas tegelik vastus on suurem või madalam.
kui arvan == vastus:
print(„Palju õnne! Sa arvasid õige numbri. Sina võidad!")
murda
elif arva < vastus:
print("Arv on suurem.")
muidu:
print("Arv on väiksem.") - Täiendavate vihjete lisamiseks lisage veel üks if-lause. See annab neile teada, kas nad on numbrile lähemale või "soojemaks". Arvatuse ja vastuse vahelise kauguse määramiseks kasutage absoluutfunktsiooni. Näiteks kui need on vastusest vähem kui 10 numbri kaugusel, trükib mäng teksti "Sul on soe":
kui kõhulihased (arva - vastus) <= 10:
print("Sa oled soe!")
elif kõhulihased (arva - vastus) <= 20:
print("Sul läheb soojemaks.")
elif kõhulihased (arva - vastus) <= 30:
print("Sul on külm.")
muidu:
print("Sa külmutad.")
Kuidas muuta mängu raskusastet
Saate paluda kasutajal valida raskusaste. Raskusaste määrab, mitu arvamiskatset mängijal on ja kui kaugel on arvamisvahemik.
- Mängu alguses paluge kasutajal valida raskusaste:
print("Tere tulemast numbrite äraarvamise mängu!")
print("")
samal ajalTõsi:
level = sisend("Valige raskusaste (lihtne, keskmine, raske):").lower() - Lisage kinnitus, et mängija sisestaks ainult valikud "lihtne", "keskmine" või "raske". Kui kasutaja sisestab kehtetu vastuse, palub mäng tal uuesti raskusastmele sisestada.
kui tasemel sisse ["lihtne", "keskmine", "raske"]:
murda
muidu:
print("Vigane sisestus. Valige kas "lihtne", "keskmine" või "raske".) - Enne juhusliku arvu loomist määrake mängija raskuste järgi, kui palju arvamisi nad võivad teha. Võite kasutada ka nende valitud raskusastet, et määrata, kui suur on oletusvahemik:
kui tase == "lihtne":
arvamisvahemik = 50
arvamised_lubatud = 20
elif tase == "keskmine":
arvamisvahemik = 100
arvamised_lubatud = 15
muidu:
arvamisvahemik = 150
arvamised_lubatud = 10vastus = random.randint(1, arvamisvahemik)
Kuidas mängu mängida
Nüüd, kui teil on mängu jaoks kogu loogika olemas, saate seda käsurealt mängida. Saate vaadata ka täisarvude äraarvamise mängu näidet aadressilt GitHub.
- Avage käsuviip või terminal ja liikuge kausta, kuhu oma Pythoni skripti salvestasite. Näiteks kui salvestasite oma skripti töölauale, näeb käsk välja sarnane järgmiselt:
cd C:\Kasutajad\Sharl\Desktop
- Kasuta püüton käsk Pythoni skripti käivitamiseks:
python number-guessing-game.py
- Sisestage raskusaste.
- Sisestage käsureale numbrid, et proovida arvu ära arvata.
Õppige programmeerimist lihtsate mängude loomise kaudu
Nüüd saate aru, kuidas luua ja käivitada lihtsat mängu ühe Pythoni skripti abil. Jätkake oma õppimise teekonda, uurides muid huvitavaid projektiideid. Üks näide sellest on proovida Pythonis Ping-pühkijat ehitada.