Ez az egyszerű játék oktatóanyag segít gyakorolni a Python programozás alapjait.

A „Rock, Paper, Scissors” játék Pythonban létrehozása nagyszerű módja a programozási ismeretek fejlesztésének. Létrehozhatja a játékot egyetlen Python-szkripttel, és lejátszhatja a parancssorban.

A játék azzal kezdődik, hogy megkérjük a játékost, hogy válasszon „szikla”, „papír” vagy „olló”. Ezután megvárja, hogy megadják a válaszukat. A játékot egy „számítógépes” játékos ellen játszhatja, aki automatikusan kiválasztja a lépését.

A játék sok kört is tartalmazhat. Tehát még ha elveszíti is az első kört, akkor is megpróbálhat háromból kettőt megnyerni!

Hogyan állítsd be a játékot, és kérd meg a játékostól a lépést

Amikor a játék elindul, a Python programnak meg kell kérnie a játékost, hogy írja be a „rock”, „paper” vagy „scissors” kifejezést, és vegye figyelembe a játékos válaszát. Új játék beállításához először hozzon létre egy új Python-fájlt .py kiterjesztéssel.

Az oktatóanyag teljes kódja itt érhető el egy GitHub adattár.

instagram viewer
  1. Hozzon létre egy új fájlt RockPaperScissors.py.
  2. Nyissa meg az új Python-fájlt bármilyen szövegszerkesztővel, például Notepad++ vagy Visual Studio Code használatával.
  3. A fájl tetején importálja a véletlenszerű modult. Ezt később a játék során fogod használni, hogy véletlenszerűen válassz egy lépést a számítógép köréhez.
    import véletlen
  4. Mutass be egy üzenetet a játékosnak, és kérd meg, hogy kővel, papírral vagy ollóval adjon be.
    userChoice = input("Kő, papír vagy olló? ").Alsó()
  5. Inicializáljon egy "moveOptions" nevű tömböt, amely tárolja az elérhető mozgások listáját, amelyeket Ön vagy a számítógép lejátszhat.
    moveOptions = ['szikla', 'papír', 'olló']
  6. Amikor a játékos beír egy bevitelt, érvényesítse azt, hogy megbizonyosodjon arról, hogy az egyik elérhető lépés. Miután a játékos érvényes lépést tett, nyomtasson egy megerősítő üzenetet.
    míg (A userChoice nem ban ben MoveOptions):
    userChoice = input("Érvénytelen választás. Kőnek, papírnak vagy ollónak kell lennie: ").Alsó()

    nyomtatás("")
    nyomtatás(f "Te választottad {userChoice}.")

Hogyan cserélje fel a számítógépet és hasonlítsa össze a mozdulatokat

