宝藏拼图神秘上线,三种玩法刷爆朋友圈—玩家直呼太上瘾了。

导语

玩过拼图的小伙伴应该知道,即使是数量多过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()

如下图所示:

总结

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

图片

完整的项目源码免费领:关注小编公众号:Python顾木子吖

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值