Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

A becslések szerint 2,5 milliárd rajongóval a krikett a világ egyik legnagyobb és legnépszerűbb sportja. Csak Indiában a krikett 5,3 milliárd dollárt ér. Sachin Tendulkar, Donald Bradman, Brian Lara és MS Dhoni csak néhány legenda, akiknek neve milliók szívében él.

Nem meglepő, hogy a krikett megtalálta az utat a virtuális valósághoz, a videojátékokhoz és más változatokhoz, például a könyvhöz és a kézi kriketthez. Tegye ezt a játékot egy lépéssel tovább azáltal, hogy Python segítségével készít egy kézi krikettjátékot.

Mi az a kézi krikett?

A kézi krikett olyan játék, amelyben ketten versenyeznek egymással az ujjaikkal. Minden körben mindkét játékos egy számot jelenít meg az ujjaival egyszerre. Ha a pontszámok egyeznek, az ütő kiesik, ellenkező esetben futással nyerik a számukat. Végül a legtöbb gólt szerző játékos nyeri a játékot.

Ezt a játékot megépítheted és számítógép ellen is játszhatod. Ahelyett, hogy ujjait kinyújtva ábrázolná a pontszámot, írja be a programba. A Python az egyik legkönnyebben és legkényelmesebben használható nyelv. Ha nincs korábbi tapasztalata a Python használatában, ezek bármelyikével felgyorsulhat

instagram viewer
ingyenes online Python-tanfolyamok kezdőknek.

Miután megtanulta az alapokat, jó ötlet mini-projekteket és játékokat építeni, hogy megszilárdítsa a tanulást. Kezdheti digitális óra megépítésével, kockadobással, kvízzel vagy szószámlálóval. Ezekből is meríthet ihletet Python projektötletek kezdőknek.

Hogyan építsünk kézi krikettjátékot Python használatával

Ebben megtalálod a Hand Cricket With Python forráskódját GitHub adattár.

Importálja a véletlenszerű könyvtárat, amely szükséges a kezdeti dobáshoz és a számítógép választásaihoz. Határozzon meg egy nevű függvényt bemeneti_szám amely két érvet fogad el, min és max illetve a felhasználó bevitelének ellenőrzésére. Használni a bemenet() függvény, tárolja a felhasználó által beírt számot a változóban sz, és adja át az alapértelmezett Stringből Integer típusúra a használatával int().

Ha a felhasználó által beírt szám nagyobb, mint a maximális korlát vagy kisebb, mint a minimális korlát, kérje meg a felhasználót, hogy adjon meg egy érvényes lehetőséget a függvény rekurzív meghívása. Ha a szám a tartományon belül van, adja vissza.

import véletlen

defbemeneti_szám(minimum maximum):
szám = int (input())

ha szám > max vagy szám < perc:
nyomtatás("Írja be az érvényes választást")
Visszatérés bemeneti_szám (min, max)
más:
Visszatérés sz

Határozzon meg egy függvényt megbízatási idő amely elfogadja az aktuális batsman-t és a chase-futásokat bemeneti argumentumként. Kérje meg a felhasználót, hogy adjon meg számokat egytől hatig. A kézi krikett szabályai szerint, ha a felhasználó és a számítógép ugyanazt a számot választja, az aktuális ütő kiesik.

Változó inicializálása teljes az ütő által elért összes futás eltárolásához és nullára állításához. Kezdje a végtelent míg hurok, és hívja a bemeneti_szám() funkció a felhasználó bevitelének tárolására és érvényesítésére. Használja a véletlenszerű modulokat randint() funkcióval kiválaszthat egy véletlen számot 1 és 6 között a számítógép számára.

Jelenítse meg mindkét játékos választását, majd ellenőrizze, hogy egyenlőek-e. Ha igen, jelenítse meg, hogy az ütő kiesett, és adja vissza az adott játékrészben elért összes futást.

Ellenkező esetben ellenőrizze, hogy ki üti, és adja hozzá a megfelelő értéket az összpontszámhoz pnum vagy cnum. Jelenítse meg az ütőjátékos aktuális pontszámát.

A második inning esetében ellenőrizni kell, hogy az ütő legyőzte-e már ellenfele pontszámát. Ehhez ellenőrizze, hogy a üldözni érték nem üres, és ha az ütőjátékos pontszáma nagyobb. Ha igen, adja vissza nyerő pontszámát.

defmegbízatási idő(ütő, üldözni):
nyomtatás("Írjon be 1 és 6 közötti számokat. Ha mindketten ugyanazt a számot választják, akkor " + batsman + " kint van")
összesen = 0

