Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

S odhadovanými 2,5 miliardami fanoušků je kriket jedním z největších a nejpopulárnějších sportů na světě. Jen v Indii má kriket hodnotu neuvěřitelných 5,3 miliardy dolarů. Sachin Tendulkar, Donald Bradman, Brian Lara a MS Dhoni jsou jen některé legendy, jejichž jména žijí v srdcích milionů lidí.

Není žádným překvapením, že si kriket našel cestu do virtuální reality, videoher a dalších variant, jako je knižní a ruční kriket. Posuňte tuto hru o krok dále tím, že vytvoříte ruční kriketovou hru pomocí Pythonu.

Co je ruční kriket?

Ruční kriket je hra, ve které dva hrají proti sobě pomocí svých prstů. V každém tahu oba hráči zobrazí číslo pomocí prstů současně. Pokud se skóre shodují, pálkař je mimo, jinak získá své číslo jako běhy. Nakonec vyhrává hráč, který získá nejvíce bodů.

Tuto hru si můžete postavit a hrát proti počítači. Místo abyste natáhli prsty, abyste znázornili partituru, zadáte ji do programu. Python je jedním z nejjednodušších a nejpohodlnějších jazyků k použití. Pokud nemáte žádné předchozí zkušenosti s používáním Pythonu, můžete se s kteroukoli z nich zrychlit

instagram viewer
bezplatné online kurzy Pythonu pro začátečníky.

Jakmile se naučíte základy, je dobré vytvářet miniprojekty a hry, které upevní vaše učení. Můžete začít stavbou digitálních hodin, hodem kostkou, kvízem nebo počítadlem slov. I z nich se můžete inspirovat Nápady na projekt Python pro začátečníky.

Jak vytvořit ruční kriket pomocí Pythonu

Zdrojový kód Hand Cricket Using Python najdete v tomto GitHub úložiště.

Importujte náhodnou knihovnu potřebnou pro počáteční losování a volby počítače. Definujte funkci pojmenovanou vstupní_číslo který přijímá dva argumenty, min a max respektive pro ověření vstupu uživatele. Za použití vstup() uložte číslo zadané uživatelem do proměnné ča přetypovat jej z výchozího typu String na typ Integer pomocí int().

Pokud je číslo, které uživatel zadá, větší než maximální limit nebo menší než minimální limit, požádejte uživatele, aby zadal platnou volbu do volání funkce rekurzivně. Pokud je číslo v rozsahu, vraťte ho.

import náhodný

defvstupní_číslo(min, max.):
num = int (vstup())

-li počet > max nebo počet < min:
tisk("Zadejte platnou volbu")
vrátit se input_num (min, max)
jiný:
vrátit se č

Definujte funkci směny který akceptuje aktuálního pálkaře a běhy k pronásledování jako vstupní argumenty. Požádejte uživatele, aby zadal čísla v rozsahu od jedné do šesti. Podle pravidel ručního kriketu, pokud uživatel i počítač zvolí stejné číslo, aktuální pálkař je mimo.

Inicializujte proměnnou celkový uložit celkový počet nájezdů dosažených pálkařem a nastavit jej na nulu. Začněte nekonečno zatímco smyčka a zavolejte input_num() funkce pro uložení a ověření vstupu uživatele. Použijte náhodné moduly randint() funkce pro výběr náhodného čísla mezi jednou a šesti pro počítač.

Zobrazte volby obou hráčů a poté zkontrolujte, zda jsou stejné. Pokud ano, ukažte, že pálkař je mimo, a vraťte mu celkový počet běhů, které v dané směně zaznamenal.

V opačném případě zkontrolujte, kdo odpaluje, a přidejte příslušnou hodnotu k celkovému skóre pnum nebo cnum. Zobrazte aktuální skóre pálkaře.

V případě druhé směny chcete zkontrolovat, zda pálkař již překonal skóre svého soupeře. Chcete-li tak učinit, zkontrolujte, zda je honit hodnota není prázdná a pokud je skóre pálkaře vyšší. Pokud ano, vraťte jim vítězné skóre.

defsměny(pálkař, to_chase):
tisk("Zadávejte čísla mezi 1 a 6. Pokud oba zvolíte stejné číslo, pak " + pálkař + " je venku")
celkem = 0

