游戏规则:开局后系统后台随机生成四个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++;

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

被折叠的 条评论
为什么被折叠?



