python中的精靈類(python精靈組的基本概念)

本文目錄一覽:

python基礎教程

你可以看黑馬程序員Python入門教程:

教程學習時間15天

1-3天內容:為Linux基礎命令

4-13天內容:為Python基礎教程14-15 天內容:為飛機大戰項目演練

第一階段(1-3天):

該階段首先通過介紹不同領域的三種操作系統,操作系統的發展簡史以及Linux系統的文件目錄結構讓大家對Linux系統有一個簡單的認識,同時知道為什麼要學習Linux命令。然後我們會正式學習Linux命令

1. 文件和目錄命令:ls,cd,touch,mkdir,rm

2. 拷貝和移動命令:tree,cp,mv

3. 文件內容命令:cat,more,grep

4. 遠程管理命令:ifconfig,ping,SSH的工作方式簡介以及ssh命令

5. 用戶權限及用戶管理命令:chmod,chgrp,useradd,passwd,userdel

6. 軟件安裝及壓縮命令:apt簡介及命令,tar,gzip壓縮命令,bzip2壓縮命令

7. vim的基本使用

第二階段(4-10天)

該階段我們正式進入Python這門語言的學習,首先通過了解Python語言的起源,Python語言的設計目標,Python語言的設計哲學,Python語言的優缺點和面向對象的基本概念,以及Python語言的執行方式,還有Python集成開發環境PyCharm的使用為我們接下來的學習做鋪墊。

然後我們會學習int,string,float三種簡單的變量類型,變量間的計算,變量的輸入輸出,if判斷語句,while循環語句,for循環語句,break和continue的使用,函數的基本使用,模塊的使用,列表,元組,字典三種高級變量,字符串的常用操作。

接下來我們會通過一個名片管理系統的案例,把這一階段的知識進行一個串聯。在學習名片管理系統時,首先我們會學習怎麼去搭建這一系統的框架,然後我們會分別實現新增名片,顯示全部名片,查詢名片,刪除名片,修改名片這些功能。

最後我們會學習語法的進階內容,全局變量,局部變量,可變數據類型和不可變數據類型以及函數返回多個值,函數的缺省參數,多值參數,遞歸的基本使用。

第三階段(11-13天)

該階段我們會學習面向對象(OOP)這一重要的編程思想,首先學習的知識點有類和對象的基本概念,dir函數,self的作用,初始化方法__init__,內置函數__str__,__del__,單繼承,方法重寫,私有屬性和方法,多繼承,多態,類屬性,靜態方法。

然後我們還會學習單例模式這一設計模式,異常的捕獲,異常的拋出,from import局部導入,from import導入同名工具, from import導入所有工具,包的使用,製作模塊,pip的使用以及文件的相關操作。

第四階段(14-15天)

該階段是項目演練階段,我們會帶領大家通過使用之前學習過的知識開發飛機大戰這一經典遊戲,項目中分別有遊戲窗口,圖像繪製,遊戲循環,事件監聽,精靈和精靈組以及創建敵機,創建英雄和發射子彈,碰撞檢測等模塊

Python遊戲開發,Python實現貪吃蛇小遊戲與吃豆豆 附帶源碼

Python版本: 3.6.4

相關模塊:

pygame模塊;

以及一些Python自帶的模塊。

安裝Python並添加到環境變量,pip安裝需要的相關模塊即可。

貪吃蛇的 遊戲 規則應該不需要我多做介紹了吧T_T。寫個貪吃蛇 遊戲 其實還是很簡單的。首先,我們進行一下 遊戲 初始化:

然後定義一個貪吃蛇類:

其中head_coord用來記錄蛇頭所在位置,而tail_coords是一個二維數組,用來記錄所有蛇身的位置。一開始,貪吃蛇長為3,並且位置是隨機生成的。用戶通過 鍵來控制貪吃蛇的行動:

需要注意的是,貪吃蛇不能180 大拐彎,只能90 地拐彎。例如正在向左行動的貪吃蛇不能瞬間變成向右行動。具體而言,代碼實現如下:

然後,我們需要隨機生成一個食物,且需要保證該食物的位置不與貪吃蛇的位置相同:

