Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

С приблизително 2,5 милиарда фенове, крикетът е един от най-големите и популярни спортове в света. Само в Индия крикетът струва колосалните 5,3 милиарда долара. Sachin Tendulkar, Donald Bradman, Brian Lara и MS Dhoni са само няколко легенди, чиито имена живеят в сърцата на милиони.

Не е изненадващо, че крикетът е намерил своя път към виртуалната реалност, видеоигрите и други варианти като крикет на книга и ръчен. Направете тази игра една крачка напред, като създадете игра за ръчен крикет с помощта на Python.

Какво е ръчен крикет?

Ръчен крикет е игра, в която двама се състезават един срещу друг, използвайки пръстите си. Във всеки ход и двамата играчи показват число, използвайки пръстите си едновременно. Ако резултатите съвпадат, батсманът е аут, в противен случай те печелят номера си като рънове. Накрая, играчът, който вкара най-много точки, печели играта.

instagram viewer

Можете да създадете тази игра и да я играете и срещу компютър. Вместо да протягате пръсти, за да представите резултата, вие го въвеждате в програмата. Python е един от най-лесните и удобни за използване езици. Ако нямате предишен опит с Python, можете да се справите с някое от тях безплатни онлайн курсове по Python за начинаещи.

След като научите основите, е добра идея да създадете мини-проекти и игри, за да затвърдите обучението си. Можете да започнете с изграждането на цифров часовник, хвърляне на зарове, тест или брояч на думи. Можете също да почерпите вдъхновение от тях Идеи за проекти на Python за начинаещи.

Как да създадете игра за ръчен крикет с помощта на Python

Можете да намерите изходния код на Hand Cricket Using Python тук GitHub хранилище.

Импортирайте произволната библиотека, необходима за първоначалното хвърляне и избора на компютъра. Дефинирайте функция с име input_num който приема два аргумента, мин и макс съответно за валидиране на въведеното от потребителя. Използвайки вход() функция, съхранява номера, въведен от потребителя в променлива бри го преобразувайте от типа String по подразбиране към тип Integer, като използвате int().

Ако въведеното от потребителя число е по-голямо от максималното ограничение или по-малко от минималното ограничение, помолете потребителя да въведе валиден избор до извикване на функцията рекурсивно. Ако числото е в диапазона, върнете го.

импортиране случаен

дефinput_num(мин., макс.):
num = int (вход())

ако брой > макс или брой < мин.:
печат („Въведете валиден избор“)
връщане input_num (мин., макс.)
друго:
връщане бр

Дефинирайте функция ининги който приема текущия батсман и бяганията за преследване като входни аргументи. Помолете потребителя да въведе числа в диапазона от едно до шест. Според правилата на ръчния крикет, ако и потребителят, и компютърът изберат едно и също число, текущият батсман отпада.

Инициализирайте променлива обща сума за да съхраните общите рънове, отбелязани от батсман и да ги зададете на нула. Започнете безкрайно докато цикъл и извикване на input_num() функция за съхраняване и валидиране на въведеното от потребителя. Използвайте произволните модули randint() функция за избор на произволно число между едно и шест за компютъра.

Покажете изборите на двамата играчи, след което проверете дали са равни. Ако са, покажете, че батсманът е аут и върнете общите рънове, които са отбелязали в този ининг.

В противен случай проверете кой бие и добавете подходящата стойност към общия резултат пнум или cnum. Показване на текущия резултат на батсмана.

В случай на втори ининг, вие искате да проверите дали ударителят вече е победил резултата на опонента си. За да направите това, проверете дали да гони стойността не е празна и ако резултатът на батсмана е по-голям. Ако е така, върнете техния печеливш резултат.

