当前位置:首页 » 《休闲阅读》 » 正文

宝藏拼图神秘上线!三种玩法刷爆朋友圈—小姐姐直呼太上瘾了!!_xy258009的博客

13 人参与  2022年02月02日 13:59  分类 : 《休闲阅读》  评论

点击全文阅读


导语

玩过拼图的小伙伴应该知道,即使是数量多过1000片的拼图,每一片的位置都有着属于自己的位置,拼错了就是对不上

图片

但当你将每片拼图,严丝合缝地嵌入属于它的位置时那种满足感与成就感,试过一次就很难忘记

拼图是一项几乎没有门槛的游戏,只是在专注而安静地完成一件简单的事,将零散无序的碎片慢慢还原为一个完整的小世界

图片

让你专心致志地享受,几个小时心无杂念的平静时光。

这次上新,我们商店安排了一款给你们解闷儿的拼图难度由高到低,3*3片、4*4片、5*5片的拼图都有

正文

今日更新—学习了一篇大佬的文章,整理了下然后自己做了一款校花校草的拼图小游戏!

这款拼图小游戏——从简单到难,如果你都闯过了,并且有喜欢的人,那就勇敢的去表白吧~让他、她知道你的心意!

开始——

先展示效果吧:

骄傲~哈哈哈 都完成了哈!我这技术还是不错的,当人这是最简单的3*3模式,后面更难的模式就交给大家啦!

游戏步骤如下:

(1)首先安装好相应的环境。

Python、pycharm、pygame模块。

pip install  pygame

(2)配置文件。

'''屏幕大小'''
SCREENSIZE = (640, 640)
'''图片素材根目录'''
PICTURE_ROOT_DIR = os.path.join(os.getcwd(), 'resources/pictures')
'''字体路径'''
FONTPATH = os.path.join(os.getcwd(), 'resources/font/FZSTK.TTF')
'''定义一些颜色'''
BACKGROUNDCOLOR = (255, 255, 255)
RED = (255, 0, 0)
BLUE = (0, 0, 255)
BLACK = (0, 0, 0)
'''FPS'''
FPS = 40
'''随机打乱拼图次数'''
NUMRANDOM = 100

(3)空白处上下左右移动。

'''将空白Cell左边的Cell右移到空白Cell位置'''
def moveR(board, blank_cell_idx, num_cols):
    if blank_cell_idx % num_cols == 0: return blank_cell_idx
    board[blank_cell_idx-1], board[blank_cell_idx] = board[blank_cell_idx], board[blank_cell_idx-1]
    return blank_cell_idx - 1


'''将空白Cell右边的Cell左移到空白Cell位置'''
def moveL(board, blank_cell_idx, num_cols):
    if (blank_cell_idx+1) % num_cols == 0: return blank_cell_idx
    board[blank_cell_idx+1], board[blank_cell_idx] = board[blank_cell_idx], board[blank_cell_idx+1]
    return blank_cell_idx + 1


'''将空白Cell上边的Cell下移到空白Cell位置'''
def moveD(board, blank_cell_idx, num_cols):
    if blank_cell_idx < num_cols: return blank_cell_idx
    board[blank_cell_idx-num_cols], board[blank_cell_idx] = board[blank_cell_idx], board[blank_cell_idx-num_cols]
    return blank_cell_idx - num_cols


'''将空白Cell下边的Cell上移到空白Cell位置'''
def moveU(board, blank_cell_idx, num_rows, num_cols):
    if blank_cell_idx >= (num_rows-1) * num_cols: return blank_cell_idx
    board[blank_cell_idx+num_cols], board[blank_cell_idx] = board[blank_cell_idx], board[blank_cell_idx+num_cols]
    return blank_cell_idx + num_cols

(4)游戏界面。

def ShowStartInterface(screen, width, height):
    screen.fill(cfg.BACKGROUNDCOLOR)
    tfont = pygame.font.Font(cfg.FONTPATH, width//4)
    cfont = pygame.font.Font(cfg.FONTPATH, width//20)
    title = tfont.render('校花拼图', True, cfg.RED)
    content1 = cfont.render('按相应键开始游戏', True, cfg.BLUE)
    content2 = cfont.render('H—高难度, M—中级, L—简单', True, cfg.BLUE)
    trect = title.get_rect()
    trect.midtop = (width/2, height/10)
    crect1 = content1.get_rect()
    crect1.midtop = (width/2, height/2.2)
    crect2 = content2.get_rect()
    crect2.midtop = (width/2, height/1.8)
    screen.blit(title, trect)
    screen.blit(content1, crect1)
    screen.blit(content2, crect2)
    while True:
        for event in pygame.event.get():
            if (event.type == pygame.QUIT) or (event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE):
                pygame.quit()
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                if event.key == ord('l'): return 3
                elif event.key == ord('m'): return 4
                elif event.key == ord('h'): return 5
        pygame.display.update()

如下图所示:

总结

全文完,文章就写完了哈~赶快拿去试试 玩一下吧!

图片

源码免费领取处:

如需完整的源码:私信小编06或者直接点击这个蓝色字体即可免费领取!

欢迎大家阅读,如有帮助到你,记得三连哦~一起学习成长交流吧!


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/34206.html

拼图  空白  位置  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1