Создай свой собственный камень, ножницы, бумага - текстовая игра на Python - Pfroject

RedDeveloper
18.04.2023 14:01
Создай свой собственный камень, ножницы, бумага - текстовая игра на Python - Pfroject

GITHUB REPO | FOLLLOW ME ON -> TWITTER | LINKEDIN

Программирование на Python: Создайте свою собственную игру "Камень, ножницы, бумага

В этом проекте мы будем использовать Python для разработки простой игры "Камень, бумага, ножницы". Пользователь может выбрать вариант, а компьютер выберет его случайным образом. Затем победитель будет выбран в соответствии с правилами игры.

Пошаговое объяснение кода:

Первое, что нам нужно сделать, - это настроить наш Python Rock-Paper-Scissors. Откройте удобный для вас редактор кода, создайте новый файл и сохраните его с описательным именем, например, "rock_paper_scissors.py".

Сначала мы импортируем модуль random, который будет использоваться для генерации случайных чисел. После этого мы скопируем ASCII-арт "камень, бумага и ножницы" из этого gist . Вы также можете скопировать код ниже.

import random

rock = '''
    _______
---'   ____)
      (_____)
      (_____)
      (____)
---.__(___)
'''

paper = '''
    _______
---'   ____)____
          ______)
          _______)
         _______)
---.__________)
'''

scissors = '''
    _______
---'   ____)____
          ______)
       __________)
      (____)
---.__(___)
'''

Используя оператор ввода, который принимает целочисленное значение, мы просим пользователя выбрать вариант. Затем, чтобы повторить выбор компьютера, мы используем функцию randint() из модуля random для генерации случайного числа от 0 до 2.

user_played = int(input('What do you want to play? Type 0 for "Rock", 1 for "Paper" or 2 for "Scissiors"\n'))

computer_played = random.randint(0,2)

Мы применяем набор утверждений if-elif-else для определения победителя на основе ввода данных пользователем и случайного выбора компьютера. Мы сравниваем ввод пользователя с выбором компьютера, затем выводим результат вместе с соответствующим сообщением и отображением выбора пользователя и компьютера.

print("You played:")
if user_played == 0:    
    print("Rock\n"+rock)
    
    print("Computer played:")
    if computer_played == 0:
        print("Rock\n"+rock)        
        print("DRAW!")
    elif computer_played == 1:
        print("Paper\n"+paper)        
        print("YOU LOSE!")
    else:
        print("Scissors\n"+scissors)        
        print("YOU WIN!")
        
elif user_played == 1:    
    print("Paper\n"+paper)
    
    print("Computer played:")
    if computer_played == 0:
        print("Rock\n"+rock)        
        print("YOU WIN!")
    elif computer_played == 1:
        print("Paper\n"+paper)        
        print("DRAW!")
    else:
        print("Scissors\n"+scissors)        
        print("YOU LOSE!")
        
elif user_played == 2:    
    print("Scissors\n"+scissors)
    
    print("Computer played:")
    if computer_played == 0:
        print("Rock\n"+rock)        
        print("YOU LOSE!")
    elif computer_played == 1:
        print("Paper\n"+paper)        
        print("YOU WIN!")
    else:
        print("Scissors\n"+scissors)        
        print("DRAW!")
        
else:
    print("Wrong Selection. Try Again.")

Вот полный код.

import random

rock = '''
    _______
---'   ____)
      (_____)
      (_____)
      (____)
---.__(___)
'''

paper = '''
    _______
---'   ____)____
          ______)
          _______)
         _______)
---.__________)
'''

scissors = '''
    _______
---'   ____)____
          ______)
       __________)
      (____)
---.__(___)
'''

user_played = int(input('What do you want to play? Type 0 for "Rock", 1 for "Paper" or 2 for "Scissiors"\n'))

computer_played = random.randint(0,2)

print("You played:")
if user_played == 0:    
    print("Rock\n"+rock)
    
    print("Computer played:")
    if computer_played == 0:
        print("Rock\n"+rock)        
        print("DRAW!")
    elif computer_played == 1:
        print("Paper\n"+paper)        
        print("YOU LOSE!")
    else:
        print("Scissors\n"+scissors)        
        print("YOU WIN!")
        
elif user_played == 1:    
    print("Paper\n"+paper)
    
    print("Computer played:")
    if computer_played == 0:
        print("Rock\n"+rock)        
        print("YOU WIN!")
    elif computer_played == 1:
        print("Paper\n"+paper)        
        print("DRAW!")
    else:
        print("Scissors\n"+scissors)        
        print("YOU LOSE!")
        
elif user_played == 2:    
    print("Scissors\n"+scissors)
    
    print("Computer played:")
    if computer_played == 0:
        print("Rock\n"+rock)        
        print("YOU LOSE!")
    elif computer_played == 1:
        print("Paper\n"+paper)        
        print("YOU WIN!")
    else:
        print("Scissors\n"+scissors)        
        print("DRAW!")
        
else:
    print("Wrong Selection. Try Again.")

Вывод теста

Тестовый вывод
Тестовый вывод

Особенности

Особенности программы

  • Принимает ввод пользователя для выбора камня, бумаги или ножниц
  • Генерирует случайный выбор для компьютера
  • Определяет победителя на основе правил игры

Используемые концепции и техники Python

  • Импорт модулей
  • Многострочные строки как ASCII-искусства
  • Ввод данных пользователем с помощью функции input()
  • Условные операторы с использованием if-elif-else
  • Генерация случайных чисел с помощью функции randint()

В этом проекте мы научились создавать небольшую текстовую игру с помощью Python. Для создания случайных чисел мы использовали модуль random, многострочные строки в ASCII-искусстве и операторы if-elif-else для выбора победителя. Этот проект - отличная возможность начать изучение пользовательского ввода, условных операторов и модуля random.

Эта статья является частью моего журнала проектов Python. Чтобы узнать больше о моем пути в изучении Python и посмотреть другие мои проекты, загляните в этот журнал проектов. Спасибо!

От новичка к профессионалу: Журнал проектов Python, посвященный обучению и инновациям

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?

20.08.2023 18:21

Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией

20.08.2023 17:46

В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox

19.08.2023 18:39

Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest

19.08.2023 17:22

В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!

Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️

18.08.2023 20:33

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL

14.08.2023 14:49

Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.