《面向对象程序设计(课程设计)》报告.doc
文本预览下载声明
福建农林大学计算机与信息学院
计算机类
课程设计报告
课程名称: 面向对象程序设计(课程设计) 课题名称: 猜数字游戏 姓 名: 学 号: 专 业: 计算机科学与技术 年 级: 2012级 指导教师: 职 称: 讲师
2013年11月
面向对象程序设计(课程设计)成绩评定表
评分项目 分值 得分 程序(系统) 原创性 15 程序功能 25 代码质量(健壮性和可扩展性) 20 核心代码和功能模块注释 10 设计报告 课题来源任务描述 5 系统设计 10 代码编写与实现结果说明 10 团队合作能力 分工协作联合研发 5 成绩总计 指导老师签字:
目 录
1. 课题来源 1
2. 任务描述 1
2.1. 课题的总体结构 1
2.2. 核心功能模块与类设计 2
2.3. 任务分工与工作量说明 3
3. 程序(系统)详细设计 3
4. 程序(系统)实现与测试 5
5. 分析与讨论 11
6. 结束语 12
课题来源
该作品为原创。
课题灵感是能否做一个小游戏,寻找了很多小游戏比如俄罗斯方块等,发现其太复杂以目前的水平无法完成,于是就选择了一个比较简单的猜数字游戏,编写益智类的游戏可以让我们日常生活中自己使用来达到增加乐趣的作用。
猜数字游戏的原游戏规则:通常由两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的4位数,不能让猜的人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
如正确答案为 5234,而猜的人猜 5346,则是 1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为 2B,合起来就是 1A2B。
接着猜的人再根据出题者的几A几B继续猜,直到猜中(即 4A0B)为止。
任务描述
猜数字游戏:产生随机数,统计完全猜中的数字的个数以及统计猜中但位置错误数字的个数,并给出提示。最后计算积分。此程序体现了面向对象程序设计的继承性和封装性。
课题的总体结构
contrast -A:int
-B:int
-n1:int
-n2:int
-n3:int
-n4:int +setNum():void
+count():void
+getA():int
+getB():int
+setA(int a):void score -s1:int
-s2:int
-s3:int +score():
+getS1():int
+getS2():int
+getS3():int
+setS1(int b1):void
+setS2(int b2):void
+setS3(int b3):void 类层次结构图:
randNumber -num2:int
-num3:int
-num4:int -ran():int
+randNum():void
+getnum1():int
+getnum2():int
+getnum3():int
+getnum4():int
程序有三个类,
其中randNumber类用来产生随机数,
contrast类用来做对比并得出猜数字的结果,
score类用来读取文件内容并统计分数,
主函数进行循环输入猜数字,并将结果输入文件。
程序的功能结构图:
核心功能模块与类设计
采用表格的形式,按照类在课题中的作用,列出核心类的功能定义和主要函数接口。
randNumber类 实现答案所需的随机数的产生
randNum():void//制造随机数
getnum1():int//获取随机数的第一位
getnum2():int//获取随机数的第二位
getnum3():int//获取随机数的第三位
getnum4():int//获取随机数的第四位 contrast类
核心类,实现猜数字游戏主要玩法的设计
setNum():void//用于设置用户输入的数据
count():void//统计几A几B
getA():int//获取A的值
getB():int//获取B的值
setA(int a):void//设置A的值 score类 用于显示和统计分数
score()://从文件获取排行榜数据并显示
getS1():int
getS2():int
getS3():int//获取排行榜积分
setS1(int b1):void
setS2(int b2):void
setS3(int b3):void//更改排行榜
任务分工
显示全部