Пример #1
0
def game_over_screen(state_stack):
    game_over_stack_panel = gui.StackPanelVertical((0, 0), alignment=gui.StackPanelVertical.ALIGN_CENTER)
    red_line = gui.HorizontalLine(graphic.GraphicChar(None, colors.RED, icon.H_LINE), settings.SCREEN_WIDTH + 1)
    game_over_text = gui.TextBox("YOU DIED", (0, 0), colors.RED)
    insult_text = gui.TextBox("Like a bitch.", (0, 0), colors.DARK_BROWN)

    continue_option = \
        menu.MenuOption("Press Enter to Accept Your Fate...",
                        [lambda: state_stack.pop_to_main_menu()])

    continue_menu = menu.StaticMenu((0, 0), [continue_option], state_stack,
                                    margin=style.menu_theme.margin, may_escape=False)

    short_vspace = gui.VerticalSpace(7)
    long_vspace = gui.VerticalSpace(settings.SCREEN_HEIGHT - 22)

    game_over_stack_panel.append(short_vspace)
    game_over_stack_panel.append(red_line)
    game_over_stack_panel.append(game_over_text)
    game_over_stack_panel.append(red_line)
    game_over_stack_panel.append(insult_text)
    game_over_stack_panel.append(long_vspace)
    game_over_stack_panel.append(continue_menu)

    grayout_rect = gui.RectangleChangeColor(rectfactory.full_screen_rect(),
                                            colors.BLACK, colors.DARK_PURPLE)

    ui_elements = [grayout_rect, game_over_stack_panel]
    ui_state = state.UIState(gui.UIElementList(ui_elements))
    return ui_state
Пример #2
0
    def __init__(self,
                 text,
                 selected_graphic_char,
                 unselected_graphic_char,
                 functions,
                 can_activate=(lambda: True),
                 payload=None):
        super(MenuOptionWithSymbols, self).__init__(text,
                                                    functions,
                                                    can_activate,
                                                    payload=payload)
        self.selected_graphic_char = selected_graphic_char
        self.unselected_graphic_char = unselected_graphic_char

        self._selected = gui.StackPanelHorizontal(geo.zero2d(),
                                                  horizontal_space=1)
        self._selected.append(
            gui.SymbolUIElement(geo.zero2d(), self.selected_graphic_char))
        self._selected.append(
            gui.TextBox(text, geo.zero2d(), colors.TEXT_SELECTED))

        self._unselected = gui.StackPanelHorizontal(geo.zero2d(),
                                                    horizontal_space=1)
        self._unselected.append(
            gui.SymbolUIElement(geo.zero2d(), self.unselected_graphic_char))
        self._unselected.append(
            gui.TextBox(text, geo.zero2d(), colors.TEXT_UNSELECTED))

        self._inactive = gui.StackPanelHorizontal(geo.zero2d(),
                                                  horizontal_space=1)
        self._inactive.append(
            gui.SymbolUIElement(geo.zero2d(), self.unselected_graphic_char))
        self._inactive.append(
            gui.TextBox(text, geo.zero2d(), colors.TEXT_INACTIVE))
Пример #3
0
def victory_screen(state_stack):
    victory_stack_panel = gui.StackPanelVertical((0, 0), alignment=gui.StackPanelVertical.ALIGN_CENTER)
    line = gui.HorizontalLine(graphic.GraphicChar(None, colors.YELLOW, icon.H_LINE), settings.SCREEN_WIDTH + 1)
    victory_text = gui.TextBox("A WINNER IS YOU", (0, 0), colors.WHITE)
    ironic_text = \
        gui.TextBox("Good job! No seriously, I bet it was real hard...",
                    (0, 0), colors.YELLOW_D)

    continue_option = \
        menu.MenuOption("Press Enter to Continue...", [lambda: state_stack.pop_to_main_menu()])

    continue_menu = menu.StaticMenu((0, 0), [continue_option], state_stack,
                                    margin=style.menu_theme.margin, may_escape=False)

    short_vspace = gui.VerticalSpace(7)
    long_vspace = gui.VerticalSpace(settings.SCREEN_HEIGHT - 22)

    victory_stack_panel.append(short_vspace)
    victory_stack_panel.append(line)
    victory_stack_panel.append(victory_text)
    victory_stack_panel.append(line)
    victory_stack_panel.append(ironic_text)
    victory_stack_panel.append(long_vspace)
    victory_stack_panel.append(continue_menu)

    grayout_rect = gui.RectangleChangeColor(rectfactory.full_screen_rect(), colors.DARK_BROWN, colors.YELLOW_D)

    ui_elements = [grayout_rect, victory_stack_panel]
    ui_state = state.UIState(gui.UIElementList(ui_elements))
    return ui_state
