《分布式程序设计》开放实验清单文档格式.docx
- 文档编号:16095458
- 上传时间:2022-11-19
- 格式:DOCX
- 页数:13
- 大小:425.79KB
《分布式程序设计》开放实验清单文档格式.docx
《《分布式程序设计》开放实验清单文档格式.docx》由会员分享,可在线阅读,更多相关《《分布式程序设计》开放实验清单文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
这八张牌中的红桃(黑桃,方块,梅花)大牌(J,Q,K,A)共几张?
这八张牌中共有几张大牌(J,Q,K,A)?
等,并接受使用者的回答,如果回答正确,则在总分上加10分;
否则扣10分。
3.实验要求:
(1)扑克牌显示正确,比例恰当。
所有牌背应有统一的花纹,牌面可使用简化方法显示,即在牌中央显示一个表示花色的图案(黑桃、红桃、梅花和方片,应使用位图资源),牌面左上角显示点数(2~10,J,Q,K,A)。
黑桃和梅花用黑色,红桃和方片用红色。
在屏幕上分两行共显示8张纸牌,每行4张;
(2)在适当位置显示提示信息,包括已进行的局数、当前得分、当前剩余时间和已翻开的纸牌张数;
(3)用鼠标左键单击某张纸牌可将其翻转(正面变反面或反面变正面)。
在一局中最多可翻开3张牌;
(4)第一次单击鼠标左键时开始计时,10秒钟后自动弹出一对话框用于提问和接受使用者的回答。
要求对话框设计美观大方,尺寸合理。
对话框下方有一个编辑控件(设置为数值属性),用于输入用户的回答;
(5)对话框上能正确显示问题,而具体显示哪个题目,题目中是什么花色,什么大牌均应随机确定;
(6)用户回答问题后将所有纸牌翻为正面,用户再次单击鼠标左键后开始新的一局。
(7)进一步要求:
通常的纸牌图案和点数有关的,同时点数的颜色也不相同,考虑一下如何处理;
另外,为了增加游戏的趣味性,还可以增加一些功能,比如允许翻看的时间不断缩短以增加难度。
4.要点分析
本题主要涉及到的知识点有:
鼠标消息、对话框、定时器消息、位图显示、随机函数的使用,同时还有数值和字符串之间的转换、位图显示位置的计算以及较多的逻辑判断工作,涉及的内容较多,难点在于纸牌的显示、纸牌产生的随机性以及提问问题的产生和判断等。
纸牌的背面可以用一个位图显示,而显示正面较为复杂,因为有52张不同的牌,使用52个不同的位图表示工作量就太大了。
可以把显示纸牌的正面分成两个部分,首先用四个位图表示四种不同花色的纸牌,然后用A、2~9、J、Q、K在位图的左上角显示表示不同的点,从而显示出一个完整的纸牌正面。
可以使用简单的算法随机产生纸牌,即用0~51这52个整数来表示纸牌,也就是说,0~12表示梅花A~K,13~25表示方块A~K,26~38表示红桃A~K,39~51表示黑桃A~K。
这样,表示纸牌的整数对13取模就得到纸牌的花色(0~3分别表示梅花、方块、红桃和黑桃),除以13得到的余数就是纸牌的点数。
问题和答案通过对话框表示出来,而相关的操作在定时器消息处理函数进行。
提问问题的产生涉及到两个随机数,一个产生问题的类型,一个产生问题中纸牌的花色,而相关问题的正确答案在纸牌产生时就已经计算出来,就等着根据不同的问题和答题人的答案进行判断了。
5.评分标准
(1)程序功能完整,注释清楚;
(40%)
(2)在实验要求的基础上实现新的功能或使用了新的实现方法;
(3)设计文档完整规范。
(20%)
题目2猫捉老鼠游戏
1.实验目的
(1)综合应用Windows编程涉及的知识点,包括键盘消息、菜单、定时器消息、位图显示和移动等;
(2)掌握位图显示位置的计算以及逻辑判断方法;
(3)掌握判断游戏输赢、设置游戏难度系数、显示文字等方法。
编写一个程序,模拟在一个房间里猫捉老鼠的游戏。
通过键盘上的上、下、左和右方向键控制一只猫,5只老鼠在窗口中自由活动,可随时改变行走方向,遇窗口边界则改变方向。
猫碰到老鼠后则该鼠被吃(不再显示)。
吃掉所有老鼠后游戏结束并显示游戏所剩时间。
3.实验要求
(1)老鼠和猫用位图实现,形象可辨认,特征明显;
(2)可用键盘操纵猫上下左右移动;
(3)5只老鼠移动方向随机,运动自然;
(4)猫身体的任何部分碰到鼠的任何部分则视为猫吃鼠,该鼠消失;
(5)能显示当前的老鼠数目和剩余时间值;
(6)猫在规定时间内将老鼠全部吃光则提示“成功”,如果时间到而尚有老鼠则提示“失败”;
增加一些功能,如老鼠可以自动增加数量等;
设计一个算法,使老鼠能够自动避开猫的捕捉。
该题的难点在于猫和老鼠的显示、使老鼠随机移动以及如何判断老鼠被吃掉。
猫和老鼠可以分别用位图画出,显示它们有固定的步骤。
但为了把老鼠和猫的运动模拟得更加逼真,通常要保证脑袋的方向和运动方向保持一致,这样,如果简单地假定只有上、下、左、右四个方向的话,就必须分别使用四幅位图来显示不同运动方向的猫和老鼠。
老鼠随机移动是一个位图在窗口客户区移动的问题。
我们知道,位图在窗口客户区自动移动可以通过一个定时器消息来改变位图所显示的坐标来实现,即当定时器消息到来时,计算位图显示的位置,并在新的位置重新显示位图。
当然也有一个改变运动方向的问题,一方面老鼠向一个方向运动一段时间后需要改变方向,另一方面当老鼠运动到场地的边界时,也应该改变方向而不能越界。
这里要注意两点,一是方向改变可使用随机函数rand()实现,而是一定要使老鼠在一个方向运动一段时间才能改变方向,而不能简单地每次计算位图显示的位置时都改变方向,这样老鼠会在初始位置“抖动”。
当猫和老鼠位图的显示位置有重合点时,则认为老鼠被吃掉。
这里使用了一个不是十分精确的简单算法,当猫和老鼠的水平方向的位置差小于老鼠的宽度,并且猫和老鼠的垂直方向的位置差小于老鼠的高度就认为老鼠被抓住了。
题目3走迷宫游戏
(1)综合应用Windows编程涉及的知识点,包括键盘消息、菜单、定时器消息等;
(2)掌握图形编辑的实现方法;
(3)掌握存盘、读盘的编程方法。
编写一个程序,程序开始运行时显示一个迷宫地图,迷宫中央有一老鼠。
迷宫的右下方有一粮仓。
游戏任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。
要求:
(1)老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;
(2)迷宫的墙足够结实,老鼠不能穿墙而过;
(3)正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败;
(4)添加编辑迷宫功能,可修改当前迷宫。
修改内容:
墙变路、路变墙;
(5)利用序列化功能实现迷宫地图文件的存盘和读出等功能;
(6)添加一些增加游戏的趣味性的功能,如能不能随机生成一些可用的迷宫,或者在迷宫的路上设置若干门,一次通过后即锁上(变为墙);
添加一些增加游戏的趣味性的功能,如随机生成一些可用的迷宫,或者在迷宫的路上设置若干门,一次通过后即锁上(变为墙)。
可以将迷宫理解为2维数组,数组元素的值就决定了迷宫的显示(是墙还是路)。
一旦数组元素的值发生了改变,对应的迷宫的显示也就自然变化了,这样对迷宫的编辑问题就转化为对内部数组元素的值的变化问题了。
同样的,老鼠在迷宫的位置实际上也就是数组上的一个点,判断它能不能向某一个方向上运动也就是判断对应该方向的下一个数组元素的值的是什么,如果是路,根据事先设置好的规则,它是可以运动的,但如果是墙,就不能移动了。
题目4自主创新实验
1. 使用Photoshop完成一张具有特殊效果的照片。
2. 图书(或其他)管理数据库的创建(其中包含表、查询、报表)。
3. 通过收集与分析网络资料,完成某个主题的总结报告。
4. 完成某个主题的Flash影片制作。
5. 设计并实现关于某个主题的网站。
开放实验项目清单
1.打地鼠游戏
2.人机对弈的五子棋
3.图书情报检索系统
4.学生成绩管理程序
5.自动售货机程序
6.计算机辅助教学系统(CAI)
7.公制换算程序
8.C++源程序编辑器
9.公式计算系统
10.显示任一曲面
11.青蛙跳游戏
12.跳棋游戏程序
13.曲棍球游戏
14.点和直线游戏
15.十二星座位置实时查询
16.黑白棋
17.前进人游戏
18.迷宫游戏
19.扑克牌游戏
20.扫雷游戏
21.小蜜蜂
22.俄罗斯方块
23.井字棋游戏
24.五子棋
25.拼图
26.轮盘赌
27.拉霸游戏
28.开车游戏
29.着陆游戏
30.跳舞机游戏
开放实验项目效果图
1.黑白棋
2.打飞机游戏
3.迷宫游戏
4.贪吃的蛇游戏
5.扫雷游戏
6.推箱子游戏
7.俄罗斯方块
8.爆破人游戏
9.人机对弈五子棋
10.拼图
11.战斗机游戏
12.炸潜艇游戏
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式程序设计 分布式 程序设计 开放 实验 清单