Пример #1
0
def draw_text(text, center, color=white, size=30, bold=False, background=None,
              left=False):
    font = pygame.font.Font(font_path, size, bold=bold)
    if background:
        surface = font.render(text, True, color, background)
    else:
        surface = font.render(text, True, color)

    rect = surface.get_rect()
    rect.center = tuple(center)
    if left:
        rect.left = center[0]

    screen.blit(surface, rect)
    return rect
Пример #2
0
def draw_image(img, center):
    rect = img.get_rect()
    rect.center = tuple(center)
    screen.blit(img, rect)
Пример #3
0
            if event.key != ord('s') and event.key < 128:
                data = 'mg' + chr(event.key) + suc(p)
                # print(data)
            if event.key == ord('s'):
                data = 'hod' + suc(p)
            sock2.send(data.encode())

    correct_lense(time_pass)
    suf.blit(background, (0, 0))
    # suf.fill([0,0,0])
    for i in model_pool:
        i.draww(suf)

    pygame.transform.scale(suf, (200, 200), s_map)
    # print()
    screen.blit(suf, (x_dif, y_dif))
    screen.blit(s_map, (0, 0))

    # print(info)
    mid = config.scr_size[0] / 2
    write_word('exp:%d' % info[4], mid, config.scr_size[1] - 85)
    write_word('%d' % info[2][0],
               mid,
               config.scr_size[1] - 60,
               color=(255, 150, 150))
    write_word('/', mid + 40, config.scr_size[1] - 60)
    write_word('%d' % info[2][1],
               mid + 52,
               config.scr_size[1] - 60,
               color=(255, 150, 150))
