Exemple #1
0
def try_swap():
    global cursor_pos
    margin = Globals.margin
    image_size = Globals.image_size
    x, y = pygame.mouse.get_pos()
    x = int(int(x - margin[0]) / image_size)
    y = int(int(y - margin[1]) / image_size)
    if not (x < 0 or x >= Gameboard.Gameboard_size or y < 0
            or y >= Gameboard.Gameboard_size):
        if (Globals.selected_element == [x, y]):
            Globals.selected_element = (-1, -1)
        elif Globals.selected_element == (-1, -1):
            Globals.selected_element = [x, y]
        else:
            if coord_distance(Globals.selected_element, [x, y]) <= 1:
                Gameboard.swap_elements(Globals.selected_element, [x, y])
                old_swap = ([x, y], Globals.selected_element)
                ## if we didn't get a match, undo this swap
                if not Gameboard.check_adjacency(3):
                    Gameboard.swap_elements(old_swap[0], old_swap[1])
                    return
                Gameboard.check_drop()
                set_game_state(Globals.Game_State.animation)
                Globals.selected_element = (-1, -1)
            else:
                Audio.Cancel()
Exemple #2
0
def try_swap():
    global cursor_pos
    margin = Globals.margin
    image_size = Globals.image_size
    x,y = pygame.mouse.get_pos()
    x = int(int(x - margin[0]) / image_size)
    y = int(int(y - margin[1]) / image_size)
    if not (x < 0 or x >= Gameboard.Gameboard_size or y < 0 or y >= Gameboard.Gameboard_size):
        if (Globals.selected_element == [x, y]):
            Globals.selected_element = (-1, -1)
        elif Globals.selected_element == (-1, -1):
            Globals.selected_element = [x, y]
        else:
            if coord_distance(Globals.selected_element, [x, y]) <= 1:
                Gameboard.swap_elements(Globals.selected_element, [x, y])
                old_swap = ([x,y], Globals.selected_element)
                ## if we didn't get a match, undo this swap
                if not Gameboard.check_adjacency(3):
                    Gameboard.swap_elements(old_swap[0], old_swap[1])
                    return
                Gameboard.check_drop()
                set_game_state(Globals.Game_State.animation)
                Globals.selected_element = (-1, -1)
            else:
                Audio.Cancel()
Exemple #3
0
def game_loop():
    if (get_ticks() >= Globals.end_time and Globals.game_state != Globals.Game_State.game_over):
        game_over()
    elif Globals.game_state == Globals.Game_State.ready:
        poll_events()
    elif Globals.game_state == Globals.Game_State.animation:
        do_animations()
    elif Globals.game_state == Globals.Game_State.update:
        if Gameboard.check_drop():
            set_game_state(Globals.Game_State.animation)
        elif not Gameboard.check_adjacency(Globals.match_length):
            set_game_state(Globals.Game_State.ready)
            Score.Reset_Combo()
            Globals.current_turn += 1
            if not Gameboard.check_availible_moves():
                Graphic_Element.make_graphic_element(
                    TextHandler.Render_TextBox("Shuffling Board",(255,255,255)), 250, 250, get_ticks() + 1000)
                reset_board()
    elif Globals.game_state == Globals.Game_State.game_over:
        poll_events()
Exemple #4
0
def game_loop():
    if (get_ticks() >= Globals.end_time
            and Globals.game_state != Globals.Game_State.game_over):
        game_over()
    elif Globals.game_state == Globals.Game_State.ready:
        poll_events()
    elif Globals.game_state == Globals.Game_State.animation:
        do_animations()
    elif Globals.game_state == Globals.Game_State.update:
        if Gameboard.check_drop():
            set_game_state(Globals.Game_State.animation)
        elif not Gameboard.check_adjacency(Globals.match_length):
            set_game_state(Globals.Game_State.ready)
            Score.Reset_Combo()
            Globals.current_turn += 1
            if not Gameboard.check_availible_moves():
                Graphic_Element.make_graphic_element(
                    TextHandler.Render_TextBox("Shuffling Board",
                                               (255, 255, 255)), 250, 250,
                    get_ticks() + 1000)
                reset_board()
    elif Globals.game_state == Globals.Game_State.game_over:
        poll_events()