дефининги(батсман, преследване):
печат („Въведете числа между 1 и 6. Ако и двамата изберете един и същи номер, тогава " + батсман + " е навън")
общо = 0

докатоВярно:
pnum = input_num(1, 6)
cnum = random.randint(1, 6)

печат („Избрано от потребителя“, пнум)
печат ("Компютърът избра", cnum)

ако pnum == cnum:
печат (батсман + " е навън")
връщане обща сума
друго:
общо = общо + (pnum ако батсман == "Потребител"друго cnum)
печат (батсман + "резултатът е", обща сума)
ако да гони енеНито едини общо > преследване:
връщане обща сума

Покажете съобщението за хвърляне и потвърдете избора на потребителя с помощта на input_num() функция. Хвърлете монетата и запазете резултата в променливата монета. Инициализирайте стойността по подразбиране на player_bowls до невярно. Ако хвърлянето на монета съответства на избора на потребителя, потребителят печели хвърлянето и избира между вата и боулинга.

Вземете избора на потребителя и проверете дали той е въвел такъв. Ако да, оценете израза като верен и го запазете в player_bowls променлива. Показване на избора на потребителя. От друга страна, ако компютърът спечели хвърлянето, изпълнете randint() и оценете подходящата стойност за player_bowls.

Покажете избора на компютъра и започнете инингите.

печат („Време за хвърляне, въведете 0 за глави и 1 за опашки“)
избор = input_num(0, 1)
монета = random.randint(0, 1)
player_bowls = Невярно

ако монета == избор:
печат („Спечелихте хвърлянето“)
печат („Изберете 0 за прилеп, 1 за купа“)
player_bowls = input_num(0, 1) == 1

ако player_bowls:
печат („Ти избра да играеш купа“)
друго:
печат ("Ти избра да биеш")
друго:
печат („Компютърът спечели жребия“)
player_bowls = random.randint(0, 1) == 1

ако player_bowls:
печат („Компютърът избра да бие“)
друго:
печат („Компютърът избра да играе купа“)

Ако player_bowls вярно е, че компютърът бие първи и обратно. Изчислете рънове, отбелязани в ининг, като използвате функцията, която сте дефинирали по-рано. Функцията изисква името на текущия батсман и бяганията за преследване. Докато първият батсман определя резултата, направете го незадължителен параметър и пасирайте Нито един. За втория ининг, преминете резултата на батсмана, който е поставил целта.

ако player_bowls:
comp_score = ининги("Компютър", Нито един)
user_score = ининги("Потребител", comp_score)
друго:
user_score = ининги("Потребител", Нито един)
comp_score = ининги("Компютър", user_score)

Ако компютърът има по-малко точки от потребителя, потребителят печели и обратното. В случай, че резултатите са еднакви, покажете равенство.

ако comp_score < user_score:
печат („Потребителят печели“)
елиф user_score < comp_score:
печат ("Компютърът печели")
друго:
печат ("Равенство на мача")

Съберете целия код заедно и се пригответе да играете ръчен крикет по всяко време и навсякъде, на една ръка разстояние.

Резултатът от ръчния крикет с помощта на Python

Можете да видите резултата от игра на ръчен крикет с помощта на Python, както следва:

Когато изпълните програмата, програмата ви моли да изберете избор за хвърляне и присвоява подходящия резултат. Ако спечелите, вие трябва да решите дали искате да ударите с бухалка или купа, в противен случай компютърът ще вземе решение. Всеки ининг продължава, докато числата съвпаднат и едно изчезне. Накрая компютърът сравнява крайния резултат и обявява победителя.

Терминално базирани игри в Python

Създаването на игри е невероятен начин да научите Python и е много забавно. Не е нужно да сте експерт, за да започнете да кодирате и експериментирате в Python. Само с точните основи можете да създадете някои невероятни терминални игри.

Започнете с изграждането на Magic 8 Ball, палач, камък ножици хартия, генератор на Mad Libs и играта за отгатване на числа. Докато напредвате, изследвайте библиотеката на PyGame, за да създадете и свои собствени графични видео игри.