Пример #4
0
def connect_menu(win):
    """
	Main function which sets the 'connect' window
	"""
    w, h = win.get_size()

    btns = [
        gui.Button(130, int(h / 2) - 20, "Connect", align="l"),
        gui.Button(130, int(h / 2) + 20, "Disconnect", align="l"),
        gui.Button(130, h - 45, "Back", align="l")
    ]
    boxes = [
        gui.TextBox(int(w / 2), int(h / 2) - 20, text="0.0.0.0"),
        gui.TextBox(int(w / 2), int(h / 2) + 20, text="5555")
    ]
    lbls = [
        gui.TextLabel(int(w / 2),
                      int(h / 2) - 70,
                      text="",
                      color=(200, 0, 0),
                      wrap=False)
    ]

    surf = pygame.Surface((250, h))
    surf.set_alpha(55)
    surf.fill((0, 0, 0))

    menu = gui.MenuWindow(win, btns=btns, boxes=boxes, lbls=lbls, surfs=[surf])

    try:
        if gui.MenuWindow.netw.connected:
            lbls[0].text = "Connected"
    except:
        lbls[0].text = "No active connection to server"

    clock = pygame.time.Clock()
    run, exit = True, False
    while run:
        clock.tick(60)

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False
                exit = True

            if event.type == pygame.MOUSEBUTTONDOWN:
                if btns[-1].rect.collidepoint(event.pos):
                    run = False
                if btns[0].rect.collidepoint(event.pos):
                    establish_connection(boxes, lbls)
                if btns[1].rect.collidepoint(event.pos):
                    destroy_connection(lbls)

            for box in boxes:
                box.handle_event(event)

        menu.draw(pygame.mouse.get_pos())
        pygame.display.update()

    return exit
Пример #5
0
def join_game_menu(win):
    """
	Main function which sets the 'join game' window
	"""
    w, h = win.get_size()

    btns = [
        gui.Button(130, int(h / 2), "Join game", align="l"),
        gui.Button(130, h - 45, "Back", align="l")
    ]
    boxes = [
        gui.TextBox(630, int(h / 2) - 20, text="pica"),
        gui.TextBox(630, int(h / 2) + 20, text="Debora")
    ]
    lbls = [
        gui.TextLabel(375, int(h / 2) - 20, text="Game name", align="r"),
        gui.TextLabel(375, int(h / 2) + 20, text="Player name", align="r"),
        gui.TextLabel(int(w / 2),
                      int(h / 2) - 70,
                      text="Set the game initial data",
                      color=(200, 0, 0))
    ]
    surf = pygame.Surface((250, h))
    surf.set_alpha(55)
    surf.fill((0, 0, 0))

    menu = gui.MenuWindow(win, btns=btns, boxes=boxes, lbls=lbls, surfs=[surf])

    clock = pygame.time.Clock()
    run, exit, start, pID = True, False, False, None
    while run:
        clock.tick(60)

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False
                exit = True

            if event.type == pygame.MOUSEBUTTONDOWN:
                if btns[-1].rect.collidepoint(event.pos):
                    run = False
                if btns[0].rect.collidepoint(event.pos):
                    pID = join_game(boxes, lbls[-1])
                    if type(pID) == int:
                        start, run = True, False

            for box in boxes:
                box.handle_event(event)

        menu.draw(pygame.mouse.get_pos())
        pygame.display.update()

    if start:
        pygame.time.delay(2000)

    return exit, start, pID


#=================================--- end ---=================================#
Пример #6
0
 def __init__(self,
              text,
              functions,
              can_activate=(lambda: True),
              payload=None):
     self._functions = functions
     self.can_activate = can_activate
     self._selected = gui.TextBox(text, geo.zero2d(), colors.TEXT_SELECTED)
     self._unselected = gui.TextBox(text, geo.zero2d(),
                                    colors.TEXT_UNSELECTED)
     self._inactive = gui.TextBox(text, geo.zero2d(), colors.TEXT_INACTIVE)
     self.payload = payload
