App下載

python制作小游戲(三)

猿友 2018-08-09 17:38:58 瀏覽數(shù) (5174)
反饋

本文轉(zhuǎn)載至知乎ID:Charles(白露未晞)知乎個人專欄

下載W3Cschool手機App,0基礎(chǔ)隨時隨地學(xué)編程>>戳此了解

導(dǎo)語

本期我們將制作一個拼圖小游戲。

好吧也許有些幼稚。

不過無論如何,讓我們愉快地開始吧~~~


相關(guān)文件

百度網(wǎng)盤下載鏈接: https://pan.baidu.com/s/1q9VPkOYvI12LjqfQVRCF1Q

密碼: 7wfg


開發(fā)工具

Python版本:3.6.4

相關(guān)模塊:

pygame模塊;

以及一些Python自帶的模塊

環(huán)境搭建

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。


原理介紹

游戲簡介:

將圖像分為m×n個矩形塊,并將圖像右下角的矩形塊替換為空白塊后,將這些矩形塊隨機擺放成原圖像的形狀。游戲目標(biāo)為通過移動非空白塊將隨機擺放獲得的圖像恢復(fù)成原圖像的模樣,且規(guī)定移動操作僅存在于非空白塊移動到空白塊。

例如下圖所示:

逐步實現(xiàn):

Step1:游戲初始界面

既然是游戲,總得有個初始界面吧?

OK,我們先寫一個游戲初始界面:

效果是這樣子的:

根據(jù)玩家自身水平,可以選擇不同難度的拼圖游戲。

Step2:定義移動操作

定義移動操作的目的是為了移動拼圖(好像是廢話T_T),具體實現(xiàn)起來十分簡單:

Step3:游戲主界面

OK,有了前面的鋪墊,我們可以開始實現(xiàn)我們的游戲主界面了。

首先,我們需要打亂拼圖,但是隨機打亂很可能導(dǎo)致拼圖無解,因此我們通過隨機移動拼圖來實現(xiàn)打亂拼圖的效果,這也是我們先定義拼圖的移動操作的主要原因:

游戲主界面初始化:

最后實現(xiàn)主界面的顯示刷新以及事件響應(yīng)等功能:

Step4:游戲結(jié)束界面

當(dāng)玩家完成拼圖后,需要顯示游戲結(jié)束界面,和游戲初始界面類似,實現(xiàn)起來都比較簡單:

OK,大功告成!??!


游戲效果

在cmd窗口運行Game3.py文件即可。

效果如下:


更多

代碼截止2018-06-26測試無誤。

同樣,有興趣的小伙伴可以在此基礎(chǔ)上進行優(yōu)化,比如增加計時功能,積分功能等等。

2 人點贊