面向对象程序设计实训(吃金豆游戏设计与实现)
常熟理工学院计算机学?/p>
?/p>
Visual Studio 2005
环境下用
C#
编写
GUI
代码达到如下功能?/p>
(1)
游戏基本功能
:
游戏屏幕是一?/p>
NxN
的网格,其中某些格子是固定的墙壁,其他网格是可以通行的,
开始的时候放满了金豆?/p>
游戏开始后?/p>
玩家通过键盘的方向键控制游戏主角
PACMAN
移动?/p>
经过的地方,
金豆被吃掉,
同时加分?/p>
游戏屏幕上还有一个怪物?/p>
它会随机地移动?/p>
PACMAN
如果碰到怪物,游戏失败。如果吃掉了全部金豆,则游戏成功?/p>
(2)
游戏场景
(即墙壁和金豆的位置?/p>
PACMAN
与怪物的初始位置等信息?/p>
是从文件
scene.txt
中读到的。格式如下:
pr,pc,mr,mc
//(pr,pc)
?/p>
Pacman
初始行列?/p>
(mr,mc)
?/p>
Monster
初始行列
11111111
//
第一行,
N
列,其中
1
表示墙;
0
表示金豆
10010..
//
?/p>
2-N
?/p>
....
(3)
附加功能,完成以上内容的同学选做
:
?/p>
游戏主菜?/p>
开始游戏、查看成绩排行榜、退出游戏等项目?/p>
?/p>
每次游戏成功结束,要求输入用户名,并记录成绩到文?/p>
score.txt
。如果已有同名用户,
且本次得分更高,则替代之。在显示排行榜时,按得分高低排序?/p>
?/p>
使用不同的关卡,即使用多个场景文?/p>
scene(0-n).txt
,在开始游戏时选择?/p>
?/p>
加入声音效果
,
吃到金豆时,
Win/Lost
时显示不同的声音?/p>
3
、基础部分训练内容
(1) C#
面向对象程序设计?/p>
Visual Stuio 2005
开发环境;
(2) C# GUI
编程?/p>
(3)
游戏及动画实现;
(4)
游戏相关功能
(
键盘处理,图形移动,随机数,数学函数?/p>
)
?/p>
4
、指导教师:宋东兴、殷旭东
1
.代理和事件
一、代理(
delegate
?/p>
1
?/p>
代理概念
是一种将方法作为对象封装起来的引用数据类型,一个代理变量可以指向一个方法?/p>
?/p>
1
)定义一个名?/p>
OpHandler
的代理类型?/p>
delegate double OpHandler(double x,double y);
?/p>
2
)创建一个代理变?/p>
h1;
class Calc{