chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

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

jf_9aVl32Dp ? 來源:Arm軟件開發(fā)者 ? 2023-01-08 09:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

大炮準備好了,準備戰(zhàn)斗!這是最初的Rampart,由Atari于1990年開發(fā)。

在我們的PygameZero示例中,我們將研究兩種塔防機制:筑墻系統(tǒng),然后檢查要塞是否被墻包圍。要開始編碼,我們需要一個背景——在本例中,是一個海岸線部分。然后,我們需要定義一個不可見的網格,該網格將保存墻所在位置的詳細信息。如果我們假設每個墻段是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的地方繪制一個墻截面,我們將看到墻所在的平面正方形。然而,我們想要的是所有的墻都與外面的城垛連接起來。為此,我們需要檢查每個墻件周圍的正方形,并根據其與其他墻件的連接方式來更改我們使用的圖像。我們查看上方、右側、下方和左側的正方形,如果沒有墻,則創(chuàng)建一個帶零的字符串,如果有墻,則生成一個帶1的字符串。這意味著如果沒有墻連接,我們將獲得字符串“0000”,如果上方有墻,將獲得字符串1000,如果當前墻的左側和右側有墻,示例:“wall0101”。

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

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

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

這是Mark的塔防游戲開始代碼。要在系統(tǒng)上運行它,首先需要安裝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?。╤ttp://wfmag.cc/70)


審核編輯 :李倩


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

    關注

    6

    文章

    1017

    瀏覽量

    56675
  • python
    +關注

    關注

    57

    文章

    4859

    瀏覽量

    89621

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    智能建筑的 “隱形神經”:交換機如何連接安、照明與門禁系統(tǒng)?

    在智能建筑,各類智能化系統(tǒng)各司其職:安系統(tǒng)守護安全,照明系統(tǒng)調節(jié)光環(huán)境,門禁系統(tǒng)管控出入。然而,讓這些系統(tǒng)真正“智能”起來的,是一張看不見的網絡,而網絡的核心樞紐正是 交換機 。它如同建筑
    的頭像 發(fā)表于 12-10 16:40 ?151次閱讀

    Termux調試圣誕樹Python代碼

    在Termux調試Python代碼(以圣誕樹立例)非常簡單,核心分為環(huán)境準備、代碼編寫、運行調試三個步驟,下面一步步教你操作: 一、環(huán)境準備(首次使用需做) Termux默認可能沒有Python
    發(fā)表于 12-09 09:02

    建筑智能安系統(tǒng):電容在電壓波動中保障攝像頭持續(xù)錄像的 “電力錨”

    在現代建筑智能安系統(tǒng),攝像頭的持續(xù)穩(wěn)定運行是保障安全監(jiān)控的關鍵。然而,電力系統(tǒng)的電壓波動常常成為影響攝像頭工作的隱患。這時,電容器作為一種重要的電子元件,發(fā)揮著“電力錨”的作用,確保攝像頭在電壓
    的頭像 發(fā)表于 08-22 10:47 ?639次閱讀

    麥斯MST1602賦能工業(yè)物聯網關5ns同步精度

    麥斯MST1602 MEMS振蕩器以全硅架構實現耐60 kg沖擊和70 g振動,2×1.6 mm小封裝覆蓋3.57-156.25 MHz共54頻點,老化
    的頭像 發(fā)表于 08-20 09:48 ?505次閱讀
    麥斯<b class='flag-5'>塔</b>MST1602賦能工業(yè)物聯網關5ns同步精度

    linux虛擬環(huán)境調用Linux 版matlab編譯的python庫時出錯

    、readme.txt、 requiredMCRProducts.txt、init.py、CAO_python.ctf。 在linux環(huán)境按照以下步驟安裝matlab runtime2018b: ① cd到MCR
    發(fā)表于 07-18 10:40

    基礎篇3:掌握Python的條件語句與循環(huán)

    Python編程語言中,條件語句和循環(huán)是構成復雜邏輯和數據處理的基石。本篇基礎教程將幫助您深入了解Python的條件語句和循環(huán)結構,讓您能夠更好地控制程序流程。 條件語句 條件語句允許程序根據
    發(fā)表于 07-03 16:13

    柵極驅動IC原廠代理供應

    柵極驅動IC 矽的柵極驅動解決方案具有全系統(tǒng)化、性能高效穩(wěn)定的產品特點,同時可為客戶有效降低方案成本, 可用于60-900V 雙NMOS柵極驅動,P+N MOS驅動和單NMOS驅動。我矽的柵極
    發(fā)表于 06-07 11:26

    CADENAS 在 2025 年金字公司聯系博覽會上取得圓滿成功

    4 月 29 日,CADENAS GmbH 又一次參加了在奧格斯堡舉辦的金字企業(yè)聯絡展。我們與約 270 家公司一起,在奧格斯堡展廳向 3500 多名參觀者展示了自己。 CADENAS 現場直播
    發(fā)表于 06-04 14:32

    柵極驅動IC原廠代理供應

    柵極驅動IC 矽的柵極驅動解決方案具有全系統(tǒng)化、性能高效穩(wěn)定的產品特點,同時可為客戶有效降低方案成本, 可用于60-900V 雙NMOS柵極驅動,P+N MOS驅動和單NMOS驅動。我矽的柵極
    發(fā)表于 05-30 15:20

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    在這篇文章,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運行一個簡單的Python程序。什么是
    的頭像 發(fā)表于 03-25 09:27 ?1560次閱讀
    零基礎入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b>程序?

    Python在嵌入式系統(tǒng)的應用場景

    你想把你的職業(yè)生涯提升到一個新的水平?Python在嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開發(fā)更多地依賴于C和C++語言,Python的優(yōu)勢在于其簡潔的語法、豐富的庫和快速的開發(fā)周期,這使得它在某些嵌入式場景中非常有用,以下是
    的頭像 發(fā)表于 03-19 14:10 ?1220次閱讀

    如何將python文件導入到ROS系統(tǒng)

    本文通過使用myCobot機械臂進行QR碼視覺追蹤的實踐案例分析,介紹如何將 python 文件導入到 ROS 系統(tǒng)。
    的頭像 發(fā)表于 02-11 11:08 ?1228次閱讀
    如何將<b class='flag-5'>python</b>文件導入到ROS系統(tǒng)<b class='flag-5'>中</b>

    使用Python實現xgboost教程

    裝: bash復制代碼conda install -c conda-forge xgboost 2. 導入必要的庫 在你的Python腳本或Jupyter Notebook,導入必要的庫: python復制代碼 import
    的頭像 發(fā)表于 01-19 11:21 ?2246次閱讀

    電子擬為小米、OPPO代工智能手機

    。 據悉,電子已經深刻認識到,要想在EMS生態(tài)系統(tǒng)躋身頂級參與者之列,必須專注于擴大生產規(guī)模。因此,該公司正積極尋求與全球知名的智能手機品牌合作,以提升自身的生產能力和市場份額。 值得注意的是,
    的頭像 發(fā)表于 01-16 14:46 ?1196次閱讀

    談談PCB工程師金字分級標準

    印刷電路板(PCB)工程師是電子行業(yè)至關重要的角色,他們的工作直接關系到電子產品的質量和性能。為了明確不同PCB工程師的技能水平和職責范圍,行業(yè)內形成了金字分級標準。下面將談談這個金字的分級標準。
    的頭像 發(fā)表于 12-25 10:02 ?1567次閱讀