用C++实现猜数字小游戏-两种类型

这篇博客介绍了如何使用C++编程实现一个猜数字小游戏。游戏规则是系统随机生成四个0-9的数字,玩家有8次机会猜测,根据反馈的A和B提示调整。当所有数字和位置都正确时,玩家获胜;8次未猜中则电脑获胜。游戏结束后,会记录玩家的胜率并保存到文件中。

游戏规则:开局后系统后台随机生成四个0-9之间的数字,玩家每次输入四个数字,中间以空格隔开,如果玩家输入的数字中位置和数字全对,则显示4A,玩家获胜,如果只是数字正确但位置对,相应的用B表示,如果数字和位置都不对,则不显示任何,例如玩家输入了1234回车后显示的是1A2B,说明输入的四个数字中,有1个位置和数字都是对的,有2个只是数字正确,而位置错误。然后用户可以根据这个提示继续输入,每一局最多可以尝试8次,超过8次,则判定玩家失败,电脑获胜,最后统计玩家的胜率,并将玩家姓名和胜率保存到文件中。

#include<iostream>
#include<stdlib.h>
#include<fstream>
#include<time.h>
#include<process.h>
#include<string>
using namespace std;
class game 
{
   
   
public:
	string name;
	float shenglv;
	game(string namee, float sl)//构造函数
	{
   
   
		name = namee;
		shenglv = sl;
	}
	void shujubaocun()
	{
   
   
		fstream f;
		f.open("D:\\date.txt", ios::in | ios::out | ios::app);
		f << name << '\t' << shenglv << "%" << '\t' << endl;
		f.close();
	}
};//游戏
void rule()
{
   
   
	cout << "游戏规则:" << endl;
	cout << "	1.每次游戏有八次机会,每次输入四个0-9数字(可重复),用空格隔开" << endl;
	cout << "	2.如果数字正确位置正确,会显示A,如果数字正确位置错误,会显示B。" << endl;
	cout << "	3.如果四个数字全部正确,则会显示victory,若八次后还没有猜对,则会显示defeat。" << endl;
	cout << "	4.例如,随机生成的数字是1 2 3 4,而你输入的数字是1 3 4 5,则会显示1A2B。" << endl;
}//游戏规则
void wenjiangeshihua()
{
   
   
	char buf[3] = {
   
    0 };
	fstream f1, f2;
	f1.open("D:\\date.txt", ios::in);
	f1.read(buf, 10);//读取文档内容判断是否为空
	if (buf[0]==NULL)//若文件为空,执行下列程序输入格式
	{
   
   
		f2.open("D:\\date.txt", ios::app);
		f2 << "姓名" << '\t' << "胜率" << '\t' << endl;
		f2.close();
	}
	else
		f1.close();
}//文件格式化函数
int main()
{
   
   
	wenjiangeshihua();
	rule();
	cout << "规则阅读完毕请输入回车开始游戏:";
	cin.ignore();//去掉输入y时的回车
	cout << "请输入你的昵称:";
	string name;
	getline(cin, name);//可以在输入时输入空格
	int m = 1;
	int acount, bcount;
	float total, win, shenglv;
	total = win = 0;
	srand(time(NULL));//生成随机数
	while (m)
	{
   
   
		total++;
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JdiLfc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值