Пример #7
0
def main(dummy):
    if not dummy:
        g = gui.GuiScreen((1, 0))
    else:
        g = gui.GuiCurses(dummy['win'])

    with g.refreshHold:
        vg = gui.VGroup([1, 2, 8, 2])
        g.add(vg)

        statusbar = gui.HGroup([4, 4, 1, 1, 1, 6])
        vg.getMember(0).add(statusbar)

        tabs = gui.HGroup([1] * 6)
        vg.getMember(1).add(tabs)

        mainbox = vg.getMember(2)

        keylabels = gui.HGroup([1] * 4)
        vg.getMember(3).add(keylabels)

        t1 = gui.TextBox()
        statusbar.getMember(0).add(t1)

        def cb1(temp):
            with t1.refreshHold:
                t1.text = '%2.1f' % (temp * 9.0 / 5.0 + 32)
            t1.refresh()

        if not dummy:
            ts = thermocouple.max6675((0, 0))
        else:
            ts = thermocouple.max6675(None)
        ts.report(cb1)

        t2 = gui.TextBox()
        statusbar.getMember(5).add(t2)

        def cb2(tm):
            with t2.refreshHold:
                tm = tm.split('$')
                tm[1] = int(tm[1])
                t2.text = '%s %u:%s %s' % tuple(tm)
            t2.refresh()

        clk = clock.Clock()
        clk.reportLocal(None, '%a$%I$%M$%p', cb2)

    while True:
        try:
            time.sleep(100)
        except KeyboardInterrupt:
            break
Пример #8
0
def sacrifice_menu(player, powers, post_power_gain_function):
    game_state = player.game_state.value
    state_stack = game_state.menu_prompt_stack
    context_options = []
    stack_pop_function = menu.BackToGameFunction(state_stack)
    width = 24

    for power in powers:
        power_caption = power.description.name + str(power.buy_cost).rjust(width - len(power.description.name))
        power_option = menu.MenuOption(power_caption, [lambda p=power: player.set_child(p),
                                                       lambda p=power: p.on_power_gained(),
                                                       lambda p=power: sacrifice.sacrifice_health(player, p.buy_cost),
                                                       lambda: player.actor.add_energy_spent(gametime.single_turn),
                                                       post_power_gain_function,
                                                       stack_pop_function],
                                       (lambda: player.health.hp.value > power.buy_cost), payload=power)
        context_options.append(power_option)

    cancel_option = menu.MenuOption("Cancel", [stack_pop_function], (lambda: True))
    context_options.append(cancel_option)

    tmp = (0, 0)
    menu_stack_panel = gui.StackPanelVertical(tmp, style.menu_theme.margin, vertical_space=0,
                                              alignment=gui.StackPanelVertical.ALIGN_CENTER)

    heading_stack_panel = gui.StackPanelHorizontal((0, 0), (0, 0), horizontal_space=2)
    menu_stack_panel.append(heading_stack_panel)
    if any(powers):
        power_caption = "Power" + str("Cost").rjust(width - len("Cost   "))
        heading_stack_panel.append(gui.TextBox(power_caption, (1, 0), colors.GRAY))
        heading_stack_panel.append(gui.SymbolUIElement((0, 0), graphic.GraphicChar(colors.DARK_BLUE, colors.HP_BAR_FULL, icon.HEALTH_STAT)))
        menu_stack_panel.append(gui.VerticalSpace(2))
    else:
        power_caption = "There are no more powers."
        menu_stack_panel.append(gui.VerticalSpace(4))
        heading_stack_panel.append(gui.TextBox(power_caption, (1, 0), colors.GRAY))

    item_description_card = gui.new_item_description_card()
    resulting_menu = menu.StaticMenu((0, 0), context_options, state_stack, selected_payload_callback=(lambda item: item_description_card.set_item(item)))
    menu_stack_panel.append(resulting_menu)

    context_menu_rect = rectfactory.center_of_screen_rect(max(menu_stack_panel.total_width, 24),
                                                          max(menu_stack_panel.total_height, 6))
    menu_stack_panel.offset = context_menu_rect.top_left
    background_rect = get_menu_background(context_menu_rect, style.sacrifice_menu_theme.rect_style)

    dock = gui.UIDock(rectfactory.full_screen_rect())
    dock.bottom = item_description_card

    ui_elements = [background_rect, menu_stack_panel, dock]
    ui_state = state.UIState(gui.UIElementList(ui_elements))
    return ui_state
Пример #9
0
def get_item_menu_stack_panel_template(heading_text, heading_icon=None):
    menu_stack_panel = gui.StackPanelVertical((2, 2), vertical_space=1)
    heading_stack = gui.StackPanelHorizontal((0, 1), horizontal_space=1)
    if heading_icon:
        heading_stack.append(gui.SymbolUIElement((0, 0), heading_icon))
    heading_stack.append(gui.TextBox(heading_text, (0, 0), colors.INVENTORY_HEADING))
    menu_stack_panel.append(heading_stack)
    return menu_stack_panel
