最新av偷拍av偷窥av网站,在教室伦流澡到高潮h麻豆,一个人在线高清免费观看,中文字幕av无码一二三区电影,中国丰满熟妇xxxx性

您當前的位置:JZ5U綠色下載站文章中心設計學院Photoshop → 文章內容
  • Python游戲開發(fā)貪吃蛇

今天學習Python游戲開發(fā),當然這里說的是小游戲。主要學習一下Python的游戲庫,然后完成一個小游戲。

小游戲開發(fā)其實很簡單。需求先理解開發(fā)言語的游戲庫的用法,包括怎樣創(chuàng)立一個顯現(xiàn)區(qū)域?怎樣刷新顯現(xiàn)區(qū)域?根本圖形怎樣繪制?以及事情處置邏輯是怎樣的?在學習了游戲庫的運用后,剩下的就是完成游戲規(guī)則和算法,然后遵照開發(fā)言語游戲庫(框架)的邏輯,完成游戲顯現(xiàn)和控制。


今天我們要用到的庫是pygame。首先學習一下根本運用,然后依照慣例,編寫一個貪吃蛇的小游戲。

pygame基本框架

下面是Pygame的一個根本框架實例代碼,包含了游戲窗口創(chuàng)立,矩形繪圖,界面刷新,按鍵事情處置等。先感受一下,然后逐一闡明。

運轉效果,黑背景的顯現(xiàn)區(qū)域上面有一個白色的方塊,從顯現(xiàn)區(qū)域的左上角到右下角平滑的循環(huán)挪動,按方向鍵左能夠關掉游戲窗口:

游戲顯現(xiàn)區(qū)域

pygame先要調用init()辦法停止初始化,然后創(chuàng)立顯現(xiàn)區(qū)域pygame.display是創(chuàng)立一個顯現(xiàn)區(qū)域(或窗口),能夠設置顯現(xiàn)區(qū)域的大小,游戲的稱號,游戲的圖標等等。關鍵辦法就是set_mode()。size參數是一個二元元組,表示顯現(xiàn)區(qū)域的長和寬;flags參數表示一些特性,默許值是0,表示不運用特性,可用的值FULLSCREEN,RESIZEBLE,NOFRAME,DOUBLEBUF;depth參數表示色深。

圖形繪制

根本圖形:矩形、圓形、三角形等。pygame的draw停止圖形繪制。rect()辦法繪制矩形,第一個參數是顯現(xiàn)區(qū)域的句柄,也就是第一步創(chuàng)立顯現(xiàn)區(qū)域得到的值;第二個參數表示矩形區(qū)域的顏色;第三個參數表示矩形的起點坐標和長寬;第四個參數表示邊線的寬度,默許是0,表示無邊線填充矩形,假如設置的話表示有邊線的空心矩形。

界面刷新

顯現(xiàn)界面更新,才干顯現(xiàn)繪制的圖形。經過調用display的update()辦法,停止界面更新。

游戲區(qū)域需求不時刷新,才干看到物體的挪動,所以需求設置一個界面刷新頻率。time模塊經過設置時鐘的刷新頻率(tick()辦法),來停止不時的界面更新。

事情處置

Pygame的event提供get()辦法獲得游戲事情

貪吃蛇

在開端編碼之前,我們需求先停止剖析設計。這點很重要,只要想分明了,才干做出一個好的產品/功用。

食物設計:

  • 一個矩形代表一個食物

  • 食物隨機呈現(xiàn)

  • 屏幕中,有且只要一個食物

  • 食物不能呈現(xiàn)在蛇身(隨機食物不能與蛇堆疊)

蛇設計:

  • 蛇分蛇頭和蛇尾

  • 初始長度3,蛇頭1,蛇身1,蛇尾1

  • 蛇頭=蛇身=蛇尾=食物

  • 每次挪動一蛇頭的間隔

  • 經過鍵盤的方向鍵上下左右控制蛇頭挪動

  • 蛇頭撞到蛇身或蛇尾或顯現(xiàn)區(qū)域邊境,游戲完畢

  • 蛇頭與食物疊加,表示吃到食物,蛇身增加一個食物長度

顯現(xiàn)區(qū)域:

  • 全屏顯現(xiàn)

其他:

  • 按ESC鍵退出游戲

算法設計:

  • 貪吃蛇游戲的關鍵是蛇的挪動算法。其實原理很簡單蛇頭前面增加一個,尾巴消掉。蛇身不論有幾個都不用動。

我們看一下運轉效果:

寫在結尾的話

至此,我們學習了pygame庫,并運用此框架完成了小游戲貪吃蛇(Gluttonous Snake)。

源碼地址:

https://github.com/stonedong/pythonworld/blob/master/PythonGame.py


  • 作者:互聯(lián)網  來源:本站整理  發(fā)布時間:2019-10-18 10:48:35


------------------------------- · 相關文檔瀏覽 · --------------------------------------------------------------------- · 熱門文檔瀏覽 · -------------------------------------