Miután megadta a lépését, a számítógép sorra kerül úgy, hogy véletlenszerűen kiválasztja a „sziklát”, a „papírt” vagy az „ollót”. A játéknak ezután össze kell hasonlítania az Ön lépését a számítógép lépésével, hogy megállapítsa, ki nyert.

  1. Használja a véletlenszerű modult, hogy a számítógép véletlenszerűen válasszon a rendelkezésre álló lépések listájából.
    computerChoice = random.choice (moveOptions)
    nyomtatás(f" A számítógép választott {computerChoice}.")
  2. Össze kell hasonlítania lépését a számítógép lépésével, hogy megállapítsa, ki nyert. Ezt egy új szótár létrehozásával teheti meg. Ez a szótár minden lépést (például "szikla") tartalmaz, és azt, hogy melyik lépést nyer vagy veszít (például a "kő" veri az "ollót" és veszít a "papírral").
    mozog = {
    'szikla': { 'üt': 'olló', 'losesTo': 'papír' },
    'olló': { 'üt': 'papír', 'losesTo': 'szikla' },
    'papír': { 'üt': 'szikla', 'losesTo': 'olló' },
    }
  3. Használja a Python if utasítást ellenőrizni, hogy az Ön lépése és a számítógép lépése döntetlent eredményez-e. Ellenkező esetben használja a lépések szótárát a játékos lépésének összehasonlításához a számítógép lépéseivel.
    if userChoice == computerChoice:
    nyomtatás(f „Te és a számítógép is választott {userChoice}. Ez egy nyakkendő!")
    más:
    ha (moves[userChoice]['üt'] == computerChoice):
    nyomtatás(f"{userChoice} veri {computerChoice}. Te nyertél!")

    ha (moves[userChoice]['losesTo'] == computerChoice):
    nyomtatás(f"{userChoice} elveszíti {computerChoice}. A számítógép nyer!")
    Például, ha a "rock" lehetőséget választja, akkor a moves[userChoice]['beats'] értéke "olló". Ha a számítógép az „ollót” választotta, az azt jelenti, hogy az Ön lépése felülmúlja az övéket.

Hogyan tartsunk pontszámot a játékos és a számítógép között több forduló között

További köröket is hozzáadhat, ahol Ön és a számítógép három-három kört tesz meg.

Miután Ön és a számítógép kiválasztotta a sziklát, a papírt vagy az ollót, a játék újra megkérdezi Önt, és nyomon követi a pontszámait. A játékos pontszáma attól függően növekszik, hogy ki nyerte meg az adott kört.

  1. Az aktuális kód a játékos és a számítógép egyetlen fordulóját jelenti. Adja hozzá az összes aktuális kódot, kivéve az import utasítást egy new turn() függvényben. A kimeneti üzeneteket is ennek megfelelően módosíthatja, hogy „Ön nyeri ezt a kört” helyett „Ön nyer”:
    deffordulat():
    userChoice = input("Kő, papír vagy olló? ").Alsó()

    moveOptions = ['szikla', 'papír', 'olló']

    míg (A userChoice nem ban ben MoveOptions):
    userChoice = input("Érvénytelen választás. Kőnek, papírnak vagy ollónak kell lennie: ").Alsó()

    nyomtatás("")
    nyomtatás(f "Te választottad {userChoice}.")

    computerChoice = random.choice (moveOptions)
    nyomtatás(f" A számítógép választott {computerChoice}.")

    mozog = {
    'szikla': { 'üt': 'olló', 'losesTo': 'papír' },
    'olló': { 'üt': 'papír', 'losesTo': 'szikla' },
    'papír': { 'üt': 'szikla', 'losesTo': 'olló' },
    }

    if userChoice == computerChoice:
    nyomtatás(f „Te és a számítógép is választott {userChoice}. Ez egy nyakkendő!")
    más:
    ha (moves[userChoice]['üt'] == computerChoice):
    nyomtatás(f"{userChoice} veri {computerChoice}. Megnyerted ezt a kört!")

    ha (moves[userChoice]['losesTo'] == computerChoice):
    nyomtatás(f"{userChoice} elveszíti {computerChoice}. A számítógép nyer!")

  2. A lejátszó és a számítógép három-három kört tehet fel. Adjon hozzá egy "turns" nevű globális változót a fájl tetejéhez.
    fordulat = 3
  3. A turn() függvény után használjon Python for ciklust hogy háromszor ismételje meg a kört. Minden kör elején nyomtassa ki a kör számát. Hívja a turn() függvényt, hogy megkérje a játékost és a számítógépet, hogy hajtsák végre a lépéseiket az adott körben.
    i tartományban (fordul):
    nyomtatás("")
    nyomtatás(f" Kerek {i+1}: ")
    fordulat()
  4. Az egyes fordulók nyertesének nyomon követéséhez adjon hozzá egy pontszám változót minden játékoshoz a fájl tetején. Ezekhez a változókhoz a turn() függvényen belül kell értékeket rendelni, ezért győződjön meg róla, hogy globális változóként használja őket.
    computerScore = 0
    player Score = 0

    deffordulat():
    globális computerScore, playerScore

  5. A turn() függvényen belül, ha a játékos és a számítógép is megtette a lépését, adjon hozzá egy pontot a győztes pontszámához. Módosítsa az if utasítást a "playerScore" vagy a "computerScore" változó értékének növeléséhez.
    ha (moves[userChoice]['üt'] == computerChoice):
    nyomtatás(f"{userChoice} veri {computerChoice}. Megnyerted ezt a kört!")
    player Score += 1

    ha (moves[userChoice]['losesTo'] == computerChoice):
    nyomtatás(f"{userChoice} elveszíti {computerChoice}. A számítógép nyer!")
    computerScore += 1

  6. A turn() függvény végén nyomtasson frissítést minden játékos összpontszámáról.
    # Nyomtasson ki frissítést az összpontszámról a forduló után
    nyomtatás("")
    nyomtatás(f"SCOREBOARD | Játékos pontszáma: {playerScore} | Számítógép pontszáma: {computerScore}")
  7. A játék legvégén és a játékos és a számítógép köreit megismétlő for ciklus után nyomtasd ki a végső győztest.
    nyomtatás("")

    if (computerScore > playerScore):
    nyomtatás(f"A számítógép nyer {computerScore} pont!")
    elif (playerScore > computerScore):
    nyomtatás(f" Nyersz vele {playerScore} pont!")
    más:
    nyomtatás(f "Ez döntetlen! Mindketten nyertek vele {playerScore} pont!")

A játék futtatása

A játékhoz futtassa a Python szkriptet terminál vagy parancssor használatával. Adja meg a lépést, és várja meg, amíg a számítógép az övék lesz. A három forduló teljesítése után a program megjeleníti a nyertest.

  1. Nyisson meg egy parancssort vagy terminált, és keresse meg azt a mappát, amelyben a Python-fájlt tárolja.
  2. Használja a python parancsot a szkript futtatásához:
    pitonKő papír olló.py
  3. Játssz a játékkal a „kő”, „papír” vagy „olló” szó beírásával.

Tanuljon Python játékok létrehozásával

Az egyszerű játékok, például a "Kő, papír, olló" játék létrehozása nagyszerű módja annak, hogy jobban megismerje a programozási koncepciókat. Nagyon sok más szórakoztató játék is elkészíthető Python használatával, például egy szöveges kalandjáték.