tft每日頭條

 > 遊戲

 > python遊戲代碼講解

python遊戲代碼講解

遊戲 更新时间:2024-08-07 02:16:08

原創: 菜鳥哥 菜鳥學Python

python遊戲代碼講解(菜鳥也能用Python寫一個2048遊戲)1

想必大家對于小遊戲2048應該都聽說過吧,這款益智類的小遊戲,雖說很簡單,但是想要玩的很好,也需要一定的技巧,今天看到了一個大神用Python寫了一個2048的小遊戲,但是沒有中文的解釋,而且沒有幫助文檔,因此,小編就在此基礎上,對程序做了改進,對于程序加入了中文的注釋,希望能從菜鳥的角度,通俗易懂的給大家講講!

1遊戲界面設計

下圖展示的是遊戲的初始化界面,有了遊戲界面作為一個直觀的了解,方便大家對于程序的理解:

python遊戲代碼講解(菜鳥也能用Python寫一個2048遊戲)2

遊戲的初始化,部分程序如下圖所示:

python遊戲代碼講解(菜鳥也能用Python寫一個2048遊戲)3

  • 程序首先是定義了整體的背景,包括了背景的大小,顔色;
  • 然後是對于幫助文檔按鍵的定義,對于每一個小的方格,程序對于其位置顔色和每個小方格的内容也進行了定義;
  • 接下來,程序在init_matrix函數中,定義了一個4x4大小的矩陣,矩陣的值都是0,矩陣的每一個值都對應着一個小方格裡面的内容。

初始化時,在任意的兩個位置中,添加數字2進行顯示,而對于值為0的方格則不進行展示,完成上述的操作後,便得到了我們圖一的展示界面。

2遊戲的操作部分

1).界面的初始化完成後 ,接下來就是如何運行程序了

這裡使用的時tkinter下的鍵盤事件綁定,通過監測鍵盤的動作,tkinter可以得到我們到底時進行的上下左右哪種操作:

python遊戲代碼講解(菜鳥也能用Python寫一個2048遊戲)4

例如up函數,程序定義了transpose、reverse、cover_up和merge等函數,來實現“up”的操作,當我們執行up函數時,所有的數字都會填滿上面的所有方格,如下圖所示:

python遊戲代碼講解(菜鳥也能用Python寫一個2048遊戲)5

上圖中,經過up函數後,位于下方的數字都全部移動到上方,同時産生了新的數字。其他的操作也是相似的操作。大家可以按照up函數的操作,來親自手寫演示一遍,體會就會更加的明顯。

2).提供悔棋功能

程序還給大家提供了返回前面操作的步驟,如果大家想“悔棋”的話,隻需要按“b”鍵就可以回到前面的遊戲界面重新操作,這一部分的程序如下圖所示。

python遊戲代碼講解(菜鳥也能用Python寫一個2048遊戲)6

上述的程序中,首先需要确定我們可以返回的步數是大于1的,然後返回我們的上一步遊戲界面,如果大家想連續返回的話,隻需要重複的按“b”鍵即可達到。

python遊戲代碼講解(菜鳥也能用Python寫一個2048遊戲)7

3整個程序設計思路

那程序是如何實現整個遊戲的邏輯呢?下面我把整個的思路給大家理一下:

1).先說重點核心就是在key_down函數裡,由于程序利用tkinter實現了監聽鍵盤,所以我們每按一次鍵盤,程序都會執行一次key_down函數,我們隻需要清楚這個函數,就可以搞清楚遊戲的流程和機制。

2).程序會先判斷我們是否是進行了返回上一步的操作,如果是的話,就返回上一步,如果不是的話,程序就判斷我們進行的是什麼操作(上下左右);

3).然後對于我們的矩陣進行上下左右的操作,程序将在矩陣中剩餘的空白處,随機添加數字2,并将添加後的矩陣放入到曆史矩陣當中;

4).接着更新方格進行顯示。當我們執行完按鍵操作後,就是判斷遊戲的狀态,在game_state函數裡,我們定義了遊戲的勝利和失敗的條件,并在達到條件的情況下判斷遊戲勝利或者是失敗。如果兩種遊戲狀态都沒有達到時,我們便可以接着按鍵,執行下一次的key_down函數;

5).最後我們在運行程序的時候,便達到了玩遊戲時的效果,通過不斷的按鍵,來改變方格中的數字分布,并在達到勝利或者失敗條件時,對遊戲者進行提示。

以上就是小編與大家分享的2048小遊戲,大家趕快動起手來練習吧。

最後,我自己是一名從事了多年開發的Python老程序員,辭職目前在做自己的Python私人定制課程,今年年初我花了一個月整理了一份最适合2019年學習的Python學習幹貨,可以送給每一位喜歡Python的小夥伴,想要獲取的可以關注我的頭條号并在後台私信我:01,即可免費獲取。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关遊戲资讯推荐

热门遊戲资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved