c语言小游戏剪刀代码,石头-剪刀-布游戏 C++代码.doc

石头-剪刀-布游戏C代码

福建江夏学院电子信息科学系

课程设计报告

课 题: 石头-剪刀-布游戏

专业班级: 10信息管理与信息系统(本科)2班

学 号: 3100814077

姓 名: 周铭忠

指导老师: 陈军

日 期: 2011.12.21

目 录

1.课题简介……………………………………………………………1

2. 设计过程…………………………………………………………………………1

3. 具体设计…………………………………………………………………………4

4.测试………………………………………………………………7

5. 总结………………………………………………………………………………9

设计体会……………………………………………………………………………9

参考文献……………………………………………………………………………9

1.课题简介

在游戏中,孩子们用手表示石头、剪刀或布中的一个,出拳头表示石头,伸出两根手指表示剪刀,伸手表示布,孩子们面对面地从1数到3时做出他们的选择,如果所作的选择是一样的,则表示平局,否则就按如下规则决定胜负:(1)

图1:用户选择模块流程图

2、机器选择模块,程序流程图如下所示:

图2:机器选择模块流程图

3、游戏结果模块,程序流程图如下所示:

图3:游戏结果模块流程图

4、判断结果模块,程序流程图如下所示:

图4:判断结果模块流程图

5、每局游戏结果模块,程序流程图如下所示:

图5:每局游戏结果模块流程图

(三)具体设计分析如下:

1、在头文件head.h中定义枚举类型enum c_h_s{cloth,hammer,scissors,game

,help,instructions,quit}来列出游戏选择项,同时定义一个类Game把需要让外界调用的成员函数select( )、mach( )、gamehelp( )、Win_lose( )、gameshow( )、solution( )、instruct( )、Game()指定为公用的, 为了保证类的封装性和信息的隐蔽, 把数据成员int win、int lose、int tie 、enum c_h_s player、enum c_h_s machine指定为私有的。

2、在源文件head.cpp中定义构造函数Game(),对赢、输、平局的数据成员初始化为0。

3、在源文件head.cpp中定义成员函数select(),获取玩家选择一个命令(即在石头、剪刀、布、游戏结果、游戏帮助、游戏介绍、退出中做出选择),并将选择的结果返回。

4、在源文件head.cpp中定义成员函数mach(),实现机器对锤子、剪刀或布选择,这中间用到随机函数,利用到time.h和stdlib.h头文件,以及关键字rand、srand。

5、在源文件head.cpp中定义成员函数gameshow(int win,int lose,int tie ),输出游戏结果,包含有赢、输、平局以及游戏总次数的情况。

6、在源文件head.cpp中定义成员函数gamehelp( ),输出各字符所表示的意义,以帮助玩家进行选择。

7、在源文件head.cpp中定义成员函数成员函数win_lose(enum c_h_s player,enum c_h_s machine ),读取玩家和电脑的选择,根据游戏规则判断玩家赢、输或平局,返回判断结果。

8、在源文件head.cpp中定义成员函数instruct( ),对游戏规则进行说明。最后定义成员函数solution( ),统计游戏从开始运行到现在运行的结果,并输出每局的游戏结果。

9、在源文件game.cpp中,定义主函数。在主函数中,创建游戏类对象g,调用对象g的成员函数solution( ),开始游戏。

3.具体设计

//head.h

enum c_h_s{cloth,hammer,scissors,game,help,instructions,quit};

class Game //Game类

{

public:

Game(); //构造函数

enum c_h_s select( ); //选择命令函数

enum c_h_s mach( ); //机器选择函数

void gamehelp( );/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值