《Windows高级编程》教学大纲
编写人:(易小波)
审核人:(两人以上)
一、本大纲适用专业
本大纲适用于计算机科学与技术本科专业。
二、编写本教学大纲的说明
(一)课程类别与教学任务
本课程是计算机科学与技术专业选修课,通过本课程的学习,向学生全面介绍C++高级程序设计技术。本课程是VC++程序设计的提高篇,主要教授VC++中游戏设计的DirectX技术。通过对DircectX的系统介绍与学习,学生可以掌握在VC中进行高级的程序开发,以满足学生走向社会实际的工作需求。。
(二)本课程的基本要求
1.通过本课程的学习,学习利用VC++平台和DirectX SDK包开发游戏的基本概念和方法,深入了解Windows编程机制内幕,提高学生开发程序的能力;
2.能熟练地编制和调试VC++程序,具备用VC设计简单游戏的能力。
(三)本课程的重点和难点
1.Windows编程原理,基于API的Windows程序设计,基于MFC的程序设计;
2.Visual C++基本绘图技巧,利用GDI类和CDC类进行图形的绘制;
3.动画与物理动作的设计;
4.Visual C++中消息循环、消息映射机制;
5.人工智能在游戏设计中的应用;
6.Directx的各种组件的使用,利用Directx SDK包开发游戏的方法;
7.2D斜角游戏斜角大地图的拼凑,人物、障碍物贴图。
(四)本课程与其他相关课程的联系和后续课程
先修课程:《数据结构》、《面向对象C++程序设计》、《MFC程序设计》
(五)学时、学时分配安排
本课程理论课时为36课时,课外通过开放式机房提供相应的实践18课时;具体学时安排见教学内容。
(六)本课程的教学方式及其它教学环节的安排
本课程采用通常的课堂教学方式,并注重理论与实践相结合的方法,即以教师的课堂教授为主,同时辅以学生课外实践,培养与提高学生对本学科的兴趣和研究能力。
三、教学基本内容和学时分配
第1章 开始设计游戏及MFC基础知识及应用(补充知识)(2课时)
1. 了解电脑游戏开发的一般知识;
2. 了解MFC的结构;
3. 会读懂MFC程序;
4. 构建游戏窗口;
第2章 Visual C++基本绘图技巧(2课时)
1. 掌握用MFC来开发普通的应用程序;
2. 掌握MFC里绘图的类的使用。
第3章 动画的制作(2课时)
1. 掌握动画显示的几种关键技术的实现;
2. 学会在Visual C++中使用定时器来控制动画的显示;
3. 掌握游戏背景的卷动的实现。
第4章 物理动作设计(2课时)
1. 掌握主要的物体的移动、粒子及物体间的碰撞的程序实现;
2. 常用的加速显示的方式方法。
第5章 管理程序中的消息(2课时)
1. 熟悉管理WINDOWS程序中的常用的消息;
2. 熟练掌握在应用程序中对键盘、鼠标的事件的响应及控制。
第6章 剖析人工智能(2课时)
1. 掌握移动型人工智能的特点及游戏程序实现技术;
2. 掌握行为型人工智能的特点及游戏程序实现技术;
3. 了解策略型人工智能的特点及游戏程序实现技术。
第7章 进入3D世界(6课时)
1. 理解和掌握WIDNOWS游戏程序设计中利用DirectX开发游戏的基本方法;
2. 掌握DirectX中几种常用的类(结构)的方法和属性,掌握常用类的应用;
3. 使用DirectX技术绘制基本的几何图形;
4. 掌握灯光及材质贴图的程序实现;
5. 掌握“.X”模型读取及其显示技术。
第8章 使用Direct Draw(2课时)
1. 掌握DirectDraw绘图页的基本应用;
2. 掌握DirectDraw应用程序的创建技术;
3. 了解DirectDraw动画实现方法。
第9章 使用DirectSound(2课时)
1. 掌握DirectSound的声音的播放与控制方法;
2. 掌握DirectSound应用程序的创建技术;
第10章 使用DirectInput(2课时)
1. 掌握DirectInput技术的程序实现;
2. 使用DirectInput技术实现对键盘与鼠标的控制输入;
第11章 使用DirectPlay和DirectShow(4课时)
1. 了解DirectPlay的网络拓扑及网络联机游戏的组成方法;
2. 了解DirectPlay的使用方法;
3. 掌握DirectShow的架构及使用;
4. 使用DirectShow来播放多媒体文件。
第12章 游戏制作集锦(4课时)
1. 了解介绍的几种主流游戏的实现技术;
2. 掌握游戏程序中的关键技术及技巧。
第13章 游戏专题—2D斜角游戏(4课时)
1. 熟悉斜角游戏的制作方法;
2. 熟悉无穷背景横向卷动的制作方法;
3. 熟悉障碍物贴图的制作方法
4. 熟悉人物贴图的制作方法
5. 熟悉排序贴图(前后)的制作方法
6. 熟悉障碍物判断的方法软件
四、教材及参考书目
(一)使用教材
荣钦科技编著,《VC++ 游戏设计 DirectX篇》,北京科海电子出版社,2003年.
(二)参考书目
1 王华等《Visual C++ 6.0 编程实例与技巧》,机械工业出版社,2000年.
2 Namir Clement Shammas 《Using Visual C++》清华大学出版社,1997年
《Windows高级编程》考试大纲
编写人:(易小波)
审核人:(两人以上)
一、考试对象
修完该课程所规定内容的计算机科学与技术专业本科学生。
二、考试目的
本课程的目的是使学生掌握一门高级程序设计语言,了解面向对象程序设计的基本概念与方法,进而学会利用C++语言解决一般应用问题。
第1章 开始设计游戏
考试内容:游戏设计的背景及基础知识。
考试要求:
1、 了解电脑游戏开发的一般知识;
2、 了解MFC的结构。
第2章 Visual C++基本绘图技巧
考试内容:MFC的CDC类、GDI类;VC++中文字、图形的绘制;位图的加载和显示;镂空、透明图绘制技巧。
考试要求:
1、 掌握MFC的CDC类和GDI类的操作;
2、 运用相关知识实现VC++中简单图形的绘制;
3、 了解镂空、透明等特殊效果制作的方法。
第3章 动画的制作
考试内容: VC++中定时器的使用;回调函数;特殊动画效果的实现;背景卷动。
考试要求:
1、 掌握动画显示的几种关键技术的实现;
2、 运用Visual C++的定时器来控制动画的显示。
第4章 物理动作设计
考试内容: 物理动作的模拟;物体间碰撞检测的方法;粒子效果的实现。
考试要求:
1、 掌握物体运动的实现;
2、 运用物体碰撞检测的原理进行碰撞检测;
3、 了解粒子效果实现的方法。
第5章 管理程序中的消息
考试内容: Windows的消息处理机制;消息处理函数的设计;键盘、鼠标消息的响应。
考试要求:
1、 了解Windows的消息处理机制;
2、 掌握在应用程序中对键盘事件的响应及控制;
3、 掌握在应用程序中对鼠标事件的响应及控制。
第6章 剖析人工智能
考试内容: AI的概念;游戏设计中三种AI的原理;走迷宫、五子棋的游戏程序设计实现。
考试要求:
1、 了解追逐和躲避,最佳路径的查找原理;
2、 掌握计算机的决策方式;
3、 掌握五子棋的游戏程序设计实现。
第七章 进入3D世界
考试内容:利用DirectX SDK包开发游戏的基本方法;D3D的实现步骤;游戏3D世界中的一些基本概念。
考试要求:
1、 了解DirectX的特点;
2、 运用相关原理实现灯光和材质贴图程序;
3、 掌握“.X”模型读取及其显示技术。
第8章 使用Direct Draw
考试内容:Direct Draw的一些基本概念;Direct Draw程序开发的步骤;Direct Draw动画制作的方法。
考试要求:
1、 掌握DirectDraw绘图页的基本应用;
2、 掌握DirectDraw应用程序的创建技术;
3、 了解DirectDraw动画实现方法。
第9章 使用DirectSound
考试内容:游戏中声音文件加载、播放的步骤;使用DirectSound进行程序开发;3D音效的概念。
考试要求:
1、 掌握DirectSound的声音的播放与控制方法;
2、 掌握DirectSound应用程序的创建技术。
第10章 使用DirectInput
考试内容:DirectInput程序设计的原理和实现;三种输入设备的控制方法的比较。
考试要求:
1. 掌握DirectInput技术的程序实现;
2. 运用DirectInput技术实现对键盘与鼠标的控制输入。
第11章 使用DirectPlay和DirectShow
考试内容:利用DirectPlay实现网络互连;DirectShow的架构;利用DirectShow播放媒体文件的方法。
考试要求:
1. 了解DirectPlay的网络拓扑及网络联机游戏的组成方法;
2. 了解DirectPlay的使用方法;
3. 掌握DirectShow的架构及使用;
4. 运用DirectShow原理来播放多媒体文件。
第12章 游戏制作集锦
考试内容: 在游戏中各种DirextX组件配合使用的方法。
考试要求:
1. 了解介绍的几种主流游戏的实现技术;
2. 掌握游戏程序中的关键技术及技巧。
第13章 游戏专题—2D斜角游戏
考试内容:2D游戏中各种技巧的使用和实现;无穷背景卷动的实现;斜角地图贴图的实现;地图索引;人物、障碍物贴图的实现方法。
考试要求:
1. 掌握斜角游戏的制作方法;
2. 运用无穷背景横向卷动原理制作无穷横向卷动背景;
3. 掌握障碍物贴图的制作方法;
4. 掌握人物贴图的制作方法;
5. 了解排序贴图(前后)的制作方法;
6. 了解障碍物判断的方法。
四、考试的方法和考试时间
a) 为了明确对考核内容的要求,本考试大纲把考试要求大体上分为三个层次:“掌握”、“了解”、“运用”。
(1)“了解”是指:能知道有关概念、知识的意义,并能正确认知和表述。
(2)“掌握”是指:在了解的基础上能全面把握基本概念、基本原理,能领会有关概念和原理的区别与内在联系。
(3)“运用”是指:在掌握的基础上能运用基本概念、基本原理分析和解决有关理论及实际问题。
b) 笔试为主,实验考核为辅。
c) 考试时间为120分钟
五、评价标准
学生修完本课程并参加期末考试后,其成绩的评定为:期末考试成绩(60%)+平时成绩(10%),其中期末考试成绩按统一的评分标准阅卷评定,平时成绩包括作业、期中考试成绩、课堂提问和上机实验等。
六、试卷设计的结构
a) 内容比例
难度登记:试题难度等级分为简单、中等难度、较难题三个等级,大致比例为40:45:15
b) 题型比例
客观题分为填空题、判断题、单选题,主观题分为简答题、编程题、综合题,其中主观试题约占60%左右。