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

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

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

Что вы узнаете Глобальные переменные и списки в Python
Инструменты, которые вам понадобятся Современный браузер
Время, необходимое для завершения 30 минут

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

Во второй части проекта вы улучшите Игра рок-бумага-ножницы , что вы уже сделали, создав переменные для хранения текущей игры и игроков и игроков. Вы можете найти последний проект в Microsoft делает код И вы можете скачать код из моего Репозиторий GitHub Отказ

инструкции

Посетите Microsoft делает код Сайт, выберите Micro: Bit, а затем выберите предыдущий проект Rock-Paper-Beaciss. Если вы следили за моими инструкциями из первая часть проекта, вы должны иметь функцию под названием On_ Gesture_shake Отказ Эта функция содержит весь игровой код, который работает при потрясении микро: бит. Вы также определили две переменные Рука1 и Рука1 для первого и второго игрока соответственно И вы использовали функцию Randint () сделать произвольный выбор для каждого игрока. Наконец, вы показали выбранные объекты игроков и номер победителя, используя несколько Если заявления.

Создайте переменную с именем раундов для хранения текущего раунда

Создайте переменную раунды со значением 0 За пределами функции (перед началом игры количество раунда 0). Переменная раунды это глобальная переменная.

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

В начале каждого раунда увеличивайте раунды значение на 1.

rounds = 0
def on_gesture_shake():
    global rounds
    rounds += 1
    ...
input.on_gesture(Gesture.SHAKE, on_gesture_shake)

Выражение раунды равно раунды + 1 Отказ Это выражение означает, что мы получаем текущее значение раунды мы добавляем 1 А потом мы храним новую ценность в раунды Переменная.

Изменить код выбора победителя

В части 1 мы использовали несколько Если утверждения (вложенные, если заявления), чтобы определить победителя и функцию Basic.show_number () Чтобы показать количество проигрывателей, который выиграл. В этом проекте вы измените этот фрагмент кода, создавая переменную с именем Победитель В котором вы будете хранить номер проигрывателя, который выиграл (или 0, если ни один из игроков не выиграл). Например, предположим, что первый игрок выигрывает. В этом случае вы используете функцию Basic.show_number (1) Для того, чтобы распечатать номер 1. Заменить эту функцию выражением победитель . Точно так же, если второй игрок выигрывает, используйте выражение победитель И если это галстук, используйте выражение победитель . Наконец, используйте команду Basic.show_number (победитель) Чтобы показать номер, который хранится в Победитель Переменная.

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

Создайте переменную с именем оценки, чтобы сохранить счет игрока

Вы можете создать две переменные, Оценка1 и Оценка2 , чтобы сохранить счет первого и второго игрока, соответственно. В этом проекте мы собираемся использовать список вместо этого.

Список – это структура данных, которая позволяет вам хранить различные данные в нем. Это означает, что вы можете хранить много элементов или значений в списке. В Python списки создаются путем размещения элементов внутри квадратного кронштейна ([]), разделенного запятой (,). Например, следующая команда создает список с именем Числа заполнены номерами в диапазоне от 1 до 5: Числа = [1, 2, 3, 4, 5] .

Создать список счет со значением [0, 0] Снаружи функции (перед началом игры оценка игроков 0). Предмет первого списка соответствует баллу первого игрока и элемент второго списка ко второму счетчику игрока.

score = [0, 0]

Обновите счет в каждом раунде

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

Как получить доступ к списку? Каждый элемент списка присваивается номер в диапазоне от 0 до N-1, где n – общее количество элементов списка. Эти цифры называются индексами. Вы получаете доступ к элементу списка, ссылаясь на его номер индекса. Например, предположим, что вы создаете список с именем list1 Отказ Чтобы получить доступ к первому элементу, вы используете list1 [0] и для третьего предмета вы используете list1 [2] Отказ

if winner == 1:
    score[0] += 1
elif winner == 2:
    score[1] += 1

Вы распечатаете счет игроков в виде «1-3». Первый номер соответствует баллу первого игрока, а второй со стороны второго игрока. Для того, чтобы распечатать счет в этой форме, используйте следующую команду:

basic.show_string(str(score[0]) + "-" + str(score[1]))

Функция basic.show_string () используется для печати символов. Тем не менее, значения Оценка [0] и Оценка [1] номера, и, таким образом, вы должны преобразовать их первыми на персонажей, используя str () функция. Символ Plus (+) используется для конкатенации строки. Например, следующий фрагмент кода:

a = "Hello, "
b = "John!"
result = a + b
print(result)

Буду печатать: «Привет, Джон!».

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

Использовать Пауза () и Clear_screen () Функции точно так же, как вы использовали их в первой части проекта, чтобы сделать плавный переход между изображениями.

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

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

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

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

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