Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- init python:
- import datetime
- # время старта текущей сессии игры = время последней проверки
- persistent.game_last_time = datetime.datetime.now()
- # общее время в игре в секундах
- if persistent.gametime is None:
- persistent.gametime = 0
- # функция для отображения текущего общего времени в игре
- def show_gametime(st, at):
- # сколько прошло со времени последней проверки
- t = datetime.datetime.now()
- dt = t - persistent.game_last_time
- # запоминаем текущее время, как время последней проверки
- persistent.game_last_time = t
- # суммируем время в игре со временем с последней проверки
- persistent.gametime += dt.total_seconds() # в секундах
- # переводим секунды в часы, минуты, секунды
- minutes, seconds = divmod(int(persistent.gametime), 60)
- hours, minutes = divmod(minutes, 60)
- # переводим текст в изображение
- # с форматированием (добавлением нулей, если число не двузначное)
- img = Text("%0*d:%0*d:%0*d" % (2, hours, 2, minutes, 2, seconds))
- # на выходе изображение со временем
- return img, .1
- init:
- # привязываем функцию к динамическому изображению,
- # чтобы счетчик тикал без обновления экранов
- image gametime = DynamicDisplayable(show_gametime)
- screen scr_game_time:
- # эту же строку можно добавить и в главное меню:
- add "gametime" align(.95, .05)
- # для сброса времени в игре:
- # $ persistent.gametime = 0
- # или привязать к кнопке:
- # textbutton _("Сброс времени") action SetField(persistent, "gametime", 0)
- # Игра начинается здесь.
- label start:
- show screen scr_game_time
- "Текст игры."
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement