Рубрики
Без рубрики

Игра Создать рок-бумага-ножницы с Python и Micro: BIT [часть 1]

В этом проекте вы узнаете основные концепции программирования, создав игру «Rock-Paper-Scissors», используя Python и Micro: Bit. Помечено с Python, Microbit, учебниками, начинающими.

Что вы узнаете Основные концепции программирования (переменные, функции, если утверждения)
Инструменты, которые вам понадобятся Современный браузер
Время, необходимое для завершения 30 минут

Что вы будете построить

В этом проекте вы узнаете основные концепции программирования, создав игру «Rock-Paper-Scissors», используя Python и Micro: Bit. Вы можете найти последний проект в Microsoft делает код И вы можете скачать код из моего Репозиторий GitHub Отказ

инструкции

Посетите Microsoft делает код Веб-сайт и выберите Micro: Bit. Создайте новый проект и дайте ему имя, которое вам нравится, то расширяйте параметры кода и выберите Только Python из раскрывающегося меню. Мы собираемся использовать акселерометр и экран Micro: BIT, чтобы построить нашу игру.

Добавьте событие on_shake, чтобы запустить код, когда вы встряхиваете микро: бит

Определите функцию on_ gesture_shake () Отказ Эта функция будет содержать все код игры и выполнить, когда вы встряхиваете микро: бит.

def on_gesture_shake():
    pass
input.on_gesture(Gesture.SHAKE, on_gesture_shake)

В программировании Функции являются блоками утверждений, которые выполняют определенные задачи.

Создайте 2 игрока и выберите случайного объекта (рок, бумага или ножницы) для каждого игрока

Каждый игрок выбирает один из 3 объектов (рок, бумага или ножницы). В программировании мы предпочитаем использовать цифры вместо слов, и, таким образом, мы собираемся назначить номера 1, 2 и 3 к объектам породы, бумаги и ножницы соответственно. Следовательно, вам нужно только выбрать случайное число в диапазоне от 1 до 3 для каждого игрока. Внутри On_ Gesture_shake Функция, создать две переменные Рука1 и Рука2 для первого и второго игрока соответственно. Используйте Randint () функция для создания 2 случайных чисел и хранить их в переменных Рука1 и рука2 .

hand1 = randint(1, 3)
hand2 = randint(1, 3)

Переменные используются для хранения информации и данных. Эти данные могут быть номерами, буквами, словами.

Randint () Функция используется для генерации случайных целочисленных чисел в указанном диапазоне. Мы используем два параметра для указания нижнего и более высокого предела. Например, Рэндинт (1, 10) вернет случайные целые числа от 1 до 10.

Показать выбор игроков

Используйте команду:

basic.show_number(hand1)

Чтобы показать выбор первого игрока на светодиодах. Что ты заметил? Число в диапазоне от 1 до 3 появилось, а не фактический выбор игрока (рок, бумага или ножницы). Это происходит потому, что компьютер не знает, что мы символизируем объекты с числами.

Мы собираемся использовать случайные номера, которые хранятся в рука1. и Рука2 Чтобы выбрать изображение, чтобы показать на светодиодах. Если номер 1, показать изображение скалы. Если номер 2, показать изображение листа бумаги. Если номер не 1, ни 2 (число 3), показать изображение ножниц.

Если Заявление – это условное утверждение программирования, которое выполняет различные действия в зависимости от того, оценивается ли данное условие для True или False.

Используйте Если утверждение.

if hand1 == 1:
    basic.show_icon(IconNames.SMALL_SQUARE)
elif hand1 == 2:
    basic.show_icon(IconNames.SQUARE)
else:
    basic.show_icon(IconNames.SCISSORS)

Напишите те же команды для второго игрока. Не забудьте изменить Рука1 Переменная к рука2 .

if hand2 == 1:
    basic.show_icon(IconNames.SMALL_SQUARE)
elif hand2 == 2:
    basic.show_icon(IconNames.SQUARE)