zatímcoSkutečný:
pnum = input_num(1, 6)
cnum = random.randint(1, 6)

tisk("Uživatel si vybral", pnum)
tisk("Počítač vybral", cnum)

-li pnum == cnum:
tisknout (pálkař + " je venku")
vrátit se celkový
jiný:
celkem = celkem + (pnum -li pálkař == "Uživatel"jiný cnum)
tisknout (pálkař + "skóre je", celkem)
-li honit jeneŽádnýa celkem > to_chase:
vrátit se celkový

Zobrazte zprávu k hodu a potvrďte volbu uživatele pomocí tlačítka input_num() funkce. Hoďte si mincí a výsledek uložte do proměnné mince. Inicializujte výchozí hodnotu player_bowls na falešné. Pokud hod mincí odpovídá volbě uživatele, uživatel vyhraje los a vybere si mezi odpalováním a bowlingem.

Vyberte si uživatele a zkontrolujte, zda nějaké zadal. Pokud ano, vyhodnoťte výraz jako true a uložte jej do player_bowls variabilní. Zobrazit volbu uživatele. Na druhou stranu, pokud počítač vyhrál los, proveďte randint() a vyhodnotit vhodnou hodnotu player_bowls.

Zobrazte volbu počítače a začněte směny.

tisk("Čas na házení, zadejte 0 pro hlavy a 1 pro ocasy")
volba = input_num(0, 1)
coin = random.randint(0, 1)
player_bowls = Nepravdivé

-li mince == výběr:
tisk("Vyhrál jsi los")
tisk("Vyberte 0 pro pálku, 1 pro mísu")
player_bowls = input_num(0, 1) == 1

-li player_bowls:
tisk("Vybral sis bowling")
jiný:
tisk("Vybral sis pálku")
jiný:
tisk("Počítač vyhrál los")
player_bowls = random.randint(0, 1) == 1

-li player_bowls:
tisk("Počítač zvolil pálku")
jiný:
tisk("Počítač se rozhodl pro bowling")

Li player_bowls je pravda, že počítač pálí první a naopak. Pomocí funkce, kterou jste definovali dříve, vypočítejte počet běhů ve směnách. Funkce vyžaduje jméno aktuálního pálkaře a běhy k pronásledování. Jako první pálkař nastavuje skóre, udělejte z něj volitelný parametr a přihrajte Žádný. Pro druhou směnu předejte skóre pálkaře, který nastavil cíl.

-li player_bowls:
comp_score = směny("Počítač", Žádný)
user_score = směny("Uživatel", comp_score)
jiný:
user_score = směny("Uživatel", Žádný)
comp_score = směny("Počítač", uživatelské_skóre)

Pokud má počítač nižší skóre než uživatel, vyhrává uživatel a naopak. V případě, že je skóre stejné, ukažte remízu.

-li comp_score < user_score:
tisk("Uživatel vyhrává")
elif user_score < comp_score:
tisk("Počítač vítězí")
jiný:
tisk("losování")

Dejte dohromady celý kód a připravte se hrát ruční kriket kdykoli a kdekoli přímo na dosah ruky.

Výstup ručního kriketu pomocí Pythonu

Můžete vidět výstup hry ručního kriketu pomocí Pythonu takto:

Když spustíte program, program vás požádá o výběr volby pro los a přiřadí příslušný výsledek. Pokud vyhrajete, můžete se rozhodnout, zda chcete pálku nebo bowling, jinak se rozhodne počítač. Každá směna pokračuje, dokud se čísla neshodují a jedno je venku. Nakonec počítač porovná konečné skóre a vyhlásí vítěze.

Hry založené na terminálu v Pythonu

Stavitelské hry jsou úžasným způsobem, jak se naučit Python, a jsou velmi zábavné. Nemusíte být expert, abyste mohli začít kódovat a experimentovat v Pythonu. S těmi správnými základy můžete vytvořit úžasné terminálové hry.

Začněte tím, že postavíte Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator a hru na hádání čísel. Jak budete postupovat dále, prozkoumejte knihovnu PyGame a vytvořte si také své vlastní grafické videohry.