Зарегистрируйтесь на любом бесплатном пинге / проверке / мониторинге, и он будет отправлять запросы на ваш сайт каждые 5/10/15 минут.
Вы могли создать словарь, где ключи являются входом, и значение является функцией, которая обрабатывает нажатие клавиши:
def handle_quit():
quit()
def handle_left():
curpiece.shift(-1, 0)
shadowpiece = curpiece.clone(); setupshadow(shadowpiece)
def handle_right():
curpiece.shift(1, 0)
shadowpiece = curpiece.clone(); setupshadow(shadowpiece)
def handle_pause():
if not paused:
paused = True
branch = {
K_q: handle_quit
K_e: handle_pause
K_LEFT: handle_left
K_RIGHT: handle_right
}
for event in pygame.event.get():
if event.type == KEYDOWN:
branch[event.key]()
Затем изменение ключей является вопросом изменения ключей словаря.
Что я делаю в наше время, имеют своего рода входной сборочный класс/функцию/поток, который проверит список предопределенного ключа-> привязка события.
Что-то вроде этого:
class InputHandler:
def __init__ (self, eventDispatcher):
self.keys = {}
self.eventDispatcher = eventDispatcher
def add_key_binding (self, key, event):
self.keys.update((key, event,))
def gather_input (self):
for event in pygame.event.get():
if event.type == KEYDOWN:
event = self.keys.get(event.key, None)
if not event is None:
self.eventDispatcher.dispatch(event)
....
inputHandler = InputHandler(EventDispatcher)
inputHandler.add_key_binding(K_q, "quit_event")
...
inputHandler.gather_input()
....
Это в основном, что делает superjoe30, за исключением того, что вместо того, чтобы назвать обратные вызовы непосредственно, я добавляю другой уровень разделения при помощи системы диспетчеризации события, так, чтобы любой код, который заботится о клавишах, нажатых просто, прислушался к тому событию.
Кроме того, ключи могут быть легко связаны с различными событиями, которые могли быть считаны из файла конфигурации или чего-то и любого ключа, который не связывается с событием, просто проигнорирован.
в дополнение к ответу superjoe30 можно использовать два уровня отображения (два словаря)
Я думаю, что это помогло бы позволить пользовательские отображения. т.е. таким образом, пользователи могут отобразить свои ключи к "командам", а не "названию функции"