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

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

我們的堡壘將占據(jù)四個(gè)正方形,因此我們將堡壘位置的左上角正方形設(shè)為2,其他三個(gè)正方形設(shè)為3。這將阻止玩家在堡壘上筑墻。我們使用on_mouse_move()函數(shù)跟蹤鼠標(biāo)的移動(dòng),當(dāng)我們獲得鼠標(biāo)x和y坐標(biāo)時(shí),我們?cè)阪i定到不可見(jiàn)網(wǎng)格的鼠標(biāo)指針下繪制一段墻。當(dāng)我們得到一個(gè)on_mouse_down()事件時(shí),我們檢查所經(jīng)過(guò)的正方形是否為0,如果為0,我們將其轉(zhuǎn)換為1。

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

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

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

在示例的第二部分,我們將檢測(cè)堡壘是否被墻包圍。有多種方法可以做到這一點(diǎn),但我們將使用“flood fill”例程來(lái)測(cè)試這一點(diǎn)。首先,我們制作一份網(wǎng)格列表的副本以進(jìn)行測(cè)試。然后,從網(wǎng)格上的堡壘位置開(kāi)始,我們遞歸地測(cè)試所有相鄰的正方形。如果我們碰到了一堵墻,那么我們就關(guān)閉了回路的分支。這就產(chǎn)生了一系列向外延伸的測(cè)試,直到到達(dá)地圖的一側(cè),或者因?yàn)樗械拇a分支都碰到了墻,所以我們沒(méi)有正方形來(lái)測(cè)試。如果到達(dá)地圖的邊緣,墻上就會(huì)有洞;否則,堡壘將被封閉。

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

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

這是Mark的塔防游戲開(kāi)始代碼。要在系統(tǒng)上運(yùn)行它,首先需要安裝PygameZero。完整說(shuō)明可在此處(http://wfmag.cc/pgzero)找到。有關(guān)完整代碼,請(qǐng)?jiān)L問(wèn)我們的github(http://wfmag.cc/wfmag70)。

獲取Wireframe#70

您可以在Wireframe第70期中閱讀更多類似的功能(https://www.raspberrypi.com/news/tag/wireframe/),可直接從Raspberry Pi Press(http://wfmag.cc/issues)獲得,我們?cè)谌蚍秶鷥?nèi)提供。

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

大結(jié)局:Wireframe#70,現(xiàn)已上市。

如果你喜歡數(shù)字形式的雜志,你也可以下載Wireframe第70期的免費(fèi)PDF?。╤ttp://wfmag.cc/70)


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    1039

    瀏覽量

    56962
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4876

    瀏覽量

    90013

原文標(biāo)題:Python中的塔防墻建筑|Wireframe#70

文章出處:【微信號(hào):Arm軟件開(kāi)發(fā)者,微信公眾號(hào):Arm軟件開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    純視覺(jué)自動(dòng)駕駛能識(shí)別出高透明玻璃嗎?

    ,還是想申明下,在常規(guī)駕駛場(chǎng)景下,車輛前方出現(xiàn)高透明玻璃的可能性微乎其微,若遇到真的屬于罕見(jiàn)的邊緣場(chǎng)景了,今天聊的內(nèi)容僅從技術(shù)方向上分析下純視覺(jué)自動(dòng)駕駛識(shí)別高透明玻璃的可能性。 其實(shí)在城市建筑設(shè)計(jì)
    的頭像 發(fā)表于 02-18 08:49 ?1.1w次閱讀
    純視覺(jué)自動(dòng)駕駛能識(shí)別出高透明玻璃<b class='flag-5'>墻</b>嗎?

    麥斯MEMS振蕩器賦能精密關(guān)節(jié)控制

    麥斯微電子MEMS振蕩器以全硅結(jié)構(gòu)、>70g抗振性及-40℃~125℃寬溫特性,解決機(jī)器人關(guān)節(jié)驅(qū)動(dòng)時(shí)鐘易受振動(dòng)與溫漂干擾的難題,為工業(yè)機(jī)器人、協(xié)作機(jī)器人等提供高可靠、低抖動(dòng)的精準(zhǔn)時(shí)序基準(zhǔn)。
    的頭像 發(fā)表于 01-30 09:53 ?222次閱讀
    麥斯<b class='flag-5'>塔</b>MEMS振蕩器賦能精密關(guān)節(jié)控制

    從盜防到隱患預(yù)警:電纜終端場(chǎng)視頻監(jiān)控系統(tǒng),給電纜終端塔上“全維度保險(xiǎn)”

    近年隨著電力設(shè)備材料價(jià)值攀升,電纜終端等大型電力設(shè)施逐漸成為盜竊、蓄意破壞的目標(biāo),作案手段愈發(fā)專業(yè)隱蔽,傳統(tǒng)人工巡檢已難以覆蓋“分散點(diǎn)位、復(fù)雜環(huán)境”的安需求。在此背景下,鼎信智慧科技推出的電纜
    的頭像 發(fā)表于 01-13 18:27 ?48次閱讀

    廠礦避雷防雷接地系統(tǒng)設(shè)置綜合應(yīng)用方案

    一、廠礦避雷的設(shè)置要求 廠礦避雷通常是高處避雷設(shè)施的重要組成部分,主要用于保護(hù)廠區(qū)內(nèi)的建筑物、設(shè)備及人員免受雷電災(zāi)害的影響。根據(jù)廠礦的特定需求,避雷的設(shè)置需要考慮以下幾個(gè)方面:
    的頭像 發(fā)表于 01-06 10:12 ?207次閱讀
    廠礦避雷<b class='flag-5'>塔</b>防雷接地系統(tǒng)設(shè)置綜合應(yīng)用方案

    機(jī)場(chǎng) | CET電技術(shù)助力山東濟(jì)南遙國(guó)際機(jī)場(chǎng)二期改擴(kuò)建工程智能配電監(jiān)控系統(tǒng)建設(shè)

    山東濟(jì)南遙國(guó)際機(jī)場(chǎng)二期改擴(kuò)建工程主要包括新建T2航站樓,建筑面積約60萬(wàn)㎡,綜合交通中心及停車樓,建筑面積39萬(wàn)㎡,是山東民航史上規(guī)模和投入最大的機(jī)場(chǎng)建設(shè)項(xiàng)目。CET電技術(shù)助力機(jī)場(chǎng)
    的頭像 發(fā)表于 01-05 11:29 ?368次閱讀
    機(jī)場(chǎng) | CET<b class='flag-5'>中</b>電技術(shù)助力山東濟(jì)南遙<b class='flag-5'>墻</b>國(guó)際機(jī)場(chǎng)二期改擴(kuò)建工程智能配電監(jiān)控系統(tǒng)建設(shè)

    RK開(kāi)發(fā)者大會(huì)照片全解析:70?家方案商生態(tài)圖譜

    后臺(tái)被問(wèn)爆的?RK?開(kāi)發(fā)者大會(huì)照片,終于整理出完整版!70?家參展方案商逐一解析,不管你是找板卡的開(kāi)發(fā)者、找落地方案的市場(chǎng)人,還是找供應(yīng)商的采購(gòu),這份攻略都能直接?“對(duì)號(hào)入座”。 (劃重點(diǎn):這只
    的頭像 發(fā)表于 12-15 07:05 ?769次閱讀
    RK開(kāi)發(fā)者大會(huì)照片<b class='flag-5'>墻</b>全解析:<b class='flag-5'>70</b>?家方案商生態(tài)圖譜

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

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

    Termux調(diào)試圣誕樹(shù)Python代碼

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

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

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

    麥斯MST1602賦能工業(yè)物聯(lián)網(wǎng)關(guān)5ns同步精度

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

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

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

    柵極驅(qū)動(dòng)IC原廠代理供應(yīng)

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

    CADENAS 在 2025 年金字公司聯(lián)系博覽會(huì)上取得圓滿成功

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

    柵極驅(qū)動(dòng)IC原廠代理供應(yīng)

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

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

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