石头剪刀布
课程设计
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
课 题: 石头——剪刀——布游戏
专业班级:
学 号:
姓 名:
指导老师:
日 期: .
目 录
1
1. 课题简介„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 2. 设计过程„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 3. 具体设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„6 4. 测试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„9 5.
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„11
„„„„„„„„„„„„„„„„„„„„28 设计体会„„„„„„„„„
参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„28
1.课题简介
2
编写一个程序,编程实现计算机与人进行游戏。
2.设计过程
(一)系统功能分析:
在游戏中,孩子们用手
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示石头、剪刀或布中的一个,出拳头表示石头,伸出两根手指表示剪刀,伸手表示布,孩子们面对面地从1数到3时做出他们的选择,如果所作的选择是一样的,则表示平局,否则就按如下规则决定胜负:
(1) 石头砸坏剪刀;
(2) 剪刀剪碎布;
(3) 布覆盖石头。
(二)系统流程分析:
1.玩家选择命令,并返回选择结果的流程图。
定义枚举变量p用以返回玩家选择 定义变量c获取用户输入选择
switch(c)
返返返返返返返
回回回回回回回
“““““““
布石剪游游退游
” 头刀戏戏出戏
” ” 结介” 帮
果绍助
” ” ”
return p
2.机器对锤子剪刀布选择的流程图。
3
初始化随机种子
定义变量i并随机初始
化
i=i%3
当i=0时,返回cloth
当i=1时,返回hammer
当i=2时,返回scissors
3.输出游戏结果,包含有赢、输、平局以及游戏总次数的情况的流程图。
输出玩家获胜次数
输出电脑获胜次数
输出平局次数
输出游戏次数
4.读取玩家和电脑的选择,并判断玩家赢、输、或平局的流程图。
定义变量 victory用以记录评判结果
Y N
player= =cloth
Y N victory=machine= =hammer;
player= =hammer
victory=machine= =cloth; victory=machine= =scissors;
4
5.统计每局游戏结果的流程图。
instruct( )
(player=select( ))!=quit
switch(player)
cloth hammer scissors game instructions help
machine = mach(); 输出游戏输出游戏输出帮
统计结果 规则 助文件
player==machin
e
累计平局次数 win_lose( )
输出“平局” 累计电脑获胜次数 累计玩家获胜次数
输出电脑获胜 输出玩家获胜
输出游戏统计结果
bye
5
(三)具体设计分析如下:
1. 游戏中可能出现的选择情况都可以估计到,因此,定义一个枚举类型把游戏中可能出现的选择项都列出来,包括cloth(布),hammer(锤子),scissors(剪刀),game(游戏结果),help(帮助),instructions(游戏方法指导),quit(退出游戏)。
例enum c_h_s{cloth,hammer,scissors,game help,instructions,quit};
2. 构造函数Game( )
功能:对赢、输、平局的数据成员初始化为0。
3.成员函数select( )
功能:获取玩家选择一个命令(即在石头、剪刀、布、游戏结果、游戏帮助、游戏介绍、退出中做出选择),并将选择的结果返回。
4.成员函数mach( )
功能:实现机器对锤子、剪刀或布选择
5.成员函数gameshow(int win,int lose,int tie )
功能:输出游戏结果,包含有赢、输、平局以及游戏总次数的情况。
6.成员函数gamehelp( )
功能:输出各字符所表示的意义,以帮助玩家进行选择。
7.成员函数win_lose(enum c_h_s player,enum c_h_s machine )
功能:读取玩家和电脑的选择,根据游戏规则判断玩家赢、输或平局,返回判断结果。 8.成员函数instruct( )
功能:对游戏规则进行说明。
9.成员函数solution( )
功能:统计游戏从开始运行到现在运行的结果,并输出每局的游戏结果。 10.主函数实现
功能:创建游戏类对象g,调用对象g的成员函数solution( ),开始游戏。
3.具体设计
Game。Cpp
#include
cout<<" 请选择c,h,或s:"; #include cin>>a;
#include switch(a)
#include"game.h" {
Game::Game() case'c':p=cloth;break; { case'h':p=hammer;break;
win=0; case's':p=scissors;break;
lose=0; case'g':p=game;break;
tie=0; case'i':p=instructions;break; } case'q':p=quit;break; enum c_h_s Game::select() default:p=help;break; { }
char a; return p;
c_h_s p; }
6
enum c_h_s Game::mach()
{ void Game::solution()
srand((unsigned)time(NULL)); {
int i=rand(); instruct();
i=i%3; int a=1;
return while((player=select())!=quit) i==0?cloth:(i==1)?hammer:scissors; {
} switch(player)
void Game::gameshow(int win,int lose,int tie) {
{ case cloth:
cout<<" 游戏结果如下:"< Game g; #include"game.h" g.solution(); int main() return 0; { }
Game.h
#ifndef GAME class Game #define GAME {
enum public:
c_h_s{cloth,hammer,scissors,game,help,instr Game(); uctions,quit}; enum c_h_s select();
8
enum c_h_s mach(); int win;
void gameshow(int,int,int); int lose;
void gamehelp(); int tie;
int win_lose(enum c_h_s,enum c_h_s); enum c_h_s player;
void instruct(); enum c_h_s machine;
void solution(); };
private: #endif
4.测试
进入界面。弹出游戏规则。
9
根据系统提示选择字母进行游戏。选c,h,s锤子剪刀布的游戏,选择g弹出游戏结果
选“5”,超过可选范围,系统提示玩家可输入字符。
选“q”退出游戏,系统弹出游戏结果并退出系统游戏。
10
5.总结
参考文献
[1]钱能.C++程序设计教程.北京:清华大学出版社,2004,8
[2]谭浩强.C语言教程.北京:清华大学出版社,2002,4
11