色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python中的塔防墻建筑|Wireframe#70

jf_9aVl32Dp ? 來源:Arm軟件開發者 ? 2023-01-08 09:49 ? 次閱讀

以Atari先鋒Rampart的風格保護您的城堡。Mark在最新版本的Wireframe雜志中向您展示了如何操作。

上世紀80年代,一種新的戰略流派應運而生。塔防游戲包括在你的城堡周圍建造圍墻或障礙物,以防止敵人摧毀它。Atari發行的《Rampart》是該類游戲中一個著名的早期作品。比賽分為兩個階段。在建造階段,玩家在堡壘周圍的墻壁上填洞,并放置大炮。在第二階段,玩家的堡壘將被艦隊從海上攻擊,玩家可以用大炮還擊。這個循環會一直持續下去,直到玩家無法再填補墻壁的空隙,或者他們摧毀了所有攻擊船只。

0dcb3a06-8e91-11ed-bfe3-dac502259ad0.png

大炮準備好了,準備戰斗!這是最初的Rampart,由Atari于1990年開發。

在我們的PygameZero示例中,我們將研究兩種塔防機制:筑墻系統,然后檢查要塞是否被墻包圍。要開始編碼,我們需要一個背景——在本例中,是一個海岸線部分。然后,我們需要定義一個不可見的網格,該網格將保存墻所在位置的詳細信息。如果我們假設每個墻段是40×40像素,那么在800×600像素的窗口上,我們可以定義一個二維列表中20×15的網格。在這個列表中,我們將從所有設置為0的正方形開始,然后如果我們添加墻截面,將該正方形切換為1。為了定義我們可以構建和不能構建的地方,我們可以加載一個小黑白圖像,并從中讀取像素,將不可構建的正方形設置為3。

我們的堡壘將占據四個正方形,因此我們將堡壘位置的左上角正方形設為2,其他三個正方形設為3。這將阻止玩家在堡壘上筑墻。我們使用on_mouse_move()函數跟蹤鼠標的移動,當我們獲得鼠標x和y坐標時,我們在鎖定到不可見網格的鼠標指針下繪制一段墻。當我們得到一個on_mouse_down()事件時,我們檢查所經過的正方形是否為0,如果為0,我們將其轉換為1。

0ea14dbc-8e91-11ed-bfe3-dac502259ad0.png

我們向塔防流派致敬。建造一系列的墻來安全地包圍你的堡壘。

在draw()函數中,如果我們在網格中有1的地方繪制一個墻截面,我們將看到墻所在的平面正方形。然而,我們想要的是所有的墻都與外面的城垛連接起來。為此,我們需要檢查每個墻件周圍的正方形,并根據其與其他墻件的連接方式來更改我們使用的圖像。我們查看上方、右側、下方和左側的正方形,如果沒有墻,則創建一個帶零的字符串,如果有墻,則生成一個帶1的字符串。這意味著如果沒有墻連接,我們將獲得字符串“0000”,如果上方有墻,將獲得字符串1000,如果當前墻的左側和右側有墻,示例:“wall0101”。

在示例的第二部分,我們將檢測堡壘是否被墻包圍。有多種方法可以做到這一點,但我們將使用“flood fill”例程來測試這一點。首先,我們制作一份網格列表的副本以進行測試。然后,從網格上的堡壘位置開始,我們遞歸地測試所有相鄰的正方形。如果我們碰到了一堵墻,那么我們就關閉了回路的分支。這就產生了一系列向外延伸的測試,直到到達地圖的一側,或者因為所有的代碼分支都碰到了墻,所以我們沒有正方形來測試。如果到達地圖的邊緣,墻上就會有洞;否則,堡壘將被封閉。

這些是我們的筑墻和測試程序。為了完成塔防風格的游戲,你需要添加一些大炮和艦船來戰斗,但我們會把這部分留給你來實現。

0f412b52-8e91-11ed-bfe3-dac502259ad0.png

這是Mark的塔防游戲開始代碼。要在系統上運行它,首先需要安裝PygameZero。完整說明可在此處(http://wfmag.cc/pgzero)找到。有關完整代碼,請訪問我們的github(http://wfmag.cc/wfmag70)。

獲取Wireframe#70

您可以在Wireframe第70期中閱讀更多類似的功能(https://www.raspberrypi.com/news/tag/wireframe/),可直接從Raspberry Pi Press(http://wfmag.cc/issues)獲得,我們在全球范圍內提供。

0fd2343a-8e91-11ed-bfe3-dac502259ad0.jpg

大結局:Wireframe#70,現已上市。

如果你喜歡數字形式的雜志,你也可以下載Wireframe第70期的免費PDF!(http://wfmag.cc/70)


審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編碼
    +關注

    關注

    6

    文章

    942

    瀏覽量

    54815
  • python
    +關注

    關注

    56

    文章

    4793

    瀏覽量

    84632

原文標題:Python中的塔防墻建筑|Wireframe#70

文章出處:【微信號:Arm軟件開發者,微信公眾號:Arm軟件開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    電子將控股和碩印度iPhone工廠

    近日,印度電子宣布了一項重大收購計劃,將收購和碩在印度iPhone工廠的多數股權。據知情人士透露,雙方已就此事達成一致,并將共同組建一家新的合資企業。 據悉,電子將持有這家合資
    的頭像 發表于 11-18 13:49 ?178次閱讀

    工藝是什么意思

    與亞微米工藝類似,側工藝是指形成環繞多晶硅的氧化介質層,從而保護LDD 結構,防止重摻雜的源漏離子注入到LDD結構的擴展區。側是由兩個主要工藝步驟形成,首先淀積 ONO 結構,再利用各向異性
    的頭像 發表于 11-09 10:02 ?348次閱讀
    側<b class='flag-5'>墻</b>工藝是什么意思

    低壓差分信號(LVDS)在LED燈的應用

    電子發燒友網站提供《低壓差分信號(LVDS)在LED燈的應用.pdf》資料免費下載
    發表于 08-30 09:23 ?0次下載
    低壓差分信號(LVDS)在LED燈<b class='flag-5'>墻</b><b class='flag-5'>中</b>的應用

    園區安智能建筑管理系統全面介紹

    園區安智能建筑管理系統( IBMS )集成平臺是一種綜合性的智能化系統,旨在實現對園區內各類安設備和系統的集中管理、監控、調度和決策。該平臺融合了安監控、訪客管理、入侵檢測、視頻
    的頭像 發表于 08-02 11:53 ?278次閱讀

    Python在AI的應用實例

    Python在人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python在AI的幾個關鍵應用
    的頭像 發表于 07-19 17:16 ?1061次閱讀

    阿維在車輛安全的以攻促實例 | 附PPT下載

    以下內容整理自談思AutoSec 8周年年會。 分享嘉賓:蘇牧辰 阿維科技數字安全-車輛安全負責人 本次的演講主題為《阿維在車輛安全以攻促實例》,內容相較于此前在談思平臺上分享
    的頭像 發表于 05-14 13:54 ?290次閱讀
    阿維<b class='flag-5'>塔</b>在車輛安全<b class='flag-5'>中</b>的以攻促<b class='flag-5'>防</b>實例 | 附PPT下載

    印度電子開始出口封裝芯片

    印度電子近日宣布,其已在班加羅爾試驗線上成功封裝芯片并開始出口,這一重要進展標志著在半導體行業的雄心壯志邁出了堅實步伐。公司計劃在未來幾年內,在古吉拉特邦的Dholera建立一
    的頭像 發表于 05-13 10:31 ?619次閱讀

    雷達直擊雷防護:側擊玻璃鋼避雷針

    雷達直擊雷防護:側擊玻璃鋼避雷針
    的頭像 發表于 05-07 19:35 ?424次閱讀
    雷達<b class='flag-5'>塔</b>直擊雷防護:<b class='flag-5'>防</b>側擊玻璃鋼避雷針

    平板丨平板終端丨三平板電腦丨建筑工地應用

    隨著建筑工程越來越復雜和規模越來越大,工地管理和協調變得越來越復雜。在這個過程,工業設備的作用越來越重要,而三平板作為一種實用的工業設備,在工地上的應用越來越廣泛。本文將介紹三
    的頭像 發表于 02-19 10:30 ?471次閱讀
    三<b class='flag-5'>防</b>平板丨平板終端丨三<b class='flag-5'>防</b>平板電腦丨<b class='flag-5'>建筑</b>工地應用

    淺談建筑工地應用三平板

    隨著建筑工程越來越復雜和規模越來越大,工地管理和協調變得越來越復雜。在這個過程,工業設備的作用越來越重要,而三平板作為一種實用的工業設備,在工地上的應用越來越廣泛。本文將介紹三
    的頭像 發表于 02-19 10:20 ?383次閱讀

    冷卻原理及作用 冷卻的填料是什么東西

    冷卻是一種用于將熱水冷卻的設備,它通過將熱水與空氣進行接觸和交換,從而降低水溫。冷卻通常被廣泛應用于熱力系統、工業制程以及空調系統。冷卻的主要原理是通過風扇將周圍空氣通過塔體,
    的頭像 發表于 02-03 10:52 ?2167次閱讀

    建筑工地機監測系統助力工地建設

    一、系統介紹 機信息化管理系統是基于傳感器技術、嵌入式技術、數據采集技術、數據融合處理,無線傳感網絡與遠程數據通信技術,高效率的實現了建筑機單機運行的群干涉作業
    的頭像 發表于 02-01 17:37 ?314次閱讀

    建筑電氣火災的控與管理

    我國古建筑多為磚木結構,當發生火災事故時具有蔓延快、撲救難的特點,而火災對古建筑的損害性很大,電氣火災事故在我國火災事故中比重居高不下。本文通過對古建筑電氣火災成因進行分析,有針對性地提出了古
    的頭像 發表于 01-30 17:03 ?544次閱讀
    古<b class='flag-5'>建筑</b>電氣火災的<b class='flag-5'>防</b>控與管理

    機防碰撞安全在線監測系統在建筑行業的應用

    機防碰撞安全在線監測系統是集互聯網技術、傳感器技術、嵌入式技術、數據采集技術、數據融合處理、無線傳感網絡與遠程數據通信等前沿應用技術于一體的產品。該產品能高精度、高效率地實現建筑機單機運行和群
    的頭像 發表于 01-25 17:58 ?449次閱讀

    split在python的用法

    split在python的用法 split()是Python中一個非常常用的字符串函數,它能夠根據指定的分隔符將一個字符串分割成多個子字符串,并返回一個包含這些子字符串的列表。本文將詳細介紹
    的頭像 發表于 12-25 15:12 ?2019次閱讀
    主站蜘蛛池模板: 久久精品日本免费线| 久久国产精品福利影集| 天天爽夜夜爽8888视频精品| 光棍天堂在线a| 亚洲黄色网页| 久久久久久人精品免费费看| 国产在线亚洲精品观| 91精品国产免费入口| 欧美激情视频一区二区| 国产AV无码熟妇人妻麻豆| 波多野结衣的AV一区二区三区| 亚洲国产在线午夜视频无| 小草观看免费高清视频| 老师的脚奴| 国产露脸150部国语对白| 一级毛片视频免费| 欧美性最猛xxxx在线观看视频| 国产综合在线观看| av在线观看地址| 亚洲精品中文字幕无码A片蜜桃| 啪啪后入内射日韩| 全彩acg无翼乌火影忍者| 久久re视频这里精品青| 久久青青草原| 国产午夜久久影院| 国产97视频在线观看| 国产精品99精品无码视亚| JEALOUSVUE成熟老师APP| 伊人影院综合在线| 亚洲成人免费看| 四虎影视永久无码精品| 97无码人妻精品1国产精东影业| 亚洲AV怡红院影院怡春院| 亚洲精品色情APP在线下载观看| 伊人色综合久久天天| 做i爱视频30分钟免费| 亚洲国产精品无码2019| 一边捏奶头一边啪高潮会怎么样| 视频在线免费观看| 日韩欧美群交P内射捆绑| 女人张开腿让男人添|