資源簡(jiǎn)介
推箱子游戲,自帶音效,內(nèi)置16關(guān)卡。
游戲功能:
人物移動(dòng):可使用鍵盤(pán)的方向盤(pán)或“wsad”
移動(dòng)撤回:按“b”鍵可以使人物的回到上一步位置

代碼片段和文件信息
#!/usr/bin/env?python
#?-*-?coding:utf-8?-*-
#?@Time?:?2020/7/15?20:53
#?@Author?:?ChenMingYong
#?@Blog?:?https://blog.csdn.net/weixin_44604586
#?@File?:?Main.py
#?@Software:?PyCharm
import?tkinter?as?tk
from?tkinter?import?messagebox
import?numpy?as?np
import?copy
from?Maps?import?Maps
import?pygame?as?py
class?Window(object):
????def?__init__(self?master):
????????self.master?=?master
????????self.maps?=?Maps()
????????self.px?=?0
????????self.py?=?0
????????self.list2?=?[blank?wall?box?flag?person?person_flag]
????????self.f?=?None
????????self.can?=?None
????????self.gq?=?1
????????self.old_list?=?[]
????????self.get_person_position()
????????self.createWidget()
????def?roll_back(self):
????????if?len(self.old_list)?==?0:
????????????return
????????self.maps.maps_list[self.gq?-?1]?=?self.old_list.pop()
????????self.get_person_position()
????????self.createWidget()
????def?get_person_position(self):
????????for?i?in?self.maps.maps_list[self.gq?-?1]:
????????????for?j?in?i:
????????????????if?j?==?4:
????????????????????self.px?=?self.maps.maps_list[self.gq?-?1].index(i)
????????????????????self.py?=?i.index(j)
????????????????????return
????def?createWidget(self):
????????if?self.can:
????????????self.can.destroy()
????????self.can?=?tk.Canvas(self.master?bg=‘LightYellow‘?width=1000?height=600)
????????self.lbl?=?tk.Label(self.can?text=‘關(guān)卡:‘?+?str(self.gq)?+?‘?????返回上一步:b‘?bg=‘LightYellow‘?fg=‘red‘
????????????????????????????font=(‘‘?17))
????????self.lbl.place(x=5?y=5)
????????x?=?np.array(self.maps.maps_list[self.gq?-?1])
????????rs?=?x.shape[0]
????????cs?=?x.shape[1]
????????for?r?in?range(0?rs):
????????????for?c?in?range(0?cs):
????????????????if?self.maps.maps_list[self.gq?-?1][r][c]?==?9:
????????????????????continue
????????????????elif?self.maps.maps_list[self.gq?-?1][r][c]?==?34:
????????????????????self.can.create_image((c?+?1)?*?50?(r?+?1)?*?50?anchor=‘nw‘?image=self.list2[5])
????????????????elif?self.maps.maps_list[self.gq?-?1][r][c]?==?23:
????????????????????self.can.create_image((c?+?1)?*?50?(r?+?1)?*?50?anchor=‘nw‘?image=self.list2[2])
????????????????else:
????????????????????img?=?self.list2[self.maps.maps_list[self.gq?-?1][r][c]]
????????????????????self.can.create_image((c?+?1)?*?50?(r?+?1)?*?50?anchor=‘nw‘?image=img)
????????self.can.focus_set()
????????self.can.bind(““?self.move)
????????self.can.pack()
????def?is_win(self):
????????flag?=?True
????????for?i?in?self.maps.maps_list[self.gq?-?1]:
????????????for?j?in?i:
????????????????if?34?in?i?or?3?in?i:
????????????????????flag?=?False
????????????????????break
????????????if?not?flag:
????????????????break
????????return?flag
????def?move(self?event):
????????keysym?=?event.keysym
????????print(‘你按了‘?keysym?‘鍵‘)
????????y?=?copy.deepcopy(self.maps.maps_list[self.gq?-?1])
????????self.old_list.append(y)
????????if?keysym?==?‘Right‘?or?keysym
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????4435??2020-07-15?23:21??推箱子\image\人物.png
?????文件???????4579??2020-07-16?00:55??推箱子\image\人物與旗幟.png
?????文件???????2162??2020-07-15?23:21??推箱子\image\可放位置.png
?????文件???????1770??2020-07-15?23:21??推箱子\image\墻.png
?????文件???????4579??2020-07-16?00:55??推箱子\image\推箱子素材.png
?????文件???????1509??2020-07-15?23:21??推箱子\image\空.png
?????文件???????3596??2020-07-15?23:21??推箱子\image\箱子.png
?????文件??????12218??2020-07-20?10:08??推箱子\Main.py
?????文件????????599??2020-07-16?10:33??推箱子\Maps.py
?????文件???????2624??2020-07-18?21:21??推箱子\maps.txt
?????文件????8355451??2020-07-16?19:28??推箱子\music\1.mp3
?????文件??????25388??2020-07-16?19:13??推箱子\music\推箱子.wav
?????文件????????619??2020-07-16?10:34??推箱子\__pycache__\Maps.cpython-38.pyc
?????目錄??????????0??2020-07-16?00:56??推箱子\image
?????目錄??????????0??2020-07-16?19:28??推箱子\music
?????目錄??????????0??2020-07-16?10:34??推箱子\__pycache__
?????目錄??????????0??2020-07-20?10:15??推箱子
-----------?---------??----------?-----??----
??????????????8419529????????????????????17
評(píng)論
共有 條評(píng)論