def run(game):
if bacon._current_game:<EOL><INDENT>bacon._current_game = game<EOL>return<EOL><DEDENT>global _tick_callback_handle<EOL>bacon._current_game = game<EOL>window_resize_callback_handle = lib.WindowResizeEventHandler(window._window_resize_event_handler)<EOL>lib.SetWindowResizeEventHandler(window_resize_callback_handle)<EOL>key_callback_handle = lib.KeyEventHandler(keyboard._key_event_handler)<EOL>lib.SetKeyEventHandler(key_callback_handle)<EOL>mouse_button_callback_handle = lib.MouseButtonEventHandler(mouse_input._mouse_button_event_handler)<EOL>lib.SetMouseButtonEventHandler(mouse_button_callback_handle)<EOL>mouse_scroll_callback_handle = lib.MouseScrollEventHandler(mouse_input._mouse_scroll_event_handler)<EOL>lib.SetMouseScrollEventHandler(mouse_scroll_callback_handle)<EOL>controller_connected_handle = lib.ControllerConnectedEventHandler(controller._controller_connected_event_handler)<EOL>lib.SetControllerConnectedEventHandler(controller_connected_handle)<EOL>controller_button_handle = lib.ControllerButtonEventHandler(controller._controller_button_event_handler)<EOL>lib.SetControllerButtonEventHandler(controller_button_handle)<EOL>controller_axis_handle = lib.ControllerAxisEventHandler(controller._controller_axis_event_handler)<EOL>lib.SetControllerAxisEventHandler(controller_axis_handle)<EOL>_tick_callback_handle = lib.TickCallback(_first_tick_callback)<EOL>lib.SetTickCallback(_tick_callback_handle)<EOL>lib.Run()<EOL>bacon._current_game = None<EOL>_tick_callback_handle = None<EOL>lib.SetWindowResizeEventHandler(lib.WindowResizeEventHandler(<NUM_LIT:0>))<EOL>lib.SetKeyEventHandler(lib.KeyEventHandler(<NUM_LIT:0>))<EOL>lib.SetMouseButtonEventHandler(lib.MouseButtonEventHandler(<NUM_LIT:0>))<EOL>lib.SetMouseScrollEventHandler(lib.MouseScrollEventHandler(<NUM_LIT:0>))<EOL>lib.SetControllerConnectedEventHandler(lib.ControllerConnectedEventHandler(<NUM_LIT:0>))<EOL>lib.SetControllerButtonEventHandler(lib.ControllerButtonEventHandler(<NUM_LIT:0>))<EOL>lib.SetControllerAxisEventHandler(lib.ControllerAxisEventHandler(<NUM_LIT:0>))<EOL>lib.SetTickCallback(lib.TickCallback(<NUM_LIT:0>))<EOL>
Start running the game.  The window is created and shown at this point, and then
    the main event loop is entered.  'game.on_tick' and other event handlers are called
    repeatedly until the game exits.

    If a game is already running, this function replaces the :class:`Game` instance that
    receives events.