Пример #10
0
def new_player_status_stack(player, width):
    text_margin = width - 3
    text_box_margin = (0, 0)
    strength_text_box = gui.TextBox("Str" + str(player.strength.value).rjust(text_margin), text_box_margin,
                                    colors.ORANGE)
    armor_text_box = gui.TextBox("Def" + str(player.armor.value).rjust(text_margin), text_box_margin, colors.GRAY)
    evasion_text_box = gui.TextBox("Eva" + str(player.evasion.value).rjust(text_margin), text_box_margin, colors.GREEN)
    stealth_text_box = gui.TextBox("Sth" + str(player.stealth.value).rjust(text_margin), text_box_margin, colors.BLUE)
    movement_speed_text_box = gui.TextBox("Mov" + str(int(120.0 / player.movement_speed.value * 10)).rjust(text_margin),
                                          text_box_margin, colors.CHAMPAGNE)

    status_stack_panel = gui.StackPanelVertical((0, 0), alignment=gui.StackPanelVertical.ALIGN_LEFT, vertical_space=0)
    status_stack_panel.append(strength_text_box)
    status_stack_panel.append(armor_text_box)
    status_stack_panel.append(evasion_text_box)
    status_stack_panel.append(stealth_text_box)
    status_stack_panel.append(movement_speed_text_box)
    return status_stack_panel
Пример #11
0
def new_player_weapon_table(player, width):
    equipment = player.equipment
    if equipment.slot_is_equiped(EquipmentSlots.MELEE_WEAPON):
        melee_graphic = equipment.get(EquipmentSlots.MELEE_WEAPON).graphic_char
    else:
        melee_graphic = graphic.GraphicChar(None, colors.WHITE, icon.BIG_CENTER_DOT)
    melee_damage = str(player.melee_attacker.min_damage) + "-" + str(player.melee_attacker.max_damage)
    melee_accuracy = player.melee_attacker.accuracy
    melee_crit_chance = "{:.0f}".format(player.melee_attacker.crit_chance * 100) + "%"

    if equipment.slot_is_equiped(EquipmentSlots.RANGED_WEAPON):
        range_graphic = equipment.get(EquipmentSlots.RANGED_WEAPON).graphic_char
    else:
        range_graphic = graphic.GraphicChar(None, colors.GRAY, icon.STONE)
    range_damage = str(player.ranged_attacker.min_damage) + "-" + str(player.ranged_attacker.max_damage)
    range_accuracy = player.ranged_attacker.accuracy
    range_crit_chance = "{:.0f}".format(player.ranged_attacker.crit_chance * 100) + "%"

    value_width = 3
    text_box_margin = (0, 0)
    heading_stack_panel = gui.StackPanelHorizontal((0, 0), alignment=gui.StackPanelHorizontal.ALIGN_TOP,
                                                   horizontal_space=0)
    heading_stack_panel.append(gui.HorizontalSpace(6))
    heading_stack_panel.append(gui.SymbolUIElement((0, 0), melee_graphic))
    heading_stack_panel.append(gui.HorizontalSpace(3))
    heading_stack_panel.append(gui.SymbolUIElement((0, 0), range_graphic))
    damage_text_box = gui.TextBox("Dmg " + str(melee_damage).rjust(value_width) +
                                  " " + str(range_damage).rjust(value_width),
                                  text_box_margin, colors.WHITE)
    hit_text_box = gui.TextBox("Hit " + str(melee_accuracy).rjust(value_width) +
                               " " + str(range_accuracy).rjust(value_width),
                               text_box_margin, colors.YELLOW)
    crit_chance_text_box = gui.TextBox("Cri " + str(melee_crit_chance).rjust(value_width) +
                                       " " + str(range_crit_chance).rjust(value_width),
                                       text_box_margin, colors.RED)

    status_stack_panel = gui.StackPanelVertical((0, 0), alignment=gui.StackPanelVertical.ALIGN_LEFT,
                                                vertical_space=0)
    status_stack_panel.append(heading_stack_panel)
    status_stack_panel.append(gui.VerticalSpace(1))
    status_stack_panel.append(damage_text_box)
    status_stack_panel.append(hit_text_box)
    status_stack_panel.append(crit_chance_text_box)
    return status_stack_panel
