- Авг
- 142
- 186
Пользователь
Всем привет, сегодня мы с вами сделаем простенькую игру "Кликер", думаю для начинающий будет неплохим уроком.
1. Переменные
В самом начале мы создаем переменные которые будут хранить текущие показатели игры:
Coin = 0 - количество монет у игрока (начинаем с нуля).
reward = 1 - награда за один клик
upgrader = 10 — стоимость покупки улучшения.
2. Отображение данных и меню
Теперь нам нужно сделать список и также вывести данные игрока (сколько монет, сколько получит монет за клик). Что бы программа не вылетала после каждого ввода, добавим циал while True: (ВАЖНО: С ЦИКЛОМ while True:, НУЖНО ДЕЛАТЬ ПРОМЕЖУТКИ (Tab), ИНАЧЕ РАБОТАТЬ НЕ БУДЕТ.)
Конструкция f"..." (f-строки) позволяет удобно вставлять значения переменных прямо в текст.
Функция int(...) превращает число в целое.
Функция input(...) выводит меню и ждет, пока пользователь введет какой-то текст и нажмет Enter. Введенный текст сохраняется в переменную list.
3. Логика нажатия Enter (Клик)
Если пользователь ничего не ввел (просто нажал Enter), то list будет пустой строкой ("").
В этом случае к количеству монет (coin) прибавляется текущая награда (reward).
4. Покупка улучшения
Если пользователь ввел 1, проверяется условие: if coin >= upgrader (хватает ли монет на покупку?).
Если монет достаточно:
Награда за клик увеличивается на единицу (reward += 1).
Стоимость следующего улучшения увеличивается в 1.5 раза (upgrader *= 1.5), чтобы игра со временем становилась сложнее.
Если монет не хватает: программа сообщает об этом и просит покопить еще.
7. Выход из игры
Если пользователь ввел 2, срабатывает функция exit(), которая полностью закрывает программу.
Надеюсь вам было понятно, если вдруг есть вопросы, пишите в эту тему, я отвечу на них. Спасибо за внимание.
Вот целый код игры:
1. Переменные
В самом начале мы создаем переменные которые будут хранить текущие показатели игры:
Переменные:
coin = 0
reward = 0
upgrader = 10
reward = 1 - награда за один клик
upgrader = 10 — стоимость покупки улучшения.
2. Отображение данных и меню
Теперь нам нужно сделать список и также вывести данные игрока (сколько монет, сколько получит монет за клик). Что бы программа не вылетала после каждого ввода, добавим циал while True: (ВАЖНО: С ЦИКЛОМ while True:, НУЖНО ДЕЛАТЬ ПРОМЕЖУТКИ (Tab), ИНАЧЕ РАБОТАТЬ НЕ БУДЕТ.)
dannie:
while True:
print(f"Ваши монеты: {int(coin)}")
print(f"Награда за клик: {int(reward)}")
list = input("\n1. Купить улучшение.\n"
"2. Выход\n"
"Выбор: ")
Функция int(...) превращает число в целое.
Функция input(...) выводит меню и ждет, пока пользователь введет какой-то текст и нажмет Enter. Введенный текст сохраняется в переменную list.
3. Логика нажатия Enter (Клик)
click:
if list == "":
coin += reward
input(f"Вы получили +{reward} монет.")
В этом случае к количеству монет (coin) прибавляется текущая награда (reward).
4. Покупка улучшения
upgrade:
if list == "1":
if coin >= upgrader:
input(f"Вы успешно купили улучшение за {upgrader} монет.")
reward += 1
upgrader *= 1.5
else:
input(f"Улучшение стоит {upgrader} монет, копите.")
Если пользователь ввел 1, проверяется условие: if coin >= upgrader (хватает ли монет на покупку?).
Если монет достаточно:
Награда за клик увеличивается на единицу (reward += 1).
Стоимость следующего улучшения увеличивается в 1.5 раза (upgrader *= 1.5), чтобы игра со временем становилась сложнее.
Если монет не хватает: программа сообщает об этом и просит покопить еще.
7. Выход из игры
Выход:
if list == "2":
exit()
Надеюсь вам было понятно, если вдруг есть вопросы, пишите в эту тему, я отвечу на них. Спасибо за внимание.
Вот целый код игры:
clicker:
coin = 0
reward = 1
upgrader = 10
while True:
print(f"Ваши монеты: {int(coin)}")
print(f"Награда за клик: {int(reward)}")
list = input("\n1. Купить улучшение.\n"
"2. Выход\n"
"Выбор: ")
if list == "":
coin += reward
input(f"Вы получили +{reward} монет.")
if list == "1":
if coin >= upgrader:
input(f"Вы успешно купили улучшение за {upgrader} монет.")
reward += 1
upgrader *= 1.5
else:
input(f"Улучшение стоит {upgrader} монет, копите.")
if list == "2":
exit()