飞行射击游戏 ——结题报告 By 罗一轲、陈夏琨.

Slides:



Advertisements
Similar presentations
1 曾老師、各位同學大家好 ! 首先自我介紹 ; 個人聯合大學電機系 畢業,服完兩年兵役後, 75 年開始就 業 ; 四年內換了幾個工作, 79 年創立貿 特科技, 90 年、 91 年分別於大陸寧波 與昆山設立特一電子與柏特電子,經 歷 20 年的工作磨鍊,今天事業上算是 穩定、成熟 ! 承蒙曾老師看重,利用一.
Advertisements

中正國中 特教組長 粘玉芳 校內分機 : /02/21. 下列條件擇一: 一、身心障礙手冊 二、特殊教育學生鑑定及就學輔導會證明.
如何科学认识风水 主讲嘉宾孙百川 揭开神秘的面纱 揭开神秘的面纱 破除迷信的枷锁 破除迷信的枷锁 还易经本来面目 还易经本来面目 学易用易不迷易 学易用易不迷易.
魏晉南北朝的胡漢融和概況. 北朝的漢胡融和 1) 北朝漢胡 融和的概 況 2) 北魏孝文 帝推行的 漢化措施 及影響 北邊民族徙居中原,由 來已久。自曹魏招用胡 兵始,沿邊胡族內徙日 繁。不少胡族君主更傾 心嚮慕漢族文化,大力 促成胡漢的融和。北魏 推行的漢化措施,影響 尤為深遠。
示範課 -- 作文立意. 重溫作文構思課  構思嘗試深化  多角度思考  宜先剖析題目, 運用聯想, 循序漸進擴大範圍, 然後歸納材料, 定訂主題  同學的作品, 反映部分能夠掌握, 主線清晰, 層 層深入, 舉例恰當  但有部分同學只有枝葉, 欠缺主線, 更無中心思 想, 反映立意不足.
幼教人員法律事件探討 ─ 幼兒教育及照顧法 姚其壯 第一章 總則〈第一條至第六條〉 第二章 幼稚園設立及其教保服務 〈第七條至第十四條〉 第三章 幼稚園組織與人員資格及權益 〈第十五條至第二十八條〉 第四章 幼稚權益保障 〈第二十九條至第三十三條〉 第五章 家長之權利與義務 〈第三十四條至第四十條〉
畫面中的兩個人要去參加金融業儲備幹部的面試 活動,你認為誰的面試穿著是正確的? V.S 動動腦 V.S 動動腦 慎重 讓人感到 尊重 輕便 讓人聯想 隨便 畫面中的兩個人要去參加金融業儲備幹部的面試 活動,你認為誰的面試穿著是正確的?
IT 服务与业务发展融合 王维航 北京华胜天成科技股份有限公司 十分钟的悲剧.
高考心理辅导  福建中医药大学  林山  高考是什么?  真有那么 “ 苦大仇深 ” ?  为什么不能是 “ 快乐挑战 ” ?  高考(事) --- 认知(怎么个事 - 压力大小) --- 情绪反应(烦躁、焦虑、害怕 VS 自信、 从容、期盼) --- 行为表现(发挥正常.
蕭文生 中正大學法律系教授兼法學院院長.  壹、前言  貳、司法院釋字第六八四號解釋  參、大學生之受教權  肆、大學自治之範疇  伍、大學生之其他基本權利  陸、救濟管道之改善  柒、結語.
提昇餐廳供餐品質 及服務滿意度 標竿學習主題 標竿學習計劃排定進度 分析客戶對餐廳供餐滿意度偏低原因:
第八課 謝 天. 第八課 謝 天 作者主旨文章作法 民國 陳之藩 謙卑感 恩,功 成不居 以「謝天」的傳統觀念 為中心,經由疑惑、思 索、領悟三個層次的敘 述,賦予新的意義 ★題目含義:表示對很多「人」的感謝。
模仿貓 記敘文 ( 童話 ) 作者: 海倫、波頓 課文朗讀課文朗讀、模仿大賽 作者 美國女畫家,她用藝術家的嚴 肅態度和精神,幫兒童讀繪畫 插圖,並得過許多次獎。她的 作品藝術價值高,有雨本成為 美國美術協會兒童讀物展覽的 入選作品。她常常自寫自畫, 文筆很不錯。
蔬菜大觀園 V.S 大家來種菜 蔬菜的外觀及分類  蔬菜是我們常吃的食物,蔬菜的外觀形狀不 同,有各種不同的顏色、形狀、氣味等,嚐 起來的味道也不相同。  蔬菜的營養價值不盡相同,可實用的部位也 不同,有的是根、有的是莖、有的是葉、有 的是花、有的是果實,還有的是種子。  依據蔬菜種類和食用部位的不同,可以將蔬.
社工之路的通行證 --- 社工師證照 考試心得分享 東吳大學社工系碩一 呂錦綸. 一、考前準備 閱讀主流老師的書籍、掌握各科概要。 閱讀主流老師的書籍、掌握各科概要。 重視概念性的知識,打好基礎是很重要低 ~ 重視概念性的知識,打好基礎是很重要低 ~ 是必備讀物 ! 是必備讀物 ! 勤作考古題,參考當年度碩士班考試及高.
政府的权力:依法行使. 政府的权力:依法行使 重庆“最牛钉子户”事件 九龙坡区法院一名张院长称,法院已组织6次调解,有时1天就有2次调解。3月28日下午,九龙坡区委书记郑洪还专门接待吴苹3小时。1日,在法院组织下,拆迁双方基本达成口头协议,今天下午,双方签字生效。按协议,吴苹选择了异地实物安置方案,开发商将其在沙坪坝开发的一处门面房,按同样面积交付吴苹,吴同意此方案.
第八課 馮諼客孟嘗君 謀職達人 來也.
职业指导服务系统 欢迎了解职业指导服务系统!
心理学辅导.
蔬菜大觀園V.S大家來種菜 高雄市楠梓區翠屏國中小教師 林珮如
“腸”保安康 現代人的腸胃保健.
第 1 章 公共基础知识 第 2 章 Visual Basic程序开发环境 第 3 章 对象及其操作 第 4 章 数据类型及其运算
那一段「詩聲戀」的日子 孟令今老師.
獨立國家國協 1.地形 2.氣候 3.產業.
綜合活動領域 教學分享.
國小學童財金生活教育 主講人: 秘書長陳琬惠 社團法人中華民國財金智慧教育推廣協會.
诚信人生 ---高二(2)班主题班会.
兩岸融合教育之議題: 以東莞台商子弟學校為例
航向未來 飛揚國際 —關於華航與長榮的財務報表 指導老師: 組員:張甄芸 4A 鄭雅華 4A070079
世界史.
面对苦难 (约翰福音15:18-16:4) 2/22/15 我们不属世界,神从这世界中拣选了我们,却没有为我们另设一处“世外桃源”,乃是让我们住在地上,以他的信实为粮,以他的生命为光。既然在这被罪玷污的世界中,就会有苦难仇恨,然而它们不能打倒我们,因为它们 无目的 无缘故 无胜算 在世上我们虽有苦难,也可以放心,因为耶稣已经胜了世界。
《少年小樹之歌》簡介: 凡是讀過這本書的人 一定永遠忘不了他們是在何年何月何地 還有為什麼買下它的 小樹的讀者們將永遠記得
   時間 國立臺南師範學院數學教育系     謝  堅.
如果你没法阻止战争,那你就把战争的真相告诉世界
程焕文 中山大学资讯管理学院 2015年10月17日 山东·临沂
102學年度第二學期 208家長座談會 歐陽美慧.
小綠葉蟬的『祕蜜』~ 蜜香烏龍茶.
個人投資理財與策略 富蘭克林:邱良弼.
第六章 中国公务员制度 干部 VS 公务员.
穿越迷雾,读懂全球化经济本质 谈美国次贷危机与人民币升值问题.
教育部 試辦中小學 教師專業發展評鑑基本概念 台中教育大學 徐照麗.
大陸教育基本現況認識 楊景堯 淡江大學中國大陸研究所.
第三章 魏晉南北朝的分合.
移民與文化--鄉愁的想像 王婉甄.
性別平權.
青龙偃月刀 韩少功. 青龙偃月刀 韩少功 走近作者 韩少功,湖南长沙人。1985年倡导“寻根文学”的主将。1996年出版的长篇小说《马桥词典》。比较著名的有《爸爸爸》、《女女女》等。
2008年3月8日 順德聯誼總會何日東小學上午及下午校
彰化基督教醫院 健康檢查科 / 家庭醫學科 吳美鳳醫師
經濟系 在學什麼專業? 經濟學是一門研究人類經濟行為的社會科學 為什麼鑽石會比水貴? 為什麼台灣中央銀行不多印一點台幣, 以增加大家的財富?
葉金源臨床心理師 台南市臨床心理師公會理事長 台南市社區大學生命與健康學程講師 台南縣家庭教育中心審查委員 台南地方法院家事調解委員
公文寫作及實務.
厌讼与好讼:明清诉讼文化面面观 廖华生 江西师范大学历史文化与旅游学院.
解读社会保险.
講題:『你不可不知的禱告』 經文:舊約詩篇90篇 陳文惠傳道
二、狂狷与旷达 潇湘水云.
青少年憂鬱症 資料來源: 臺北e大「聆聽憂鬱的心~談憂鬱症」/劉宗憲醫師 台南市憂鬱症關懷協會談青少年憂鬱症/陳信昭醫師
考績制度改革的政策分析 政治大學公共行政學系 博士生 簡鈺珒.
(以「背影」象徵父愛。 紙船印象:母愛, 作者洪醒夫 負荷:父愛, 作者,吳晟) 第 三 課 背 影 文體:抒情文 朱自清.
中國大陸民辦大學發展現況 楊景堯 淡江大學中國大陸研究所.
莊子思想 vs. 存在主義 M111甲孝 陳昕慧  指導老師:李開濟教授.
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
普通话模拟测试 与学习平台 使用指南.
網路小說劇情建構與伏線營造 Windows98.
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
VS.
湖北职院计科系.
電子郵件安全:如何防範社交工程郵件 圖書資訊服務處 元智大學.
(若使用IE瀏覽,請選擇功能表的「瀏覽」「全螢幕」
Presentation transcript:

飞行射击游戏 ——结题报告 By 罗一轲、陈夏琨

一、程序目标 编写一个飞行射击游戏,飞行射击游戏结合了“射击”和“闪避”两大射击游戏的要素,玩家要“在敌人放出的大量子弹(弹幕)的细小空隙间闪避”,能给玩家闪避弹幕的时候的快感。

二 实现方案 编译条件:VS2013建立的WIN32应用窗体 1.可视化界面 运用MFC,调用Windows API来实现系统的可视化,编写帧函数并设定具体的一帧时间,所有的变化均以帧为单位进行。

2.对飞机的操作响应 运用keydown keypress keyup来对键盘上输入的按键信息进行对应的响应,以操控己方飞机达到对应的状态。 3.敌机设定 对于小型敌机,运用rand 以及switch函数规定的时间间隔下过一段时间随机创建一种敌机队列,敌机队列存在着与队列形式的运动轨迹以及攻击方式 对于大型敌机,隔一段时间创建一个敌机单体,只要该单体存在,每隔一段时间就会随机发动一次该单体专属的攻击模式,比如散弹型弹幕,圆圈状弹幕等。

三 具体实现 1.编写精灵类,作为敌我方飞机和敌我方子弹共同的基类,具有判定是否出界的IsVisible()、 渲染函数FrameRender()(用于时时更新图像)、 帧刷新函数FrameUpdate()(用于时时更新物体位置)这些实现动态运行的最基础的函数,超出游戏边界则删除精灵。 精灵类对象创建时组建成列表,并且精灵类具有纯虚的更新函数,使得精灵类的更新函数调用可以顺着链表依次传递

2.编写用于绘图及渲染的PICTURE类。LoadBitmap()、FreeBitmap()用于加载图像和释放内存,DrawBitmap()用于图像的实时更新,TransparentBitmap()用于使本来带有背景的图像以透明的背景显示在游戏的场景中。 3.编写bullet类,其中render()和update()是最重要的函数。二者都继承自Sprite(精灵)类,前者实现了图像的实时更新,后者实现了子弹的移动以及子弹与我方飞机的碰撞判定。

4.编写GAME CONTROL类,用于对按键进行响应的核心类,起到了main函数的功能,内涵SetWndDC ()、 StartGame() 、 UpdateScence() ,并且通过KeyDowm()、KeyUp()实现了两种不同的对键盘输入的响应。

5.编写自机的具现Principalplane类。 其中火力与生命均以数组方式加载显示, 设置了攻击频率m_fBulletFrequency、 无敌时间m_fInvincibletime参数;无敌状m_bUnDead、 开火m_bFire等状态。 其中的upDate()函数实现了与敌机、敌方子弹、资源碰撞的判定。

6、设计了EnemyPlane类,CreateEnemy()和AttackMode()中分别实现了多种子弹和攻击模式,upDate()中对各种敌机进行了个性化的设置。 7.编写 EXPLOSION类定义了爆炸,包括子弹爆炸和敌机爆炸2种爆炸模式。

8、编写子弹类,派生出敌方子弹和我方子弹类,其中重点实现了一定的追踪功能。 9、参考windows编程教材的实例学习了windows程序的必要格式,并改写出AircraftGame类

四、实现的功能 1、实现了五种不同类型的敌机,五种不同类型,不同发射及飞行方式的敌机子弹,以及三种不同飞行方式的我方子弹; 2、在操作模式上除上下左右外还增加了左上、左下、右上、右下四种飞行方式;

3、实现了以导弹形式射出的大招,对全屏敌机进行攻击; 4、添加了资源类,敌方飞机爆炸后会掉落资源,捡取红色资源可艺体生己方火力,捡取蓝色资源满一百可增加一次生命; 5、实现了敌方和我方两种不同类型的具有一定追踪能力的子弹;

运行截图

六、一些体会 经过两个月的时间、通过对这样一个游戏的研究和实践,我们对面向对象的开发有了一个完整的概念。课本上的C++范例实现的只是简单的Console程序,图形界面是怎么实现的?游戏中玩家与电脑实时的信息交互又是怎样实现的?两个月前的我们对此几乎一无所知。这两个月对游戏编写以及软件开发方面的入门式的研究让我们接触到了现代软件的开发环境、思路以及方法。

越是深入的学习编程,越是感叹C++强大的功能和无处不在的应用。C++是最值得学好学透的语言!Qt的信号与槽机制和元对象机制进一步发展了C++。Qt是当下应用最广泛的开发平台之一,而Qt对C++的发展已成为公认的经典不断被继承和发展。无论Qt或是基于图形界面的软件开发在将来是还是不是主流,C++都将一直发展下去,成为所有语言和开发思路共同的参考。因此C++是初学者通向程序编写这一世界最好的钥匙!

现在想来真是庆幸四个月前的选择。我们在上这门课以前都没有任何编程的基础,在选这门课之前也是犹豫再三的。但现在呢,我们感觉到自己已经窥探到了宏伟冰山的一角。我们现在以一种期盼而不是敬仰的目光来看待编程这个领域,因为我们已经对他有所了解,因为我们已经拥有了进入这个世界的资格——C++,以及一次实践的经验——我们期待着即将展开的对他的进一步的探索。

再来谈点对当代编程的感受。计算机的功能是如此的强大而我们的语言是如此的贫乏以至于如果仅仅用现有的语言从逻辑上去描述功能会大大限制计算机能力的施展。也因此,现在的开发语言很多都是定义出来而不是写出来的,也就是说,要实现某一个功能就新增几句语言(函数)而不是靠现有的语言去表述。在这个过程中,编程专家起到了至关重要的作用。他们编写底层代码,然后底层代码经过漂亮的封装,被提供给应用程序的编写人员。

现代的程序员把更多的精力投入到对定义函数的巧妙运用上。但早在MFC称霸之前,就有专家指出封装对程序开发者的创新能力有极大的限制作用。这个道理不言自明,但是现代的软件越来越复杂以至于就算是一个从硬件一直精通到图形界面的全能专家也不能(也不应)凭一己之力开发出来。利用其它专家的劳动成果是不可或缺的。在追求分工协作和保留研究和创新能力之间产生了矛盾。不过这种矛盾是必然的,这在工业的许多其它领域已经被无数次的验证过了。

不过应该还是有方法协调这二者的关系的。不必要事事躬亲,但一定要纵观全局,把握思想、理解本质。编程一路发展过来,是有规律可循的。现在的MFC虽然已淡出编程界,但其中的许多思想仍然在被继承和发展。这说明,有一些智慧是永恒的,这些智慧或许是拥有创造力的前提。那从这个角度看问题,对学习编程本身有什么启发呢?当下的必不可少,但对编程界这一路走来许许多多曾经统治一时的方法的研究也是有意义的。于是虽然大家普遍在用Qt,我们还是决定用MFC编写这一个游戏,也算是借此机会一窥十几年前的思想的精髓,这或许会对学习当下的语言有不小的启发。