Esempio n. 1
0
def print_status(game_board, win=False):
    click.clear()
    print(_('\nPoints: '), game_board.points, end="     ")
    print(_('Lost Shots: '), game_board.lost_shot, end="     ")
    print(_('Right Shots: '), game_board.right_shot, end="     ")
    cprint(dash)

    if win:
        message = st('\n\n\n{:^90}'.format(_('You WIN !!!!!')), fg='green')
    else:
        message = st('\n\n\n{:^90}'.format(_('You Lost !!!!!')), fg='red')

    cprint(message)
    cprint('\n\n\n')
    cprint(dash)
    print(_('Sunken Ships: '), game_board.sunken_ships, end="     ")
    print(_('Missing Ships: '),
          game_board.total_ships - game_board.sunken_ships,
          end="   ")
    print(_('Time elapsed: {} sec').format(int(game_board.time_elapsed)),
          end="\n")

    for i, ship in enumerate(game_board.ships):
        data_board_ship = (_(ship.name.title()), ship.hits,
                           _('yes') if ship.sunk else _('no'))
        if i == 0:
            cprint(dash)
            label_header = (_('Ship'), _('Hits'), _('sunk'))
            cprint('{:<13}{:^8}{:^10}'.format(*label_header))
            cprint(dash)
            cprint('{:<13}{:^8}{:^10}'.format(*data_board_ship))
        else:
            cprint('{:<13}{:^8}{:^10}'.format(*data_board_ship))

    cprint(dash)
Esempio n. 2
0
def get_col_value(col):
    if col['shooted']:
        if not col['ship']:
            return st('{:^4}'.format('O'), fg='yellow')
        else:
            return st('{:^4}'.format(col['ship'].initials), fg='red')
    else:
        if col['visible'] and col['ship']:
            color = SHIP_COLORS[col['ship'].initials]
            return st('{:^4}'.format(col['ship'].initials), fg=color)
        return st('{:^4}'.format('.'), fg='white')
Esempio n. 3
0
def print_error_message(message):
    click.clear()
    cprint(dash)
    cprint('\n\n\n\n')

    cprint(st('{:^88}'.format(message), fg='red'))

    cprint('\n\n\n\n')
    cprint(dash)
    input(_("Press Enter to continue..."))
Esempio n. 4
0
def print_ship_hit(ship_hit, player):
    click.clear()
    cprint('\n\n\n\n')

    if ship_hit.sunk:
        if player == 1:
            message = _('You Destroy a {}.').format(ship_hit.name.title())
        else:
            message = _('Your {} was Destroyed.').format(ship_hit.name.title())
    else:
        if player == 1:
            message = _('You Hit a {}.').format(ship_hit.name.title())
        else:
            message = _('Your {} was Hit.').format(ship_hit.name.title())

    cprint(st('{:^88}'.format(message), fg='green'))

    cprint('\n\n\n\n')
    input(_("Press Enter to continue..."))
Esempio n. 5
0
def print_board(game_board1, game_board2):
    click.clear()
    print_statistics(game_board1, game_board2)

    # Table Header
    cprint('|{:^3}|'.format('-'), nl=False)
    for i in range(game_board1.COLS):
        cprint('{:^4}|'.format(i), nl=False)

    cprint('{:^5}|'.format(''), nl=False)
    cprint('{:^3}|'.format('-'), nl=False)
    for i in range(game_board1.COLS):
        cprint('{:^4}|'.format(i), nl=False)

    cprint()
    cprint('{}{:^5}{}'.format(dash, '', dash))

    # Table Body
    for i, (board1_row, board2_row) in enumerate(
            zip(game_board1.matrix, game_board2.matrix)):
        cprint('|', nl=False)
        cprint('{:^3}'.format(NUMBERS[i].upper()), nl=False)
        cprint('|', nl=False)

        for col in board1_row:
            cprint(get_col_value(col), nl=False)
            cprint('|', nl=False)

        cprint('{:^5}'.format(''), nl=False)
        cprint('|{:^3}|'.format(NUMBERS[i].upper()), nl=False)
        for col2 in board2_row:
            cprint(get_col_value(col2), nl=False)
            cprint('|', nl=False)

        cprint()

    cprint('{}{:^5}{}'.format(dash, '', dash))
    cprint()

    # Labels
    cprint(_('Labels'))
    for i, (board_ship,
            board2_ship) in enumerate(zip(game_board1.ships,
                                          game_board2.ships)):
        ship_color = SHIP_COLORS[board_ship.initials]
        ship_color2 = SHIP_COLORS[board2_ship.initials]

        data_board_ship = (_(board_ship.name.title()),
                           st('{:^11}'.format(board_ship.initials),
                              fg=ship_color), board_ship.length,
                           board_ship.hits,
                           _('yes') if board_ship.sunk else _('no'))
        data_board2_ship = (_(board2_ship.name.title()),
                            st('{:^11}'.format(board2_ship.initials),
                               fg=ship_color2), board2_ship.length,
                            board2_ship.hits,
                            _('yes') if board2_ship.sunk else _('no'))
        if i == 0:
            cprint(dash, nl=False)
            cprint('{:^5}'.format(''), nl=False)
            cprint(dash)
            label_header = (_('Ship'), _('Initials'), _('Size'), _('Hits'),
                            _('sunk'))
            cprint('{:<13}{:^11}{:^8}{:^8}{:^10}'.format(*label_header),
                   nl=False)
            cprint('{:^45}'.format(''), nl=False)
            cprint('{:<13}{:^11}{:^8}{:^8}{:^10}'.format(*label_header))
            cprint(dash, nl=False)
            cprint('{:^5}'.format(''), nl=False)
            cprint(dash)
            cprint('{:<13}{}{:^8}{:^8}{:^10}'.format(*data_board_ship),
                   nl=False)
            cprint('{:^45}'.format(''), nl=False)
            cprint('{:<13}{}{:^8}{:^8}{:^10}'.format(*data_board2_ship))
        else:
            cprint('{:<13}{}{:^8}{:^8}{:^10}'.format(*data_board_ship),
                   nl=False)
            cprint('{:^45}'.format(''), nl=False)
            cprint('{:<13}{}{:^8}{:^8}{:^10}'.format(*data_board2_ship))

    cprint()
    cprint(dash, nl=False)
    cprint('{:^5}'.format(''), nl=False)
    cprint(dash)