else:
    basic.show_icon(IconNames.SCISSORS)

Определить победителя

Показать номер 1, если первый игрок выигрывает. Показать номер 2, если второй проигрыватель выигрывает и показать 0, если это галстук. Используйте несколько Если утверждения (вложенные, если заявления), чтобы определить победителя.

if hand1 == 1: # Rock
    if hand2 == 1: # Rock
        basic.show_number(0)
    elif hand2 == 2: # Paper
        basic.show_number(2)
    else: # Scissors
        basic.show_number(1)
elif hand1 == 2: # Paper
    if hand2 == 1: # Rock
        basic.show_number(1)
    elif hand2 == 2: # Paper
        basic.show_number(0)
    else: # Scissors
        basic.show_number(2)
else: # Scissors
    if hand2 == 1: # Rock
        basic.show_number(2)
    elif hand2 == 2: # Paper
        basic.show_number(1)
    else: # Scissors
        basic.show_number(0)

Улучшить пользовательский опыт

Как вы можете рассмотреть, иконы игроков (выбор) появляются и исчезают быстро. Используйте команду Пауза (500) Чтобы остановить игру на 0,5 секунды (это означает, что микро: бит показывает значок в течение 0,5 секунды). Затем используйте команды Clear_screen () и Пауза (500) Чтобы остановить игру в течение 0,5 секунды, прежде чем показывать следующий значок.

def on_gesture_shake():

    hand1 = randint(1, 3)
    hand2 = randint(1, 3)

    if hand1 == 1: # Rock
        basic.show_icon(IconNames.SMALL_SQUARE)
    elif hand1 == 2: # Paper
        basic.show_icon(IconNames.SQUARE)
    else: # Scissors
        basic.show_icon(IconNames.SCISSORS)

    basic.pause(500)
    basic.clear_screen()
    basic.pause(500)

    if hand2 == 1: # Rock
        basic.show_icon(IconNames.SMALL_SQUARE)
    elif hand2 == 2: # Paper
        basic.show_icon(IconNames.SQUARE)
    else: # Scissors
        basic.show_icon(IconNames.SCISSORS)

    basic.pause(500)
    basic.clear_screen()
    basic.pause(500)

    if hand1 == 1: # Rock
        if hand2 == 1: # Rock
            basic.show_number(0)
        elif hand2 == 2: # Paper
            basic.show_number(2)
        else: # Scissors
            basic.show_number(1)
    elif hand1 == 2: # Paper
        if hand2 == 1: # Rock
            basic.show_number(1)
        elif hand2 == 2: # Paper
            basic.show_number(0)
        else: # Scissors
            basic.show_number(2)
    else: # Scissors
        if hand2 == 1: # Rock
            basic.show_number(2)
        elif hand2 == 2: # Paper
            basic.show_number(1)
        else: # Scissors
            basic.show_number(0)

input.on_gesture(Gesture.SHAKE, on_gesture_shake)

Поздравляю! Вы разработали простую рок-бумагу-ножницы с Python и Micro: Bit. Если вы хотите поделиться проектом с друзьями, вы можете выбрать кнопку обмена.

Что дальше?

В следующем уроке вы узнаете, как сделать переменные для хранения текущей игры Round Round и игроков. Быть в курсе!

Больше статей: foteinisavvidou.codes

Здравствуйте, меня зовут Фотени Саввиду, и я являюсь электрическим и компьютерным инженерным учеником, который любит писать код и создавать красивые вещи. Я заинтересован в информатике, AI и особенно в приложениях технологий в здравоохранении и образовании. Я хочу использовать технологию для улучшения повседневной жизни людей и создать более устойчивый 🌱, доступный и включенный 🧑 🤝🧑 мир.

Блог |. Linkedin. | Twitter |. Гадость

Оригинал: “https://dev.to/sfoteini/create-a-rock-paper-scissors-game-with-python-and-micro-bit-part-1-445o”