在更新貪吃蛇的時候,如果它吃到了食物,則蛇身長加一,否則只是簡單的按照給定的方向行動而不改變蛇身長度:

同時,當貪吃蛇吃到食物時,需要重新生成一個新的食物:

最後,當貪吃蛇碰到牆壁或者蛇頭碰到蛇身時, 遊戲 結束:

並顯示一下 遊戲 結束界面:

玩家通過 鍵控制 遊戲 的主角吃豆人吃掉藏在迷宮內的所有豆子,並且不能被鬼魂抓到。

若能順利吃完迷宮內的所有豆子並且不被鬼魂抓到,則 遊戲 勝利,否則 遊戲 失敗。

逐步實現:

Step1:定義 遊戲 精靈類

首先,讓我們先來明確一下該 遊戲 需要哪些 遊戲 精靈類。

① 牆類

② 食物類(即豆豆)

③ 角色類

角色類包括吃豆人和鬼魂,鬼魂由電腦控制其運動軌跡,吃豆人由玩家控制其運動軌跡。

顯然,其均需具備更新角色位置和改變角色運動方向的能力,其源代碼如下:

Step2:設計 遊戲 地圖

利用Step1中定義的 遊戲 精靈類,我們就可以開始設計 遊戲 地圖了。由於時間有限,我只寫了一個關卡的 遊戲 地圖,有興趣的小夥伴可以在此基礎上進行擴展(在我的源代碼基礎上進行擴展是很方便滴~)。 遊戲 地圖的設計包括以下四方面內容:

① 創建牆

② 創建門(一開始關幽靈用的)

image.gif

③ 創建角色

④ 創建食物

因為食物不能和牆、門以及角色的位置重疊,所以為了方便設計 遊戲 地圖,要先創建完牆、門以及角色後再創建食物:

Step3:設計 遊戲 主循環

接下來開始設計 遊戲 主循環。首先是初始化:

然後定義主函數:

其中startLevelGame函數用於開始某一關 遊戲 ,其源代碼如下:

showText函數用於在 遊戲 結束或關卡切換時在 遊戲 界面中顯示提示性文字,其源代碼如下:

Python有哪些種類?

Python有哪些種類?

1、數值型(Numbers)

2、布爾型(Booleans)

3、字符串(String)

4、Python容器

要快速學會Python,謹記‘3個’‘4類’‘5大’‘6種’這四個數字就可以了。

三個基本概念

1. 結構化(函數、模塊、包)

2. 面向對象(類及派生類、重載)

3. 虛擬環境(版本管理、環境隔離)

四類基本操作

1. 數據操作(各種數據類型的操作)

2. 文件操作(文件打開讀寫關閉等操作)

3. 模塊操作(導入使用、模塊查尋等操作)

4.並發操作(進程與線程、鎖/信號號/安全隊列等)

五大基本語句(5)

1. 賦值語句(變量、對象、賦值運算符)

2. 輸入輸出語句(print, input函數)

3. 條件判斷語句(if-elif-else語句)

4. 循環語句(遍歷循環for-in-else、條件循環while-else、break/continue)

5. 異常處理語句(try-except-else-finally)

六種數據類型(6)

1. 數字類型(int,bool,float,complex)

2. 字符串(str)

3. 列表(list)

4. 元組(tuple)

5. 字典(dict)

6. 集合(set)

如果你能夠把上面的幾個要點都掌握了,那麼就算是真正地入門了。

請問使用Python (Pygame)在mac上寫小的遊戲,調用pygame.sprite.groupcollide()時的bug

一次移動是”跳過”移動速度這麼多的像素,而不過逐個像素的移動

方法groupcollide()是檢測兩個精靈組中精靈們的矩形衝突

速度過快導致精靈單次移動就直接跨越了另一個精靈,就不存在兩個精靈矩形的衝突,就不會檢測到

就像走路的時候跨過了一坨泥一樣

這麼說能明白嗎?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/289528.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 03:02
下一篇 2024-12-24 03:02

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29

發表回復

登錄後才能評論