用C++实现小游戏之石头剪刀布

实现这个简单的小游戏最重要的是实现它的思路,而用表格的形式把所有的可能列出来更有助于我们的理解 :

玩家\电脑012
0平局玩家胜电脑胜
1电脑胜平局玩家胜
2玩家胜电脑胜平局

分析好游戏规则后就是去实现它了!!!

#include <bits/stdc++.h>
using namespace std;

void menu() //制作一个菜单玩家选择3:开始游戏选择4:退出游戏
{
	cout << "***********************\n";
	cout << "***3.play  4.exit******\n";
	cout << "***********************\n";
}

void game()//实现游戏的具体框架
 {
	int a, b;
	cin >> a;
	srand(time(0));//以时间为变量让电脑生成随时变化的随机数
	b = rand() % 3;//随机数的范围在0—-3之间
	if (a == b)//具体情况详见上面表格
		cout << "平局" << endl;
	else if (a == 1 && b == 0 || a == 2 && b == 1 || a == 0 && b == 2)
		cout << "电脑胜" << endl;
	else if (a == 2 && b == 0 || a == 1 && b == 2 || a == 0 && b == 1)
		cout << "玩家胜" << endl;

}

int main() {
	int input ;
	do //在这里用一个循环使玩家可以一次玩多局
	{
		menu();
		cout << "请选择:>";
		cin >> input;
		switch (input) {
			case 3:
				game();
				break;
			case 4:
				cout << "退出游戏\n";
				return 0;
			default:
				cout << "选择错误,重新选择\n";
				break;
		}

	} while (input);
	return 0;
}

下面是代码执行结果:

当当当!!!走起!

 就酱紫,一个简单又有趣的游戏就实现啦~

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
河北工业大学计算机软件技术基础(VC) 课程设计任务书 题目:人机对战——石头剪刀布 目的与要求 目的 通过编写该程序,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计,并对Windows平台下的控制台进行深入的了解。 基本要求 要求用C++语言编程,在Visual C++环境下调试完成; 要求划分功能模块,各个功能分别使用函数来完成; 源代码程序要求必要的注释。 设计方法和基本原理 课题功能描述 编写一个人机进行石头剪刀布小游戏。要求能够进行完一轮猜拳后,显示统计信息。每一轮游戏的过程是首先由玩家选择要出的拳,然后计算机选择出拳,输出本轮游戏的胜负情况,然后输出统计信息(玩家胜利次数、计算机胜利次数平局次数),然后每轮猜拳结束后,询问玩家是否要继续游戏。游戏界面如下: 主要技术问题的描述 随机函数 随机函数名为rand(),使用时必须包含头文件stdlib.h。 创新要求 在基本要求达到后,进行创新设计: 程序要保证计算机的胜利次数至少是玩家胜利次数的1.5倍。 课程设计的考核方式及评分方法 考核方式 (1) 学生要提交书面课程设计报告(A4纸打印);并将设计报告的电子文档、.cpp源文件和.h头文件放到一个文件夹里上传到所对应班级的学生名称相应文件夹中。 (2) 课程设计结束时,在机房当场验收。教师提供测试数据,由学生运行所设计的系统,检查运行结果是否正确,并回答教师提出的有关问题。 评分方法 根据出勤率、课程设计期间纪律、课程设计运行结果、课程设计报告及答辩情况综合评分。 书写设计报告的要求(详细内容见“设计报告模板”) 课程设计的有关文档“设计报告模板”和“课程设计要求”请在下载任务书处下载。    

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值