Ši paprasta žaidimo pamoka padės jums praktikuoti Python programavimo pagrindus.

Žaidimo „Rock, Paper, Scissors“ kūrimas „Python“ yra puikus būdas patobulinti savo programavimo įgūdžius. Galite sukurti žaidimą naudodami vieną Python scenarijų ir žaisti jį komandinėje eilutėje.

Žaidimas pradedamas paprašius žaidėjo pasirinkti: „akmuo“, „popierius“ ar „žirklės“. Tada laukiama, kol jie įves savo atsakymą. Galite žaisti prieš „kompiuterinį“ žaidėją, kuris automatiškai pasirinks savo žingsnį.

Žaidime taip pat gali būti daug raundų. Taigi, net jei pralaimėsite pirmąjį turą, vis tiek galite pabandyti laimėti du iš trijų!

Kaip nustatyti žaidimą ir paprašyti žaidėjo judėti

Kai žaidimas prasideda, „Python“ programa turėtų paprašyti žaidėjo įvesti „rock“, „paper“ arba „scissors“ ir priimti žaidėjo atsakymą. Norėdami nustatyti naują žaidimą, pirmiausia sukurkite naują Python failą su plėtiniu .py.

Visą šios pamokos kodą rasite „GitHub“ saugykla.

  1. Sukurkite naują failą pavadinimu RockPaperScissors.py.
  2. Atidarykite naują Python failą naudodami bet kurį teksto rengyklę, pvz., Notepad++ arba Visual Studio Code.
    instagram viewer
  3. Failo viršuje importuokite atsitiktinį modulį. Naudosite tai vėliau žaidimo metu, kad atsitiktinai pasirinktumėte kompiuterio eilės žingsnį.
    importuoti atsitiktinis
  4. Pateikite žaidėjui žinutę, prašydami įvesti akmenį, popierių ar žirkles.
    userChoice = input(„Akmuo, popierius ar žirklės? ").žemesnis()
  5. Inicijuokite masyvą, vadinamą „moveOptions“, kuriame saugomas galimų judesių, kuriuos galite atlikti jūs arba kompiuteris, sąrašas.
    moveOptions = ['Rokas', "popierius", "žirklės"]
  6. Kai žaidėjas įveda įvestį, patvirtinkite ją, kad įsitikintumėte, jog tai vienas iš galimų ėjimų. Kai žaidėjas įvedė tinkamą žingsnį, išspausdinkite patvirtinimo pranešimą.
    kol (vartotojo pasirinkimas ne in MoveOptions):
    userChoice = input("Neteisingas pasirinkimas. Turi būti akmuo, popierius arba žirklės: ").žemesnis()

    spausdinti("")
    spausdinti (f „Tu pasirinkai {userChoice}.")

Kaip pakaitomis dirbti su kompiuteriu ir palyginti judesius

Kai įvesite savo žingsnį, kompiuteris ims savo eilės atsitiktinai pasirinkdamas „akmenį“, „popierių“ arba „žirkles“. Tada žaidimas turės palyginti jūsų žingsnį su kompiuterio ėjimu, kad nustatytų, kas laimėjo.

  1. Naudokite atsitiktinį modulį, kad kompiuteris atsitiktinai pasirinktų iš galimų judesių sąrašo.
    computerChoice = random.choice (moveOptions)
    spausdinti (f "Kompiuteris pasirinko {computerChoice}.")
  2. Norėdami nustatyti, kas laimėjo, turėsite palyginti savo žingsnį su kompiuterio ėjimu. Tai galite padaryti sukūrę naują žodyną. Šiame žodyne yra kiekvienas judesys (pavyzdžiui, „akmuo“) ir tai, kuriam judesiui jis laimi arba pralaimi (pavyzdžiui, „akmuo“ įveikia „žirkles“ ir pralaimi „popieriui“).
    judesiai = {
    'Rokas': { "muša": "žirklės", 'losesTo': "popierius" },
    "žirklės": { "muša": "popierius", 'losesTo': 'Rokas' },
    "popierius": { "muša": 'Rokas', 'losesTo': "žirklės" },
    }
  3. Naudokite Python if teiginį patikrinti, ar jūsų ir kompiuterio judesys yra lygus. Kitu atveju naudokite judesių žodyną, kad palygintumėte žaidėjo ėjimą su kompiuterio judesiu.
    if userChoice == computerChoice:
    spausdinti (f „Ir jūs, ir kompiuteris pasirinkote {userChoice}. Tai kaklaraištis!")
    Kitas:
    jeigu (juda[userChoice]["muša"] == ComputerChoice):
    spausdinti (f"{userChoice} plaka {computerChoice}. Tu laimėjai!")

    jeigu (juda[userChoice]['losesTo'] == ComputerChoice):
    spausdinti (f"{userChoice} pralaimi {computerChoice}. Kompiuteris laimi!")
    Pavyzdžiui, jei pasirinkote „rock“, tada judesių[userChoice]['beats'] reikšmė būtų „žirklės“. Jei kompiuterio pasirinkimas buvo „žirklės“, tai reiškia, kad jūsų judesys pranoko jų.

Kaip išlaikyti rezultatą tarp žaidėjo ir kompiuterio tarp kelių raundų

Taip pat galite pridėti papildomų raundų, kuriuose jūs ir kompiuteris apsisuka po tris.

Kai jūs ir kompiuteris pasirinksite akmenį, popierių ar žirkles, žaidimas vėl jūsų paklaus ir stebės jūsų rezultatus. Žaidėjo balas didėja priklausomai nuo to, kas laimėjo tą konkretų raundą.

  1. Dabartinis kodas reiškia vieną žaidėjo ir kompiuterio apsisukimų raundą. Įtraukite visą dabartinį kodą, išskyrus importo teiginį, į naują turn() funkciją. Taip pat galite atitinkamai pakeisti išvesties pranešimus, sakydami „Jūs laimėsite šį raundą“, o ne „Tu laimi“:
    defpasukti():
    userChoice = input(„Akmuo, popierius ar žirklės? ").žemesnis()

    moveOptions = ['Rokas', "popierius", "žirklės"]

    kol (vartotojo pasirinkimas ne in MoveOptions):
    userChoice = input("Neteisingas pasirinkimas. Turi būti akmuo, popierius arba žirklės: ").žemesnis()

    spausdinti("")
    spausdinti (f „Tu pasirinkai {userChoice}.")

    computerChoice = random.choice (moveOptions)
    spausdinti (f "Kompiuteris pasirinko {computerChoice}.")

    judesiai = {
    'Rokas': { "muša": "žirklės", 'losesTo': "popierius" },
    "žirklės": { "muša": "popierius", 'losesTo': 'Rokas' },
    "popierius": { "muša": 'Rokas', 'losesTo': "žirklės" },
    }

    if userChoice == computerChoice:
    spausdinti (f „Ir jūs, ir kompiuteris pasirinkote {userChoice}. Tai kaklaraištis!")
    Kitas:
    jeigu (juda[userChoice]["muša"] == ComputerChoice):
    spausdinti (f"{userChoice} plaka {computerChoice}. Jūs laimėsite šį turą!")

    jeigu (juda[userChoice]['losesTo'] == ComputerChoice):
    spausdinti (f"{userChoice} pralaimi {computerChoice}. Kompiuteris laimi!")

  2. Žaidėjas ir kompiuteris turi apsisukti po tris. Failo viršuje pridėkite visuotinį kintamąjį, vadinamą „turns“.
    posūkiai = 3
  3. Po turn() funkcijos, naudokite Python for ciklus pakartoti raundą tris kartus. Kiekvieno turo pradžioje atspausdinkite turo numerį. Iškvieskite funkciją turn() ir paprašykite žaidėjo ir kompiuterio atlikti ėjimus tam raundui.
    i diapazone (pasisukimai):
    spausdinti("")
    spausdinti (f" Apvalus {i+1}: ")
    pasukti ()
  4. Norėdami sekti, kas laimėjo kiekvieną turą, failo viršuje pridėkite kiekvieno žaidėjo balo kintamąjį. Šiems kintamiesiems reikšmes priskirsite funkcijoje turn(), todėl būtinai naudokite juos kaip visuotinius kintamuosius.
    ComputerScore = 0
    PlayerScore = 0

    defpasukti():
    globalus computerScore, playerScore

  5. Turn() funkcijoje, kai žaidėjas ir kompiuteris padaro savo žingsnį, pridėkite tašką prie nugalėtojo balo. Pakeiskite teiginį if, kad padidintumėte kintamojo „playerScore“ arba „computerScore“ reikšmę.
    jeigu (juda[userChoice]["muša"] == ComputerChoice):
    spausdinti (f"{userChoice} plaka {computerChoice}. Jūs laimėsite šį turą!")
    žaidėjo rezultatas += 1

    jeigu (juda[userChoice]['losesTo'] == ComputerChoice):
    spausdinti (f"{userChoice} pralaimi {computerChoice}. Kompiuteris laimi!")
    ComputerScore += 1

  6. Pasibaigus funkcijai turn() išspausdinkite kiekvieno žaidėjo bendrų taškų atnaujinimą.
    # Atspausdinkite bendrų balų atnaujinimą po turo
    spausdinti("")
    spausdinti (f"SCOREBOARD | Žaidėjo rezultatas: {playerScore} | Kompiuterio rezultatas: {computerScore}")
  7. Pačioje žaidimo pabaigoje ir po for ciklo, kuris kartoja žaidėjo ir kompiuterio posūkius, išspausdinkite galutinį nugalėtoją.
    spausdinti("")

    jei (computerScore > playerScore):
    spausdinti (f" Kompiuteris laimi su {computerScore} taškų!")
    elifas (playerScore > computerScore):
    spausdinti (f „Tu laimėsi su {playerScore} taškų!")
    Kitas:
    spausdinti (f „Tai kaklaraištis! Jūs abu laimite {playerScore} taškų!")

Kaip paleisti žaidimą

Norėdami žaisti žaidimą, paleiskite Python scenarijų naudodami terminalą arba komandų eilutę. Įveskite savo žingsnį ir palaukite, kol kompiuteris atliks jų. Kai baigsite tris raundus, programa parodys nugalėtoją.

  1. Atidarykite komandų eilutę arba terminalą ir eikite į aplanką, kuriame saugote Python failą.
  2. Norėdami paleisti scenarijų, naudokite python komandą:
    pitonasAkmuo popierius žirklės.py
  3. Žaiskite žaidimą įvesdami „akmuo“, „popierius“ arba „žirklės“.

Išmokite Python kurdami žaidimus

Paprastų žaidimų, tokių kaip „Rock, Paper, Scissors“ žaidimas, kūrimas yra puikus būdas susipažinti su programavimo koncepcijomis. Yra tiek daug kitų įdomių žaidimų, kuriuos galite sukurti naudodami Python, pavyzdžiui, tekstinį nuotykių žaidimą.