最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

60行Python PyGame代碼實現(xiàn)簡單的迷宮游戲

 更新時間:2023年12月30日 08:42:48   作者:微小冷  
這篇文章主要為大家詳細介紹如何通過了60行Python PyGame代碼實現(xiàn)一個簡單的迷宮游戲,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下

迷宮

迷宮的邏輯很簡單,就是用上下左右鍵控制方塊運動,然后定義一下墻壁,指明方塊不能穿過墻壁即可。

當然,還是老規(guī)矩,在具體實現(xiàn)之前,先設置一些常量

import pygame
import sys

# 定義顏色
GRAY = (205, 205, 205)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
SIZE = 40

接下來設置一個按鍵字典,用于控制方塊運動

KEY_DCT = {
    pygame.K_LEFT : [-1, 0],
    pygame.K_RIGHT : [1, 0],
    pygame.K_UP : [0, -1],
    pygame.K_DOWN : [0, 1]
}

以左鍵為例,當左鍵按左時,方塊的縱坐標不變,而橫坐標減去1,顧對應( − 1 , 0 ) (-1,0)(−1,0)。

迷宮表示以及初始化

考慮到更好的自定義迷宮的支持,采用字符列表作為迷宮的映射,以#, I, O分別表示墻壁、玩家位置以及出口位置。從而上面的迷宮可表示如下

maze = [
    "############",
    "#I    #    #",
    "#  ## ###  #",
    "#  #       #",
    "#  #  #### #",
    "#   ##     #",
    "# ###  # # #",
    "# ##   #   #",
    "#   #  # # #",
    "## #  ##   #",
    "# # #O#  ###",
    "############"
]

???????maze = [list(m) for m in maze]

之所以采用嵌套的字符列表,乃因字符串不支持類似s[1]=2這種操作。

接下來要做的,就是定義一個繪圖函數(shù),可以將迷宮和玩家統(tǒng)一繪制出來,實現(xiàn)如下。如果后續(xù)有升級的需求,在迷宮中放置一些不明物體,從而需要的字符種類更多,那么可以考慮將繪圖邏輯封裝成字典。

# 繪制迷宮地圖
def init(strLst = maze):
    # 第i行,第j列
    for i,s in enumerate(strLst):
        for j,ch in enumerate(s):
            if ch not in "#IO":
                continue
            rect = (j*SIZE, i*SIZE, SIZE, SIZE)
            if ch == "#":
                pygame.draw.rect(win, GRAY, rect,5)
            elif ch == "I":
                player = [j, i]
                pygame.draw.rect(win, RED, rect)
            elif ch == "O":
                pExit = [j, i]
                pygame.draw.rect(win, GREEN, rect)
    return player, pExit

游戲主循環(huán)

在實現(xiàn)主循環(huán)之前,需要對pygame進行初始化,包括初始化窗口等

# 初始化pygame
pygame.init()
win = pygame.display.set_mode(
    (len(maze[0]) * SIZE, len(maze) * SIZE))
pygame.display.set_caption("迷宮游戲")
running = True

其中,running為游戲結束的判定變量,其主循環(huán)內容如下

到此這篇關于60行Python PyGame代碼實現(xiàn)簡單的迷宮游戲的文章就介紹到這了,更多相關Python PyGame迷宮內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python命令行模式的用法及流程

    python命令行模式的用法及流程

    在本篇文章里小編給大家整理的是一篇關于python命令行模式的用法及流程相關內容,有興趣的朋友們可以跟著學習下。
    2021-09-09
  • Django Docker容器化部署之Django-Docker本地部署

    Django Docker容器化部署之Django-Docker本地部署

    這篇文章主要介紹了Django Docker容器化部署之Django-Docker本地部署,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Python寫出新冠狀病毒確診人數(shù)地圖的方法

    Python寫出新冠狀病毒確診人數(shù)地圖的方法

    在本篇文章里小編給大家分享的是關于Python做新冠狀病毒確診人數(shù)地圖的詳解內容,需要的朋友們可以學習下。
    2020-02-02
  • Python利用PyPDF2庫處理PDF文件的基本操作

    Python利用PyPDF2庫處理PDF文件的基本操作

    PyPDF2是一個Python庫,用于處理PDF文件,包括合并、分割、旋轉和提取文本等操作,它是一個功能強大且靈活的工具,可用于自動化處理PDF文件,適用于各種應用,從文檔管理到數(shù)據(jù)分析,本文將深入介紹PyPDF2庫,掌握如何利用它來處理PDF文件,需要的朋友可以參考下
    2023-11-11
  • NumPy中np.c_ 和 np.r_ 的區(qū)別小結

    NumPy中np.c_ 和 np.r_ 的區(qū)別小結

    np.c_和?np.r_是NumPy庫中兩個非常有用的函數(shù),它們分別用于按列和按行拼接數(shù)組本文主要介紹了NumPy中np.c_ 和 np.r_ 的區(qū)別小結,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Python內存優(yōu)化的七種技巧分享

    Python內存優(yōu)化的七種技巧分享

    本文將重點介紹 Python 的內置機制,并介紹 7 種原始但有效的內存優(yōu)化技巧,掌握這些技巧將大大提高你的 Python 編程能力,文中通過代碼示例給大家講解的非常詳細,感興趣的小伙伴跟著小編一起來學習吧
    2024-02-02
  • Python中l(wèi)azy property的兩種方法小結

    Python中l(wèi)azy property的兩種方法小結

    本文介紹了Python中實現(xiàn)延遲屬性lazyproperty的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • python反轉單鏈表算法題

    python反轉單鏈表算法題

    這篇文章主要為大家詳細介紹了python反轉單鏈表算法題,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 利用Python進行金融數(shù)據(jù)分析的全過程

    利用Python進行金融數(shù)據(jù)分析的全過程

    金融數(shù)據(jù)分析在現(xiàn)代金融行業(yè)中扮演著至關重要的角色,通過使用Python編程語言,我們可以對大量金融數(shù)據(jù)進行處理、分析和可視化,從而獲得有價值的洞察,本篇文章將介紹如何使用Python進行金融數(shù)據(jù)分析,需要的朋友可以參考下
    2024-08-08
  • python 爬取壁紙網(wǎng)站的示例

    python 爬取壁紙網(wǎng)站的示例

    這篇文章主要介紹了python 爬取壁紙網(wǎng)站的示例,幫助大家更好的理解和學習使用python爬蟲,感興趣的朋友可以了解下
    2021-03-03

最新評論

康乐县| 嘉鱼县| 永清县| 洪湖市| 浦县| 长岛县| 鹤庆县| 永嘉县| 武宣县| 洛川县| 罗甸县| 红原县| 高州市| 北流市| 汉源县| 宜黄县| 河北区| 白玉县| 乌兰察布市| 米脂县| 大足县| 新巴尔虎左旗| 禹州市| 卫辉市| 蛟河市| 白朗县| 柳河县| 钦州市| 星座| 高要市| 徐州市| 增城市| 武安市| 德安县| 利川市| 扶风县| 邢台县| 嘉定区| 上犹县| 平邑县| 都江堰市|