C课程设计猜拳游戏
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书
课程名称:高级语言程序设计
设计题目:石头剪刀布游戏
院部:计算机科学与信息工程学院
学生:
学号:
专业班级:计算机科学与技术(信息技术方向)
指导教师:
2015年 6月
课程设计任务书
目录
一前言 (1)
二需求分析 (1)
三概要设计 (1)
四详细设计 (3)
五改进或增加功能模块说明 (4)
六程序测试 (4)
七课程设计总结 (5)
八致 (5)
九参考文献 (5)
十源程序 (6)
五子棋游戏
一前言
猜拳游戏是由锤子、剪刀、布三部分组成。玩家可以在游戏区逐次猜拳,系统会给出玩家每次猜拳后的提示,显示成功或者失败或者是平手。
二需求分析
1 要求
(1)用C语言实现程序设计;
(2)定义各个函数分别完成不同功能,如背景设计,判断等;
(3)画出查询模块的流程图;
(4)系统的各个功能用函数调用的形式实现;
(5)界面友好(良好的人机互交),程序要有注释。
2 任务
(1)定义各类头文件,变量及宏定义;
(2)图形模块,设计出棋盘背景界面;
(3)设定玩家操作模块和胜负判断模块;
(4)画出部分模块的流程图;
(5)编写代码;
(6)程序分析与调试。
3 运行环境
(1)WINDOWS2000/XP系统
(2)TurboC2.0编译环境
4 开发工具
C语言
三概要设计
1 模块组成图
功能模块图
2 查询函数流程图
猜拳游戏从开始到结束的操作步骤的系统流程图
函数流程图
四详细设计
在程序的开头部分定义要用到的头文件,以及各种常量,设定选手及游戏模式。
#include
#include
#include
#include
#include
#inlcude
using namespace std;
void SetColor(unsigned short
ForeColor,unsigned short BackGroundColor)
{
HANDLE hCon = GetStdHandle
(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,
(ForeColor%16)|(BackgrundColor%16*16));
}
void face();
void shuoming();
void shezhi();
void zuce();
void tuichu();
void paixu();
void paihangbang();
int cmp();
int N = 20,maxx = 0,M;
struct PP
{
char name[10];
int score;
}P[1000];
输入函数,即为选手每一次出拳,用1、2、3分别表示石头、剪刀、布,通过输
入数字来确定要出的是哪一个,每出一次进行判断是否合理(如是否是三者中的一个)
并通过调用函数记录比赛的结果,则通过变量记录下获胜的次数,如果比赛完了主函
数
void youxi()
{
int wan = 1;
while(wan <= M)
{
P[wan - 1].score = 0;
system("CLS");
SetColor(14,0);
printf("\n\n\n\n\n\n\n\n\n\t\t\t 下面有请 ");
SetColor(12,0);
printf("玩家 %d",wan);
SetColor(14,0);
printf(" 准备比赛!");
SetColor(12,0);
printf("\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t【按任意键开始游戏】"); _sleep(2000);
getchar();
getchar();
int a,i = 0;
for(; i < N; i++)
{
system("CLS");
srand((unsigned)time(NULL));/*随机种子*/
int n=rand()%(3-1+1)+1;/*n为1~3之间的随机数*/
SetColor(13,0);
printf("\n\n\n\n\t\t\t\t每 %d 回合为一轮\n",N);
SetColor(14,0);
printf("\n\n\t\t\t\t\t\t\t (第 %d 回合)",i+1);
SetColor(15,0);
printf("\n\n\n\n\n\t请输入你的要出的: ");
SetColor(12,0);
scanf("%d",&a);
//getchar();
system("CLS");
printf("\n\n\n\n\n\n\n\n\n\n\t\t\t");
SetColor(13,0);
if(a==1)
{
switch(n)
{
case 1:
printf("双方都是石头......平手\n");
break;
case 2: