Python實現坦克大戰 - 新聞資(zī)訊 - 雲南小程序開發|雲南軟件開發|雲南網站(zhàn)建設-西山區知普網絡科技工作室

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不管是網站(zhàn),軟件還是小程序,都要直接或間接能為您産生價值,我們在追求其視覺表現的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站(zhàn)成為營銷工具,讓軟件能切實提升企業(yè)内部管理水平和(hé)效率。優秀的程序為後期升級提供便捷的支持!

您當前位置>首頁 » 新聞資(zī)訊 » 技術(shù)分享 >

Python實現坦克大戰

發表時間:2020-10-19

發布人:葵宇科技

浏覽次數:40

Python實現坦克大年夜戰

一、媒介

前段時光,也就是國慶節。在卧室閑來無事,用pygame寫了一個(gè)小遊戲,就是标題寫的《坦克大年夜戰》。這個(gè)遊戲寫了兩個(gè)版本,第一個(gè)版本是按照書上的思惟來寫的,發明寫到後面的時刻代碼太亂了。于是我又大年夜頭開端,用比較合理的面向對象思惟從新寫了一個(gè)版本。說比較合理也執偾相符我本身的思惟,所以不免會有一些不合理的設計,程度有限,欲望各位讀者可(kě)以或許諒解一下(xià)。

二、開辟情況

我們先來看看我的開辟情況,用的器(qì)械照樣比較簡單的:

作者:Zack
時光:2020年10月(yuè)16日
集成開辟對象:pycharm 2020
開辟情況:python 3.7.9
第三方模塊:pygame

個(gè)中(zhōng)我還用了一些第三方模塊,然則在遊戲主體中(zhōng)沒有應用,所以就先不介紹了。下(xià)面我們來看看竽暌刮戲實現了些什麼功能。

三、項目介紹

3.1 項目截圖

我們主法度榜樣人口在main.py文(wén)件,在安裝好pygame模塊後就能直接運行。下(xià)面是運行截圖:

在這裡插入圖片描述

下(xià)面是槍彈擊中(zhōng)牆壁的爆炸效不雅:

在這裡插入圖片描述

下(xià)面是多個(gè)敵方坦克的效不雅圖:

在這裡插入圖片描述

我們再來看看項目标各個(gè)文(wén)件。

3.2 項目文(wén)件

下(xià)面是項目目次:

在這裡插入圖片描述

(1)resources

個(gè)中(zhōng)resources是資(zī)本文(wén)件,音頻、圖片等都在resources目次。而tools中(zhōng)供給了兩個(gè)小對象,因為隻是供小我臨時應用的,這裡不過多說清楚明了。

(2)main.py

而main.py則是項目标主人口,代碼很短(duǎn):

from tank_war import TankWar

if __name__ == '__main__':
    tankWar = TankWar()
    tankWar.run_game()

我們直接創建了TankWar的實例,然後調用run_game辦法運行遊戲。

(3)tank_war.py

tank_war.py中(zhōng)寫了我們坦克大年夜戰遊戲主體的模塊,琅绫擎的TankWar類定義了遊戲主體的一切行動(dòng)。包含初始化屏幕、初始化pygame模塊、創建敵方坦克、繪制地圖、檢測碰撞、監聽事宜等。

(4)sprites.py

在pygame中(zhōng)供給了一個(gè)sprite類用于創建有圖像的物體。而sprites中(zhōng)定義的都是sprite的子(zǐ)類,是以也都是有圖片的類。個(gè)中(zhōng)包含坦克基類、豪傑類(我方坦克)、仇敵類(敵方坦克)、槍彈類、牆類等。

而各個(gè)類中(zhōng)定義了各自的行動(dòng),例如(rú):坦渴攀類有發射槍彈的行動(dòng)、移動(dòng)的行動(dòng)、爆炸的行動(dòng)等。

(5)settings.py

settings.py中(zhōng)定義了一些設置信息,包含槍彈的數量、槍彈的速度、坦克的速度、地圖信息、圖片信息等。我們可(kě)以經由過程修改settings.py來調劑遊戲的一些設置,因為還沒有寫設置相幹的操作,所以須要修改源碼。

因為代碼比較多,這裡就不介紹代碼了。遊戲還要很多不足之處,後續會持續更新。項目已上傳GitHub,迎接各位來fork。今天就介紹到這裡了~

項目地址:https://github.com/IronSpiderMan/TankWar

pygame文(wén)檔地址:https://www.pygame.org/docs/

本文(wén)來源"大衆,"号:新建文(wén)件夾X,轉載請标明出處。

相關(guān)案例查看更多