Пример #12
0
def player_status_menu(player):
    split_width = 27
    content_padding = (2, 2)
    player_status_stack_panel = gui.StackPanelVertical(geo.add_2d((0, 0), content_padding),
                                                       alignment=gui.StackPanelVertical.ALIGN_LEFT,
                                                       vertical_space=1)
    player_status_stack_panel_row_1 = gui.StackPanelHorizontal((0, 0), alignment=gui.StackPanelHorizontal.ALIGN_TOP,
                                                               horizontal_space=1)
    player_status_stack_panel.append(player_status_stack_panel_row_1)
    player_status_stack_panel_row_1.append(gui.BigSymbolUIElement((0, 0), player.graphic_char))
    player_description_stack = gui.StackPanelVertical((0, 0), alignment=gui.StackPanelVertical.ALIGN_LEFT,
                                                      vertical_space=1)
    player_status_stack_panel_row_1.append(player_description_stack)
    player_description_stack.append(gui.TextBox(player.description.name, (2, 0), colors.WHITE))
    player_description_stack.append(gui.TextBox(player.race.value + "\n" + player.job.value, (2, 0), colors.WHITE))

    player_description_stack.append(gui.new_player_hp_bar(12, player.health.hp))
    player_description_stack.append(gui.new_player_sanity_bar(12, Counter(10, 10)))

    player_status_stack_panel_row_2 = gui.StackPanelHorizontal((0, 0), alignment=gui.StackPanelHorizontal.ALIGN_TOP,
                                                               horizontal_space=3)
    player_status_stack_panel.append(player_status_stack_panel_row_2)
    player_status_stack_panel_row_2.append(new_player_status_stack(player, 8))
    player_status_stack_panel_row_2.append(new_player_weapon_table(player, 8))

    description_card = gui.new_item_description_card()
    power_list = get_power_list(player, description_card)
    if len(power_list.menu_items) > 0:
        player_status_stack_panel.append(gui.VerticalSpace(1))
    player_status_stack_panel.append(power_list)

    bg_rect_height = (player_status_stack_panel.total_height + 4)
    bg_rect = rectfactory.center_of_screen_rect(split_width, bg_rect_height)

    player_status_stack_panel.offset = geo.add_2d(bg_rect.top_left, (2, 2))

    styled_bg_rect = get_menu_background(bg_rect, style.rogue_classic_theme.rect_style)

    dock = gui.UIDock(rectfactory.full_screen_rect())
    dock.bottom = description_card
    return state.UIState(gui.UIElementList([styled_bg_rect, player_status_stack_panel, dock]))
Пример #13
0
def item_actions_menu(item, player, state_stack):
    menu_stack_panel = gui.StackPanelVertical((2, 2), vertical_space=1)
    heading_stack = gui.StackPanelHorizontal((0, 1), horizontal_space=1)
    heading_stack.append(gui.SymbolUIElement((0, 0), item.graphic_char))
    heading = gui.TextBox(item.description.name, (0, 0), colors.INVENTORY_HEADING)
    heading_stack.append(heading)
    menu_stack_panel.append(heading_stack)

    item_actions_menu = menu.ItemActionsMenu((0, 0), item, player, state_stack, margin=(2, 2))
    menu_stack_panel.append(item_actions_menu)
    inventory_menu_bg = gui.StyledRectangle(rectfactory.right_side_menu_rect(),
                                            style.rogue_classic_theme.rect_style)

    dock = gui.UIDock(rectfactory.full_screen_rect())
    ui_elements = [inventory_menu_bg, menu_stack_panel]
    dock.bottom_right = gui.UIElementList(ui_elements)
    ui_state = state.UIState(dock)
    return ui_state
Пример #14
0
def equipment_menu(player, state_stack):
    menu_stack_panel = gui.StackPanelVertical((0, 0), margin=(0, 0))
    heading = gui.TextBox("Equipment", (2, 1), colors.INVENTORY_HEADING, (2, 2))
    menu_stack_panel.append(heading)

    equipment_menu_bg = gui.StyledRectangle(rectfactory.right_side_menu_rect(),
                                            style.rogue_classic_theme.rect_style)

    item_description_card = gui.new_item_description_card()
    resulting_menu = menu.EquipmentMenu((0, 0), player, state_stack, selected_payload_callback=(lambda item: item_description_card.set_item(item)), margin=(2, 1))
    menu_stack_panel.append(resulting_menu)

    equipment_gui = gui.UIElementList([equipment_menu_bg, menu_stack_panel])

    equipment_stack_panel = gui.StackPanelHorizontal((0, 0), alignment=gui.StackPanelHorizontal.ALIGN_BOTTOM)
    equipment_stack_panel.append(item_description_card)
    equipment_stack_panel.append(equipment_gui)

    dock = gui.UIDock(rectfactory.full_screen_rect())
    dock.bottom_right = equipment_stack_panel
    return state.UIState(dock)