mígIgaz:
pnum = bemeneti_szám(1, 6)
cnum = random.randint(1, 6)

nyomtatás("Felhasználó választott", pnum)
nyomtatás("Számítógép választott", cnum)

ha pnum == cnum:
nyomtatás (batsman + " kint van")
Visszatérés teljes
más:
összesen = összesen + (pnm ha ütőember == "Felhasználó"más cnum)
nyomtatás (batsman + "pontszám", teljes)
ha üldözni vannemEgyik semés összesen > to_chase:
Visszatérés teljes

Jelenítse meg a feldobáshoz szükséges üzenetet, és érvényesítse a felhasználó választását a gombbal bemeneti_szám() funkció. Dobd fel az érmét, és tárold el az eredményt a változóban érme. Inicializálja az alapértelmezett értékét játékos_tálak hogy hamis. Ha az érmefeldobás megegyezik a felhasználó választásával, a felhasználó nyeri a dobást, és választhat az ütő és a bowling között.

Válassza ki a felhasználó választását, és ellenőrizze, hogy beírt-e egyet. Ha igen, értékelje a kifejezést igazra, és tárolja a játékos_tálak változó. Jelenítse meg a felhasználó választását. Másrészt, ha a számítógép megnyerte a dobást, hajtsa végre randint() és értékelje a megfelelő értéket játékos_tálak.

Jelenítse meg a számítógép választását, és kezdje el a játékrészeket.

nyomtatás("Idő a dobáshoz, írjon be 0-t a fejek és 1-et a farokért")
választás = bemeneti_szám(0, 1)
érme = random.randint(0, 1)
player_bowls = Hamis

ha érme == választás:
nyomtatás("Megnyerted a dobást")
nyomtatás("Select 0 to bat, 1 to bowl")
player_bowls = input_num(0, 1) == 1

ha player_bowls:
nyomtatás("Te a bowlingot választottad")
más:
nyomtatás("Az ütőzést választottad")
más:
nyomtatás("A számítógép nyerte a dobást")
player_bowls = random.randint(0, 1) == 1

ha player_bowls:
nyomtatás("A számítógép az ütőt választotta")
más:
nyomtatás("A számítógép úgy döntött, hogy dobog")

Ha játékos_tálak igaz, a számítógép denevérek először és fordítva. Számítsa ki a játékrészben elért futásokat a korábban meghatározott függvény segítségével. A funkcióhoz szükség van az aktuális ütő nevére és a futásokra. Amikor az első ütő beállítja a pontszámot, tedd azt opcionális paraméterré, és passzolj Egyik sem. A második játékrészben adja át az ütőt, aki kitűzte a célt.

ha player_bowls:
comp_score = inning("Számítógép", Egyik sem)
user_score = inning("Felhasználó", comp_score)
más:
user_score = inning("Felhasználó", Egyik sem)
comp_score = inning("Számítógép", user_score)

Ha a számítógép kevesebb pontot ér el, mint a felhasználó, akkor a felhasználó nyer, és fordítva. Abban az esetben, ha a pontszámok megegyeznek, döntetlent kell megjeleníteni.

ha comp_score < user_score:
nyomtatás("A felhasználó nyer")
elif user_score < comp_score:
nyomtatás("A számítógép nyer")
más:
nyomtatás("Meccssorsolás")

Helyezze össze az összes kódot, és készüljön fel a kézi krikettjátékra bármikor, bárhol, kéznél.

A kézi krikett kimenete Python használatával

Egy kézi krikett játék kimenetét a Python használatával az alábbiak szerint láthatja:

A program végrehajtásakor a program megkéri, hogy válasszon egy lehetőséget a dobáshoz, és hozzárendeli a megfelelő eredményt. Ha nyersz, el kell döntened, hogy ütőt akarsz-e ütni vagy dobni, különben a számítógép dönt. Minden játékrész addig folytatódik, amíg a számok nem egyeznek, és az egyik ki nem esik. A végén a számítógép összehasonlítja a végeredményt, és kihirdeti a győztest.

Terminál alapú játékok Pythonban

A játékok építése csodálatos módja a Python tanulásának, és nagyon szórakoztató. Nem kell szakértőnek lenned ahhoz, hogy elkezdj kódolni és kísérletezni Pythonban. A megfelelő alapismeretekkel csodálatos termináljátékokat készíthet.

Kezdje a Magic 8 Ball, a Hangman, a Rock Paper Scissors, a Mad Libs Generator és a Number Guessing Game megépítésével. Ahogy haladsz tovább, fedezd fel a PyGame könyvtárat, hogy saját grafikus videojátékaidat is elkészíthesd.