• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于C#.NET的坦克大戰(zhàn)游戲的設計與實現(xiàn)

      2011-05-12 08:31:10霍家亮
      中國新技術新產(chǎn)品 2011年23期
      關鍵詞:己方子彈射擊

      霍家亮 劉 博

      (青島理工大學琴島學院計算機工程系,山東 青島 266106)

      1 項目背景

      任天堂FC上的坦克大戰(zhàn)是游戲史上的經(jīng)典游戲,隨著時代的發(fā)展,硬件水平的不斷提高,人們對于娛樂的要求逐漸提高,F(xiàn)C等上個世紀80年代出現(xiàn)的游戲機早已不能滿足人們對于娛樂的需求。

      在學習.NET的過程中,隨著對于.NET開發(fā)工具Visual Studio 2008的深入了解以及.NET開發(fā)技術、開發(fā)規(guī)范的不斷認識,萌生了將FC上的經(jīng)典游戲--坦克大戰(zhàn)在電腦上重現(xiàn)并加以改進的想法,這就是本項目開發(fā)背景。

      2 任務概要

      瘋狂坦克是一個基于.NET平臺的Windows Forms小型應用程序,使用C#語言編寫,要求能夠實現(xiàn)畫布的生成,坦克的生成,敵我識別,我方坦克移動,敵方AI坦克移動,坦克的越界處理,坦克射擊功能,子彈與坦克的碰撞檢測,坦克護甲系統(tǒng),墻體系統(tǒng)等;另外還要求能夠在游戲過程中顯示游戲的實時信息、畫布上子彈總數(shù)、殘存物體總數(shù)、擊毀坦克數(shù),來作為游戲水平的檢測;在游戲中還能夠隨即產(chǎn)生AI坦克以及墻體。

      3 項目分析

      (1)模塊劃分:

      瘋狂坦克游戲按照功能劃分為兩個模塊:游戲元素和游戲處理。其中,游戲元素是游戲中的裝備,主要包括了:繪制坦克、繪制墻體、繪制子彈;游戲處理完成游戲的各種操作,主要包括:子彈命中、坦克護甲、坦克移除,如圖3-1所示:

      圖3-1 游戲模塊圖

      (2)業(yè)務流程:

      游戲的工作流程:初始化生成游戲,繪制坦克、墻體,完成坦克移動、射擊,根據(jù)子彈碰撞的情況,判斷目標是否命中,如果坦克被命中,那么坦克將被銷毀;然后,游戲結束,簡單描述如下:

      <1>當程序開始運行的時候,首先生成一個窗體,然后創(chuàng)建一個容器,用來容納游戲中的元素。

      <2>容器創(chuàng)建完成后,開始繪制敵方坦克和己方坦克以及墻體。

      <3>繪制完成后,敵方坦克按照AI開始移動,并開始射擊,射擊時根據(jù)坦克的方向繪制子彈。己方坦克根據(jù)鍵盤按鍵進行移動,若按下ctrl鍵則己方坦克開始射擊。如果子彈命中目標,如果目標擁有護甲,則目標減去一層護甲,如果目標已經(jīng)沒有護甲,則目標被消滅,從容器中移除它。墻體和坦克一樣,也擁有護甲值,但和坦克不同的是,墻體不能移動。當消滅一定數(shù)量的坦克或者墻體后,游戲會自動添加一定數(shù)量的坦克或者墻體,從而增加游戲難度。

      <4>當己方坦克被消滅時,游戲結束。

      (3)運行環(huán)境:

      操作系統(tǒng):選擇win7或者indows xp

      運行框架:.Net framework3.0

      4 項目實現(xiàn)

      根據(jù)模塊功能,創(chuàng)建游戲運行界面,包含坦克、子彈、墻等游戲元素的繪制和重畫;構建類庫,包含游戲實現(xiàn)的主要方法,完成游戲的操作;創(chuàng)建配置文件,主要包括游戲元素的初始化信息,如:坐標信息。下面是游戲部分功能的實現(xiàn)方法:

      (1)坦克的生成方法,部分代碼如下:

      (2)坦克繪制以及坦克裝甲繪制,部分代碼如下:

      (3)坦克的移動及射擊,用random.Next()控制坦克的隨機運動,用next值表示對應的方向,用random.Next()控制坦克的隨機發(fā)射炮彈,部分代碼如下:

      (4)子彈與坦克的碰撞檢測方法,用Intersects With來檢測兩個矩形相碰撞。碰撞后,依次檢視是否為墻、是否無效子彈、是否有護甲,主要代碼如下:

      結束語

      本文采用C#語言實現(xiàn)了游戲的全部功能,在單機和局域網(wǎng)上測試通過,并改進了部分功能,游戲占內存比較小,運行比較流暢、沒有出現(xiàn)死機或者其它問題。

      [1]于國防.李劍.C#語言Windows程序設計[M],清華大學出版社,2010.5

      [2]童恒慶,梅清.基于.NET平臺的B/S系統(tǒng)開發(fā)框架的研究[J].微機發(fā)展,2004.6

      [3]許洪明,趙金城.基于Web的重大工程項目管理信息系統(tǒng)應用研究[J].建筑技術開發(fā),2004.3

      猜你喜歡
      己方子彈射擊
      畫與理
      為什么射擊最高的成績是10.9環(huán),而不是11環(huán)
      機槍射擊十八式
      基于圖論與PageRank的要地反導己方目標重要性排序
      情緒式表達讓愛很受傷
      百姓生活(2020年7期)2020-08-24 12:51:37
      基于語料庫的日語授受表現(xiàn)的研究
      三顆子彈
      學生天地(2019年33期)2019-08-25 08:56:14
      子彈VS防彈
      Karma:讓子彈飛一會兒
      汽車觀察(2019年2期)2019-03-15 06:00:20
      子彈
      宣武区| 介休市| 鸡泽县| 潮安县| 海阳市| 彭山县| 广德县| 昌都县| 政和县| 石棉县| 栾城县| 新蔡县| 永善县| 滦南县| 靖江市| 柳江县| 大名县| 黑水县| 响水县| 宜都市| 丹寨县| 嘉峪关市| 梓潼县| 普兰县| 麟游县| 柳河县| 长宁区| 双辽市| 梅河口市| 崇明县| 龙岩市| 衡东县| 和顺县| 蚌埠市| 突泉县| 靖州| 西昌市| 柞水县| 咸宁市| 凌源市| 吉隆县|