Пример #15
0
def equipment_slot_menu(player, equipment_slot, state_stack):
    """
    Creates a menu which shows the possible actions
    that can be taken on a given equipment_slot.
    """
    menu_stack_panel = gui.StackPanelVertical((0, 0), margin=(0, 0))
    heading = gui.TextBox("Change " + equipment_slot.name, (2, 1), colors.INVENTORY_HEADING, (2, 2))
    menu_stack_panel.append(heading)

    item_description_card = gui.new_item_description_card()
    resulting_menu = menu.EquipSlotMenu((0, 0), player, equipment_slot, state_stack, (lambda item: item_description_card.set_item(item)), (2, 1))
    menu_stack_panel.append(resulting_menu)

    equipment_menu_bg = gui.StyledRectangle(rectfactory.right_side_menu_rect(),
                                            style.rogue_classic_theme.rect_style)
    equipment_slot_gui = gui.UIElementList([equipment_menu_bg, menu_stack_panel])

    equipment_slot_stack_panel = gui.StackPanelHorizontal((0, 0), alignment=gui.StackPanelHorizontal.ALIGN_BOTTOM)
    equipment_slot_stack_panel.append(item_description_card)
    equipment_slot_stack_panel.append(equipment_slot_gui)

    dock = gui.UIDock(rectfactory.full_screen_rect())
    dock.bottom_right = equipment_slot_stack_panel
    return state.UIState(dock)
Пример #16
0
        'face': u'David'
    },
    parent='mywin',
    text=u':???? ????? ?? ???',
    visible=False,
)

gui.TextBox(
    name='edit_count',
    border='none',
    transparent=True,
    height='100',
    left='800',
    top='500',
    width='250',
    fgcolor=u'#000000',
    visible=False,
    font={
        'size': 100,
        'family': 'sans serif',
        'face': u'David'
    },
    helptext=u'',
    parent='mywin',
)

gui.Button(
    label=u'????',
    name='load',
    left='935',
    top='625',
    fgcolor=u'#000000',
Пример #17
0
def title_screen(state_stack, game_state_factory, test_game_state_factory):

    bg_color = colors.DARKNESS
    logo_fg = colors.RED

    _ = graphic.GraphicChar(bg_color, bg_color, " ")
    x = graphic.GraphicChar(logo_fg, logo_fg, " ")
    d = graphic.GraphicChar(bg_color, logo_fg, icon.DIAGONAL_SE)
    b = graphic.GraphicChar(bg_color, logo_fg, icon.DIAGONAL_SW)
    p = graphic.GraphicChar(logo_fg, bg_color, icon.DIAGONAL_SE)
    q = graphic.GraphicChar(logo_fg, bg_color, icon.DIAGONAL_SW)


    graphic_matrix = [
    [_,_,_,x,x,x,_,_,x,_,x,_,_,x,x,x,_,_,_,_,_,_,_,x,_,_,_,_,d,x,b,_,_,d,x,p,_,_,x,x,x,_,_],
    [_,_,_,_,x,_,_,_,x,_,x,_,_,x,_,_,_,_,_,_,_,_,_,x,_,_,_,_,x,_,x,_,_,x,_,_,_,_,_,x,_,_,_],
    [_,_,_,_,x,_,_,_,x,x,x,_,_,x,x,_,_,_,_,_,_,_,_,x,_,_,_,_,x,x,x,_,_,q,x,b,_,_,_,x,_,_,_],
    [_,_,_,_,x,_,_,_,x,_,x,_,_,x,_,_,_,_,_,_,_,_,_,x,_,_,_,_,x,_,x,_,_,_,_,x,_,_,_,x,_,_,_],
    [_,_,_,_,x,_,_,_,x,_,x,_,_,x,x,x,_,_,_,_,_,_,_,x,x,x,_,_,x,_,x,_,_,x,x,p,_,_,_,x,_,_,_],
    [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],
    [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],
    [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],
    [q,x,x,x,x,x,x,b,_,_,d,x,x,x,x,x,b,_,_,d,x,x,x,x,x,b,_,q,x,x,p,_,q,x,x,p,q,x,x,x,x,x,x],
    [_,x,x,_,_,q,x,x,_,_,x,x,p,_,q,x,x,_,_,x,x,p,_,q,x,x,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,q],
    [_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,_,_,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,_],
    [_,x,x,_,_,d,x,x,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,_,_,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,_],
    [_,x,x,x,x,x,x,p,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,x,x,x,p,_,x,x,_,_,_,x,x,_,_,x,x,x,x,p,_],
    [_,x,x,q,x,b,_,_,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,_],
    [_,x,x,_,q,x,b,_,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,x,x,_,_,x,x,_,_,_,_],
    [_,x,x,_,_,q,x,b,_,_,x,x,b,_,d,x,x,_,_,x,x,b,_,d,x,x,_,_,x,x,b,_,d,x,x,_,_,x,x,_,_,_,d],
    [d,x,x,b,_,_,x,x,b,_,q,x,x,x,x,x,p,_,_,q,x,x,x,x,x,p,_,_,q,x,x,x,x,x,p,_,d,x,x,x,x,x,x]
    ]

    logo = gui.GraphicCharMatrix(graphic_matrix)
    line = gui.HorizontalLine(graphic.GraphicChar(bg_color, colors.RED, icon.H_LINE), settings.SCREEN_WIDTH + 1)
    title_stack_panel = gui.StackPanelVertical((0, 0), alignment=gui.StackPanelVertical.ALIGN_CENTER)
    title_stack_panel.append(gui.VerticalSpace(int(settings.SCREEN_HEIGHT * 0.2)))
    title_stack_panel.append(line)
    title_stack_panel.append(gui.VerticalSpace(1))
    title_stack_panel.append(logo)
    title_stack_panel.append(gui.VerticalSpace(1))
    title_stack_panel.append(line)
    title_stack_panel.append(gui.VerticalSpace(5))

    bg_rect = gui.FilledRectangle(rectfactory.full_screen_rect(), bg_color)

    ui_state = state.UIState(gui.UIElementList(None))
    hero_name_type_writer = gui.TypeWriter((0, 0), colors.WHITE, colors.GRAY_D, constants.LEFT_SIDE_BAR_WIDTH - 4,
                                           default_text=settings.DEFAULT_PLAYER_NAME)
    main_menu = _main_menu(ui_state, state_stack, lambda: hero_name_type_writer.text, game_state_factory, test_game_state_factory)

    name_heading = gui.TextBox("Name:", (0, 0), colors.CYAN_D, (0, 1))
    menu_stack_panel = gui.StackPanelVertical((0, 0), (0, 0), vertical_space=0,
                                              alignment=gui.StackPanelVertical.ALIGN_CENTER)
    menu_stack_panel.append(name_heading)
    menu_stack_panel.append(hero_name_type_writer)
    menu_stack_panel.append(main_menu)

    dock = gui.UIDock(rectfactory.full_screen_rect())
    dock.bottom = menu_stack_panel

    type_writer_highlight_update = \
        gui.UpdateCallOnlyElement(
            [lambda: type_writer_highlight_update_function(name_heading, hero_name_type_writer,
                                                           main_menu, colors.WHITE,
                                                           colors.GRAY_D, [1, 2])])

    ui_state.ui_element.elements = [bg_rect, title_stack_panel, dock, type_writer_highlight_update]
    return ui_state
Пример #18
0
        ):
            nTop = '10'
            gui.Label(name='lblDoc', text=u'Documento:', width='96', top=nTop)
            gui.ComboBox(
                name='tipo_doc',
                text=u'CF',
                left='100',
                top='10',
                width='78',
                value=80,
                onchange=on_tipo_doc_change,
                items=datos.TIPO_DOC_MAP,
            )
            gui.TextBox(mask='##-########-#',
                        name='nro_doc',
                        width='110',
                        onblur=on_nro_doc_change,
                        top=nTop,
                        left='200')

            nTop = str(int(nTop) + 30)
            gui.Label(
                name='lblDeno',
                text=u'Denominacion:',
                width='100',
                top=nTop,
            )
            gui.TextBox(name='nombre',
                        width='400',
                        value=u'',
                        top=nTop,
                        left='100')
