C课程设计猜拳游戏

  • 格式:doc
  • 大小:1.05 MB
  • 文档页数:27

下载文档原格式

  / 27
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计说明书

课程名称:高级语言程序设计

设计题目:石头剪刀布游戏

院部:计算机科学与信息工程学院

学生姓名:

学号:

专业班级:计算机科学与技术(信息技术方向)

指导教师:

2015年6月

课程设计任务书

目录

一前言 (1)

二需求分析 (1)

三概要设计 (2)

四详细设计 (3)

五改进或增加功能模块说明 (7)

六程序测试 (8)

七课程设计总结 (11)

八致谢 (12)

九参考文献 (12)

十源程序 (12)

五子棋游戏

一前言

猜拳游戏是由锤子、剪刀、布三部分组成。玩家可以在游戏区逐次猜拳,系统会给出玩家每次猜拳后的提示,显示成功或者失败或者是平手。

二需求分析

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: