導語
玩過拼圖的小伙伴應該知道,即使是數量多過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或者直接點擊這個藍色字體即可免費領取!
歡迎大家閱讀,如有幫助到你,記得三連哦~一起學習成長交流吧!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/304079.html
標籤:區塊鏈