Пример #19
0

#######################
# Define GUI Elements #
#######################

### Menu Bar

# Background Rect
menuRect = (0, 0, gui.SCREEN_WIDTH, 40)

# Tabs
status_tab = gui.TouchButton("Status", width=gui.SCREEN_WIDTH//4 - 2, height=40, color=gui.colors.BEIGE)
gps_tab = gui.TouchButton("GPS", width=gui.SCREEN_WIDTH//4 - 2, height=40, color=gui.colors.BEIGE)
dashcam_tab = gui.TouchButton("Dashcam", width=gui.SCREEN_WIDTH//4 - 1, height=40, color=gui.colors.BEIGE)
clock_tab = gui.TextBox("Clock", width=gui.SCREEN_WIDTH//4 - 2, height=40)
menuTabs = [status_tab, gps_tab, dashcam_tab, clock_tab]

# Tab coordinates
menuCoords = [(0, 0), (gui.SCREEN_WIDTH//4, 0), (gui.SCREEN_WIDTH//2, 0), (3*gui.SCREEN_WIDTH//4 + 2, 0)]

# Buttons (used for event handling)
menuButtons = [status_tab, gps_tab, dashcam_tab]


### Status Tab

# Gauges
rpm_gauge = gui.RpmGauge(redline=6000)
coolant_temp_gauge = gui.BarGauge("Coolant Temperature", unit="degC", val_range=(-10, 120), safe_range=(10,85))
maf_gauge = gui.BarGauge("Mass Airflow Intake", unit="g/s", val_range=(0,30), safe_range=(0, 20))
Пример #20
0
     text=u'Cliente:',
 )
 gui.ComboBox(
     name='tipo_doc',
     text=u'CF',
     left='75',
     top='23',
     width='78',
     onchange=on_tipo_doc_change,
     items=datos.TIPO_DOC_MAP,
     selection=3,
 )
 gui.TextBox(mask='##-########-#',
             name='nro_doc',
             left='164',
             top='24',
             width='110',
             text=u'',
             value=u'',
             onchange=on_busqueda)
 gui.Label(
     name='label_268_164',
     height='31',
     left='295',
     top='28',
     width='61',
     text=u'Nombre:',
 )
 gui.TextBox(name='nombre_cliente',
             left='367',
             top='23',
             width='240',
Пример #21
0
 gui.ComboBox(
     name='tipo_doc',
     text=u'CF',
     left='75',
     top='23',
     width='78',
     onchange=on_tipo_doc_change,
     items=[u'CUIT', u'DNI', u'CF', u'Pasaporte'],
     selection=3,
     value=u'CF',
 )
 gui.TextBox(
     mask='##-########-#',
     name='nro_doc',
     left='164',
     top='24',
     width='110',
     text=u'20-26756539-3',
     value=u'20-26756539-3',
 )
 gui.Label(
     name='label_268_164',
     height='31',
     left='295',
     top='28',
     width='61',
     text=u'Nombre:',
 )
 gui.TextBox(
     name='nombre_cliente',
     left='367',
Пример #22
0
gui.MenuItem(label='Quit', help='quit program', name='menu_quit', parent='mywin.menubar.menu')

# tab panel
gui.Notebook(name='notebook', height='211', left='10', top='10', width='590', parent='mywin', selection=0, )
gui.TabPanel(name='tab_setup', parent='mywin.notebook', selected=True, text='Setup')
gui.TabPanel(name='tab_message', parent='mywin.notebook', selected=True, text='Message')
gui.TabPanel(name='tab_list', parent='mywin.notebook', selected=True, text='List')

#### setup #####
# user_id
#gui.Label(name='label_userid', left='10', top='22', parent='mywin.notebook.tab_setup', text='User Id')
#gui.TextBox(name='user_id', left='80', top='22', width='150', parent='mywin.notebook.tab_setup', value='test')

# api_key
gui.Label(name='label_api_key', left='10', top='50', parent='mywin.notebook.tab_setup', text='API Key')
gui.TextBox(name='api_key', left='80', top='50', width='150', parent='mywin.notebook.tab_setup', value='NCS52A57F48C3D32')

# api_secret
gui.Label(name='label_secret', left='10', top='84', parent='mywin.notebook.tab_setup', text='API Secret')
gui.TextBox(name='api_secret', left='80', top='84', width='280', parent='mywin.notebook.tab_setup', value='5AC44E03CE8E7212D9D1AD9091FA9966')

# test mode
gui.CheckBox(label='Test Mode', name='test_mode', left='80', top='115', parent='mywin.notebook.tab_setup', onclick=ui.test_mode)

# balance info.
gui.Button(label='Balanece', name='balance', left='80', top='138', width='85', default=True, parent='mywin.notebook.tab_setup', onclick=ui.get_balance)

#### message #####
# type
gui.Label(name='label_type', left='10', top='22', parent='mywin.notebook.tab_message', text='Type')
gui.RadioButton(label='SMS', name='sms', left='80', top='22', parent='mywin.notebook.tab_message', value=True, onclick=ui.choose_type)
Пример #23
0

# --- gui2py designer generated code starts ---

with gui.Window(
        name='mywin',
        title=u'gui2py chat',
        resizable=True,
        height='461px',
        left='168',
        top='79',
        width='400px',
):
    gui.TextBox(name=u'output',
                multiline=True,
                height='403',
                left='8',
                top='10',
                width='379')
    gui.TextBox(name=u'input', height='30', left='11', top='417', width='323')
    gui.Button(
        label=u'\u2192',
        name=u'send',
        left='348',
        top='419',
        width='40',
        default=True,
    )

# --- gui2py designer generated code ends ---

mywin = gui.get("mywin")
Пример #24
0
                name='record',
                image='',
                sizer_border=5,
                height='500',
                left='8',
                top='6',
                width='633',
        ):
            nTop = '10'
            gui.Label(name='lblID',
                      text=u'Código de Producto:',
                      width='96',
                      top=nTop)
            gui.TextBox(name='idProducto',
                        width='110',
                        onblur=on_idchange,
                        top=nTop,
                        left='130',
                        autoSelect=True)

            nTop = str(int(nTop) + 30)
            gui.Label(
                name='lblDetalle',
                text=u'Detalle:',
                width='100',
                top=nTop,
            )
            gui.TextBox(name='detalle',
                        width='400',
                        value=u'',
                        top=nTop,
                        left='130')