Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

Крикет, насчитывающий около 2,5 миллиардов поклонников, является одним из крупнейших и самых популярных видов спорта в мире. Только в Индии крикет стоит колоссальные 5,3 миллиарда долларов. Сачин Тендулкар, Дональд Брэдман, Брайан Лара и М.С. Дхони — это лишь несколько легенд, чьи имена живут в сердцах миллионов.

Неудивительно, что крикет нашел свое применение в виртуальной реальности, видеоиграх и других вариациях, таких как книжный и ручной крикет. Сделайте еще один шаг в этой игре, создав игру в ручной крикет с помощью Python.

Что такое ручной крикет?

Ручной крикет — это игра, в которой двое игроков соревнуются друг с другом, используя свои пальцы. В каждый ход оба игрока одновременно показывают число пальцами. Если результаты совпадают, игрок с битой выбывает, в противном случае он получает свой номер по мере прохождения. Наконец, игрок, набравший наибольшее количество очков, побеждает в игре.

instagram viewer

Вы также можете создать эту игру и играть против компьютера. Вместо того, чтобы протягивать пальцы для представления счета, вы вводите его в программу. Python — один из самых простых и удобных в использовании языков. Если у вас нет опыта работы с Python, вы можете быстро освоить любой из этих бесплатные онлайн-курсы Python для начинающих.

Как только вы изучите основы, хорошей идеей будет создание мини-проектов и игр, чтобы закрепить ваше обучение. Вы можете начать с создания цифровых часов, бросания игральных костей, викторины или счетчика слов. Вы также можете черпать вдохновение из этих Идеи проекта Python для начинающих.

Как создать игру в ручной крикет с помощью Python

Вы можете найти исходный код Hand Cricket Using Python в этом Гитхаб репозиторий.

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

Если число, которое вводит пользователь, больше максимального предела или меньше минимального предела, попросите пользователя ввести действительный выбор, нажав рекурсивный вызов функции. Если число находится в пределах диапазона, верните его.

Импортировать случайный

дефinput_num(мин Макс):
число = целое (ввод())

если число > макс. или число < мин:
Распечатать("Введите правильный выбор")
возвращаться input_num (мин., макс.)
еще:
возвращаться число

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

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

Отобразите выбор обоих игроков, затем проверьте, равны ли они. Если это так, покажите, что игрок с битой отсутствует, и верните общее количество ранов, которые он набрал в этом иннинге.

В противном случае проверьте, кто отбивает, и добавьте соответствующее значение к общему счету, либо пнум или cnum. Отображение текущего счета игрока с битой.

В случае второго иннинга вы хотите проверить, побил ли уже отбивающий счет своего противника. Для этого проверьте, to_chase значение не пусто и если счет игрока с битой больше. Если это так, верните их выигрышный счет.

дефвозможности(бэтсмен, to_chase):
Распечатать("Введите числа от 1 до 6. Если вы оба выберете один и тот же номер, то " + бэтсмен + " вне")
всего = 0

покаИстинный:
pnum = input_num(1, 6)
cnum = случайный.randint(1, 6)

Распечатать(«Пользователь выбрал», пнум)
Распечатать(«Компьютер выбрал», снум)

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

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

Возьмите выбор пользователя и проверьте, ввел ли он его. Если да, оцените выражение как истинное и сохраните в player_bowls переменная. Показать выбор пользователя. С другой стороны, если жеребьевку выиграл компьютер, выполните рандинт() и оцените соответствующее значение для player_bowls.

Отобразите выбор компьютера и начните подачу.

Распечатать(«Пора подбрасывать, введите 0 для орла и 1 для решки»)
выбор = input_num(0, 1)
монета = случайный.randint(0, 1)
player_bowls = ЛОЖЬ

если монета == выбор:
Распечатать(«Вы выиграли жеребьевку»)
Распечатать("Выберите 0 для летучей мыши, 1 для миски")
player_bowls = input_num(0, 1) == 1

если player_шары:
Распечатать(«Вы выбрали боулинг»)
еще:
Распечатать(«Вы выбрали биту»)
еще:
Распечатать(«Компьютер выиграл жеребьевку»)
player_bowls = случайный.randint(0, 1) == 1

если player_шары:
Распечатать(«Компьютер выбрал летучую мышь»)
еще:
Распечатать(«Компьютер выбрал чашу»)

Если player_bowls правда, сначала летит компьютер и наоборот. Вычислите раны, набранные в иннингах, используя функцию, которую вы определили ранее. Для этой функции требуется имя текущего игрока с битой и количество пробежек. Поскольку первый игрок с битой устанавливает счет, сделайте его необязательным параметром и передайте Никто. Во второй возможности передайте счет игрока с битой, поставившего цель.

если player_шары:
comp_score = иннинги("Компьютер", Никто)
user_score = количество подач ("Пользователь", comp_score)
еще:
user_score = количество подач ("Пользователь", Никто)
comp_score = иннинги("Компьютер", пользовательский_счет)

Если компьютер набирает меньше очков, чем пользователь, выигрывает пользователь, и наоборот. В случае, если результаты одинаковы, покажите ничью.

если comp_score < user_score:
Распечатать(«Пользователь выигрывает»)
Элиф user_score < comp_score:
Распечатать(«Компьютер побеждает»)
еще:
Распечатать(«Жеребьевка матча»)

Соберите весь код вместе и приготовьтесь играть в ручной крикет в любое время и в любом месте прямо у вас под рукой.

Вывод ручного крикета с использованием Python

Вы можете увидеть результат игры в ручной крикет с использованием Python следующим образом:

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

Терминальные игры на Python

Создание игр — это отличный способ выучить Python и доставить массу удовольствия. Вам не нужно быть экспертом, чтобы начать программировать и экспериментировать с Python. Имея правильные основы, вы можете создавать потрясающие терминальные игры.

Начните с создания Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator и игры на угадывание чисел. По мере продвижения вперед изучите библиотеку PyGame, чтобы создавать собственные графические видеоигры.