课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
1、23根火柴游戏设计题目:
2、通讯录管理
学生姓名:
专业:
班级:
学号:
指导教师:
完成日期:
合肥工业大学计算机与信息学院
目录
一、23根火柴游戏—————————————————————2
(一)需求和规格说明——————————————————————————2 (二)设计———————————————————————————————2 (三)用户手册—————————————————————————————2 (四)调试及测试————————————————————————————2 运行实例—————————————————————————————2
源程序——————————————————————————————4
二、通讯录管理——————————————————————8
(一)需求和规格说明——————————————————————————8 (二)设计———————————————————————————————8 (三)用户手册—————————————————————————————8 (四)调试及测试————————————————————————————8 运行实例—————————————————————————————8
源程序——————————————————————————————10
一、23根火柴游戏
(一)需求和规格说明
23根火柴游戏: 两个游戏者开始拥有23根火柴(或小棒)。每个游戏者轮流移走1根、2根或3根火柴,拿到最后一根火柴的就算输了。编一程序与计算机玩这个游戏。
(二)设计
通过算法与程序的设计,让电脑具备类似思考的能力,通过主函数的输出打印游戏界面,让玩家认识游戏,进行难度选择时通过getMin(a, b)、Smanvscpu()以及Dmanvscpu()的函数调用,在所选择的函数对象中插入相关的运算,并让电脑随即对应进行j = rand()%(getMin(num,3))+1或者j = (num%4 == 0)?3:num%4-1相关的运算,确定电脑所取的火柴数,从而实现该游戏的运行
1.进行游戏之前需要通过输入数字确定游戏难度
2.完成游戏后可以通过数字选择是否需要重玩
(四)调试及测试
运行实例
(1)游戏开始
(2)正常难度选择对战
(3)继续游戏执行困难难度游戏
(4)退出游戏
源程序:
#include
using namespace std;
int getMin(int a,int b)
{
return a
}
//正常人机对战
int Smanvscpu()
{
int i,j,num=23;
cout<<"游戏开始"< while(num>0){ cout<<"当前还剩下"< cout<<"1.一根火柴\t"; if(num>=2) cout<<"2.两根火柴\t"; if(num>=3) cout<<"3.三根火柴"< cin>>i; //人取的火柴,所得到剩下的火柴数 switch(i){ case 1: num=num-1; break; case 2: num=num-2; break; case 3: num=num-3; break; default: cout<<"请正确输入序号\n"; continue; } //确定火柴是否取完 if(num == 0){ cout<<"游戏结束,玩家输掉了游戏"< break; } //电脑开始确定所取火柴数 if(num > 5){ j = rand()%3+1; } else{ if(num%4 == 1){ j = rand()%(getMin(num,3))+1; //求余结果1:拿火柴数1 } else{ j = (num%4 == 0)?3:num%4-1; //求余结果4:拿火柴数3 ;求余结果拿火柴数2:1、3:2 } } cout<<"电脑拿走了"< num=num-j; //判断电脑是否输 if(num == 0){ cout<<"游戏结束,电脑输掉了游戏"< break; } } return 0; } //困难人机对战 int Dmanvscpu() { int i,j,num=23; cout<<"游戏开始"< while(num>0){ cout<<"当前还剩下"< cout<<"1.一根火柴\t"; if(num>=2) cout<<"2.两根火柴\t"; if(num>=3) cout<<"3.三根火柴"< cin>>i; //人取的火柴,所得到剩下的火柴数 switch(i){ case 1: