1、c语言纸牌游戏变色龙课程设计学生课程设计报告课程设计题目: 纸牌游戏变色龙专 业 名 称: 软件工程一、课程设计内容 “变色龙游戏”是一款纸牌游戏,本次课程设计的主要内容,就是实现游戏的规则,完成人人对战和人机对战。 二、技术路线 三、设计与实现 1.牌:牌的定义,每张牌都有花色和数字两个属性。 实现:定义一个结构体作为牌的数据类型,整形代表 大小,字符型代表花色。 2.洗牌:完成每次游戏所有牌要随机排序。 实现:用一个结构体数组代表一副牌,首先用初始 化结构体,然后利用随机数从初始化好的牌中随机 抽取其中的牌,然后将牌存放在栈中,完成发牌 前的牌的随机排序。 3.发牌:按照牌的顺序依次发给玩
2、家。 实现:游戏前的牌存放在栈中,每次发牌就利用栈 的先进后出的性质,完成发牌过程。4.玩家出牌:每次玩家出的牌存在一个“桌面”上,下 一次的出牌与当前桌面牌有关。 实现:用结构体定义一个与牌具有相同性质的 “桌面牌”,将每次的出牌用这个桌面牌装起来。5.成绩统计:每次的弃牌都是对方的分数,所以需要将每次 的弃牌存下来,最后得出胜利者。 实现:每次弃牌时,将弃牌用一个变量累加起 来,在游戏结束后进行分数的比较就行。6.AI的设计:完成电脑与玩家的对战。 实现:与玩家出牌具有相同的规则,当符合出 牌条件时就出牌,在出牌时进行一些比较实现 比较简单的人机对战。 四、测试结果1.牌是否实现了随机排布
3、: 测试图1 测试图2 测试图3 2.玩家手牌的删除与替换: 测试图4 测试图5 测试图4:A选手当前的手牌如图所示,并且A选手的出牌为2B。 :测试图5:啊选手出牌后2B删除,重新接到新牌1A。3.出牌游戏规则的实现: (1)出牌不为当前手牌 测试图6 (2)出牌不符合规则 测试图7(3)出11时可以变色以及变色结果 测试图8 测试图9 测试图8:当前桌面牌为9B,B选手出11可以改变当前花色,B选手将花色变为C。 测试图9:桌面牌被B选手变为9C。 4.AI的测试: 测试图10 测试图11 测试图125.成绩的测试: 测试图13 五、感想和体会 这次课程设计,经历了很多也让我们学会了很多。
4、 从这次课程设计开始,我们也在一步一步的成长的,回想刚 开始做这个设计时,我们还都是很迷茫的,不知道从何处开始,经过了的一步一步的琢磨,在摸索中我们终于有了方向,本来迷茫不知所措的我们也有了些许的经验,我们在一起讨论,商量,最终程序的构架有了雏形,在之后的时间里,我们分模块定接口,在完成了一个又一个的模块后,又进行了连接工作,第一次连接成功后我们是那样的惊喜与兴奋。但现在在看当时的程序雏形时,觉得我们当时做的是那样的粗糙,不仅觉得有些可笑。经历了一次又一次的修改、测试,最终我们的程序才真正有了样子,回忆当时我们为了写出程序代码而抓耳挠腮的情景,回想当时我们为了程序而一起对战5个小时的场景,到现在还感觉这一切都历历在目,但再看看现在我们的成果,这让我们觉得我们的付出是很值得的。经过了这次的程序设计,我们不仅在编程能力上有所提高,而且对于团队合作的重要性有了进一步的理解,总之,我们是受益良多啊。经过了喜悦我们对于自己的不足也有了反思,我们认识到了自己的知识确实还是很有限的,需要学习的东西还有很多。比如我们程序中的一些小bug确实还没有很好的解决,但是我们坚信,未来我们一定能越做越好。一路走来有迷茫、努力、无奈、奋斗、喜悦、失落、兴奋更有的是我们团结不屈的意志。 (注:可编辑下载,若有不当之处,请指正,谢谢!)