Пример #4
0
        elif event.type == KEYDOWN and event.key == K_r:
            run = True
        elif event.type == KEYUP and event.key == K_r:
            run = False
        elif event.type == KEYDOWN and event.key == K_t:
            dash = True
        elif event.type == KEYUP and event.key == K_t:
            dash = False
        elif event.type == KEYDOWN and event.key == K_s:
            pygame.image.save(real.img, \Desktop\world"+str(frame)+".png" )


    screen.fill(Color('black'))
    real.update(dx, dy, run, dash)

    screen.blit(real.img, real.pos)
#    screen.blit(sams_health.img, sams_health.position)

    pygame.display.update()











Пример #5
0
def draw_image(img, center):
    rect = img.get_rect()
    rect.center = tuple(center)
    screen.blit(img, rect)
Пример #6
0
def game(walls,
         floor,
         wall_1,
         wall_2,
         wall_3,
         wall_4,
         chest,
         gg_right,
         gg_left,
         gg_sprite,
         gg_stop_r,
         gg_stop_l,
         lvl,
         el=None,
         gerl=None,
         npc=None,
         npc_boss=None):
    move_right = False
    move_left = False
    move_up = False
    move_down = False
    text1 = False
    text4 = False
    text11 = False
    text21 = False
    direction = 2
    enter_press = False
    f_press = False
    n_press = False
    running = True
    while running:
        screen.fill(pygame.Color("black"))
        gg_stop_l.rect = gg_sprite.rect
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
            if event.type == pygame.KEYDOWN and (event.key == pygame.K_LEFT
                                                 or event.key == pygame.K_a):
                move_left = True
                direction = 1
                gg_sprite.frames = gg_left.frames
            if event.type == pygame.KEYUP and (event.key == pygame.K_LEFT
                                               or event.key == pygame.K_a):
                move_left = False

            if event.type == pygame.KEYDOWN and (event.key == pygame.K_RIGHT
                                                 or event.key == pygame.K_d):
                move_right = True
                direction = 2
                gg_sprite.frames = gg_right.frames
            if event.type == pygame.KEYUP and (event.key == pygame.K_RIGHT
                                               or event.key == pygame.K_d):
                move_right = False

            if event.type == pygame.KEYDOWN and (event.key == pygame.K_UP
                                                 or event.key == pygame.K_w):
                move_up = True
                if direction == 1:
                    gg_sprite.frames = gg_left.frames
                elif direction == 2:
                    gg_sprite.frames = gg_right.frames
            if event.type == pygame.KEYUP and (event.key == pygame.K_UP
                                               or event.key == pygame.K_w):
                move_up = False

            if event.type == pygame.KEYDOWN and (event.key == pygame.K_DOWN
                                                 or event.key == pygame.K_s):
                move_down = True
                if direction == 1:
                    gg_sprite.frames = gg_left.frames
                elif direction == 2:
                    gg_sprite.frames = gg_right.frames
            if event.type == pygame.KEYUP and (event.key == pygame.K_DOWN
                                               or event.key == pygame.K_s):
                move_down = False

            if event.type == pygame.KEYUP and event.key == pygame.K_n:
                if n_press:
                    if lvl == 'lvl1':
                        if not text4:
                            sprites_note.add(scroll_npc)
                            text4 = True
                        else:
                            sprites_note.remove(scroll_npc)
                            text4 = False
                            return
                    else:
                        if not text21:
                            sprites_note.add(scroll_npc2)
                            text21 = True
                        else:
                            sprites_note.remove(scroll_npc2)
                            text21 = False
                            return
            if event.type == pygame.KEYUP and event.key == pygame.K_f:
                if f_press:
                    if lvl == 'lvl1':
                        if not text1:
                            sprites_note.add(scroll)
                            text1 = True
                        else:
                            sprites_note.remove(scroll)
                            text1 = False
                    else:
                        if not text11:
                            sprites_note.add(scroll2)
                            text11 = True
                        else:
                            sprites_note.remove(scroll2)
                            text11 = False

            if event.type == pygame.KEYUP and event.key == pygame.K_e:
                if enter_press:
                    fighting()
                    win()
                    running = False
            if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                screen_start(lvl, floor, wall_1, wall_2, wall_3, wall_4, chest,
                             gg_left, gg_sprite, el, gerl, npc, npc_boss)

        camera.update(gg_sprite, width, height)
        for sprite in all_sprites:
            camera.apply(sprite)
        if not text1 and not text11 and not text4 and not text21:
            if move_left:
                gg_sprite.rect.x -= s

            if move_right:
                gg_sprite.rect.x += s

            if move_down:
                gg_sprite.rect.y += s

            if move_up:
                gg_sprite.rect.y -= s

        if not move_right and not move_up and not move_left and not move_down:
            if direction == 1:
                gg_sprite.frames = gg_stop_l.frames
            elif direction == 2:
                gg_sprite.frames = gg_stop_r.frames

        for wall in walls:
            if pygame.sprite.collide_mask(gg_stop_l, wall):
                if move_up:
                    gg_sprite.rect.y += s
                if move_down:
                    gg_sprite.rect.y -= s
                if move_right:
                    gg_sprite.rect.x -= s
                if move_left:
                    gg_sprite.rect.x += s

        all_sprites.draw(screen)
        all_sprites.update()
        clock.tick(150)
        f_press = False
        if lvl != 'lvl3':
            if pygame.sprite.collide_rect(gg_stop_l, npc):
                screen.blit(text2, (350, 600))
                n_press = True
        if lvl == 'lvl3':
            if pygame.sprite.collide_rect(gg_stop_l, npc_boss):
                screen.blit(text5, (350, 600))
                enter_press = True
        if pygame.sprite.collide_rect(gg_stop_l, chest):
            screen.blit(text3, (350, 600))
            f_press = True
        if text1:
            sprites_note.draw(screen)
            scroll.read()
        if text11:
            sprites_note.draw(screen)
            scroll2.read()
        if text21:
            sprites_note.draw(screen)
            scroll_npc2.read()
        if text4:
            sprites_note.draw(screen)
            scroll_npc.read()
        pygame.display.update()
        pygame.display.flip()
    save(lvl, floor, wall_1, wall_2, wall_3, wall_4, chest, gg_left, gg_sprite,
         el, gerl, npc, npc_boss)
    pygame.quit()
Пример #7
0
def main():
    # load the icon to display up on the top left
    icon, icon_rect = load.image('cursor.bmp', WHITE)
    pygame.display.set_icon(icon)

    # pretty background
    background = pygame.Surface(screen.get_size())
    background.fill(WHITE)
    screen.blit(background, (0, 0))
    pygame.display.update()

    # construct some test game objects
    test1 = entities.Item('button_unpressed_green-240x60.bmp', grid_size)
    test2 = entities.Item('menu.bmp', grid_size)
    test3 = entities.Item('button_unpressed_red-52x60.bmp', grid_size)
    items = pygame.sprite.RenderUpdates((test1, test2, test3))
    for i in xrange(25):
        thing = entities.Item('button_unpressed_red-52x60.bmp', grid_size)
        items.add(thing)
    posdisplays = pygame.sprite.RenderUpdates()
    selections = pygame.sprite.RenderUpdates()
    clock = pygame.time.Clock()

    # dirty rects
    dirtyitems = []
    dirtyselections = []
    dirtypos = []
    dirtystats = []

    # FPS info
    fps = entities.TextFPS(clock, 24, BLACK)

    # dragbox
    selectbox = None

    # delays
    nudge_delay = 0

    # main loop
    while True:
        clock.tick(60)

        # ===============================================================
        # ------------------------- HOLDED KEYS -------------------------
        # ===============================================================

        if selections.sprites():
            if not nudge_delay:
                keys = pygame.key.get_pressed()
                result = []

                # ====================== MOVEMENTZ ======================
                if keys[K_LEFT] or keys[K_a]:
                    result.append('left')
                if keys[K_RIGHT] or keys[K_d]:
                    result.append('right')
                if keys[K_UP] or keys[K_w]:
                    result.append('up')
                if keys[K_DOWN] or keys[K_s]:
                    result.append('down')

                for item in selections.sprites():
                    item.ref.nudge = result

                nudge_delay = 3
            else:
                nudge_delay -= 1

        for e in pygame.event.get():
            # ===========================================================
            # -------------------- MOUSE BUTTON DOWN --------------------
            # ===========================================================
            if e.type == MOUSEBUTTONDOWN:
                nudge_delay = 3

                # ==================== LEFT CLICK ===================
                if e.button == 1:
                    keys = pygame.key.get_pressed()
                    ctrl = False
                    no_select = True
                    pos = pygame.mouse.get_pos()

                    if keys[K_LCTRL]:
                        ctrl = True

                    for item in reversed(items.sprites()):
                        if item.rect.collidepoint(pos):
                            load.selectbot(selections, posdisplays, item, ctrl)
                            no_select = False
                            break

                    if no_select:
                        selectbox = entities.SelectBox()

                # =================== RIGHT CLICK ===================
                if e.button == 3:
                    while True:
                        result = menu.right_click(['test', 'PIE'])

                        if not result:
                            break

            # ===========================================================
            # --------------------- MOUSE BUTTON UP ---------------------
            # ===========================================================
            elif e.type == MOUSEBUTTONUP:
                for item in selections.sprites():
                    item.ref.ungrab()

                if selectbox:
                    keys = pygame.key.get_pressed()
                    ctrl = False
                    result = []

                    for item in items.sprites():
                        if selectbox.rect.colliderect(item.rect):
                            result.append(item)

                    screen.blit(background, selectbox.rect, selectbox.rect)
                    selectbox = None

                    if keys[K_LCTRL]:
                        ctrl = True
                    load.selectbot(selections, posdisplays, result, ctrl)

            # ===========================================================
            # ------------------------- KEY DOWN ------------------------
            # ===========================================================
            elif e.type == KEYDOWN:

                # ====================== DELETE =====================
                if e.key == K_DELETE:
                    for item in selections.sprites():
                        item.ref.kill()

                    selections.empty()
                    posdisplays.empty()

                # ====================== ESCAPE =====================
                elif e.key == K_ESCAPE:
                    pygame.quit()
                    sys.exit()

            # ===========================================================
            # --------------------------- QUIT --------------------------
            # ===========================================================
            elif e.type == QUIT:
                pygame.quit()
                sys.exit()

        # clear necessary wizzles
        items.clear(screen, background)
        posdisplays.clear(screen, background)
        screen.blit(background, fps.rect, fps.rect)
        if selectbox:
            dirtystats = [selectbox.rect, None]
            screen.blit(background, selectbox.rect, selectbox.rect)

        items.update()
        posdisplays.update()
        selections.update()
        fps.update()

        dirtyitems = items.draw(screen)
        dirtyselections = selections.draw(screen)
        dirtypos = posdisplays.draw(screen)
        screen.blit(fps.image, fps.rect)
        if selectbox:
            selectbox.update()
            dirtystats[1] = selectbox.rect
            screen.blit(selectbox.image, selectbox.rect)

        # update
        pygame.display.update(dirtyitems)
        pygame.display.update(dirtypos)
        pygame.display.update(dirtyselections)
        pygame.display.update(dirtystats)