亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

太好玩了,我用Python寫了個火影忍者版的連連看

系統 1600 0

作者:菜鳥小編

公眾號:菜鳥學Python


暑假馬上就要結束了,在暑假即將走向尾聲的時候,小編特地為大家準備了一款小游戲——連連看。希望通過這一款小游戲為大家放松身心,迎接新學年的到來。

連連看想必大家都玩過,相同的圖片,可以連在一起消掉,但前提是圖片連接的路徑要是直線,或者是“L”形(連接線有一個拐彎)或者是類似于“U”形(連接線有兩個拐彎)。那么程序是如何實現的呢, 先看一下整個的設計思路

太好玩了,我用Python寫了個火影忍者版的連連看_第1張圖片

01.

游戲的界面設計

1).首先是對于整體界面的設計,如下圖所示:

太好玩了,我用Python寫了個火影忍者版的連連看_第2張圖片

大家運行程序后,會首先彈出選擇框, 是否從第一關開始,選擇第一關后,點擊游戲便可以開始游戲。我們設計了一個菜單,點擊游戲/開始游戲即可!

02.

把火影忍者的人物放畫布

接下來就是將游戲人物放到畫布上去,這里我們選擇了我最喜歡的火影忍者的頭像,哈哈!


1).首先程序規定了每一個種類圖片

圖片所能出現的次數為4次,然后如果我們想實現一個8x8大小的圖片地圖,那么就一共有8x8/4=16種類型的圖片可以出現。我們將每一種類型圖片編碼為一個數字,例如上圖中鳴人的編號為0,小櫻的編號為1。然后在對應到圖片上去,所以就會得到16(種類)x4(每個種類的圖片數量)=64個圖片,如下圖所示:

640

2).然后,我們將上述的圖片打亂

按照畫布上的位置分別放置圖片,就得到了連連看的圖片界面。

太好玩了,我用Python寫了個火影忍者版的連連看_第3張圖片

3).部分代碼如下圖所示

太好玩了,我用Python寫了個火影忍者版的連連看_第4張圖片

該函數是對畫布圖片進行一個初始化:

  • 首先,是將每一個類別的小圖片都添加self.num張,形成一個self.picsKind * self.num大小的一維數組;

  • 然后,將小圖片的索引順序進行打亂;

  • 最后,是將小圖片的索引轉化為一個二維數組,也就是呈現給大家的一個正方形的界面。

太好玩了,我用Python寫了個火影忍者版的連連看_第5張圖片

這里是將我們存放到self.pics里面的圖片,通過函數self. get_left_top_point函數來獲得其對應的坐標,并按照此坐標將圖片放置到畫布的相應位置。

其中有一點應用的很是巧妙,就是利用索引來作為判斷是否是一類圖片的標志(后面有代碼示例的) ,接下來就是進行圖片的消除,如下圖所示。

太好玩了,我用Python寫了個火影忍者版的連連看_第6張圖片

03.

核心算法解釋

敲黑板劃重點來了, 只有符合上述三種情況的圖片我們才能夠消除,那么程序如何判斷二者是否符合被消除的條件呢?

  • 我們以直線連接為例。上圖中可以直線連接的兩個佐助橫縱坐標分別為(2,3)和(3,3),那么我們就判斷他們x坐標(直線連接,橫縱坐標肯定有一個相等,就不用判斷相等的坐標了);

  • 如果他們中間沒有其他的圖片,那么他們就可以被連接然后消掉,否則就不可以;

例如(4,4)和(4,6)的小櫻之間有一個其他人的存在,他們就不能被連接,其他的情況也是類似判斷,部分代碼如下圖所示:


太好玩了,我用Python寫了個火影忍者版的連連看_第7張圖片

上面的3中連接方法( 直連,L型連接和U型連接) 。當我們判斷二者可以連接后,利用tkinter的畫布中的delete函數,便可以將圖片刪掉。部分程序如下所示:


太好玩了,我用Python寫了個火影忍者版的連連看_第8張圖片

當我們將所有的圖片都消掉后,程序便會彈出提示框,祝賀我們闖關成功。下面,小編就為大家帶來視頻展示,看看小編的功力如何。

(連連看運行視頻)


怎么樣看完視頻,是不是感覺還不錯, 唯一美中不足的就是沒有加入聲音。 大家如果有興趣的可以拿著完整的源碼改改,看看能否優化和加入聲音,這樣效果更佳!


需要源碼,后臺輸入:【連連看】


往期閱讀

速來!免費包郵送35本經典Python書籍

企業難尋AI人才,求職者就業難,如何破局?


漲姿勢|一位資深的Python大牛,有趣有料


太好玩了,我用Python寫了個火影忍者版的連連看_第9張圖片




更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 呦女亚洲一区精品 | 麻豆国产原创最新在线视频 | 啪啪网站色大全免费 | 中文字幕久精品免费视频蜜桃视频 | 私人影院在线播放 | 成人性色生活影片 | youjizz中国 | 亚洲一区二区三区在线播放 | 精品国产一区二区三区四区色 | 67194老司机精品午夜 | 婷婷久| 成人综合婷婷国产精品久久免费 | 久操视频网站 | 97午夜理伦片在线影院 | 国产成人精品福利色多多 | 中文久久| 精品亚洲性xxx久久久 | 国产一级一级一级成人毛片 | 国产欧美乱码在线看 | 国产精品久久久久久久久久一区 | 欧美曰批人成在线观看 | 日韩精品国产自在久久现线拍 | 精品国产免费一区二区三区 | 乱子伦xxxx厨房 | 色插综合 | 亚洲午夜综合网 | 四虎影库网址 | 亚洲毛片在线看 | 欧美人与鲁交大毛片免费 | 99热精品在线观看 | 亚洲精品综合一二三区在线 | 欧美日韩色综合网站 | 一级毛片区 | 日本最黄视频 | 国产精品第1页 | 鲁啊鲁啊鲁在线视频播放 | 999yy成年在线视频免费看 | 综合亚洲色图 | 国产成人精品日本亚洲语音1 | 午夜剧场毛片 | 91拍拍在线观看 |