• 大小: 36KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: C/C++
  • 标签: 猜数字  C++  人机  

资源简介

C++编写,DOS界面,分单人和人机模式,可查阅游戏历史,VC6.0测试无bug

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
#include 

const double PI = 3.1415926535;

//gnum是猜题的次数要求
const int gnum = 10;

class Cperson
{
public:
Cperson(); //出题并初始化
void Pcompare(int gamenum); //比较得出几A几B,并输出
void Pcompare(char PCnum); //用于人机对战
int PGETA(int num);
//这个可以去掉(4)      调试使用(提前看答案)
void gvresult();
private:
char Pquestion[5];
int PA[10] PB[10];
char Panswer[5];
};

Cperson::Cperson()
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY | FOREGROUND_RED);
int i j k;
for (i = 0; i < 10; i += 1)
{
PA[i] = 0;
PB[i] = 0;
}
Panswer[4] = ‘\0‘;
Pquestion[4] = ‘\0‘;
srand((unsigned)time(NULL));
cout << “电脑出题中....“ << endl;
for (i = 0; i < 4; i += 1)
{
Sleep(1000);
Pquestion[i] = (rand() % 10) + 48;  //出题
Panswer[i] = ‘0‘;
}
for (i = 0; i < 4; i += 1)
{
for (j = 0; j < 4; j += 1)
{
if (i != j)
{
for (;;)
{
if (Pquestion[i] == Pquestion[j])
{
for (;;)
{
//Sleep(1000);
k = (rand() % 10) + 48;
if (k != Pquestion[j])
{
Pquestion[j] = k;
break;
}
}
}
else
break;
}
}
}
}
}

void Cperson::Pcompare( int gamenum)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY | FOREGROUND_GREEN);
int i = 0 j = 0 k = 0;
int num = 1;
char c;
ofstream file; //创建文件
if (gamenum == 1)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY |  FOREGROUND_GREEN);
file.open(“d:\\1A2Bhistory.txt“ ios::out);
file.close();
}
file.open(“d:\\1A2Bhistory.txt“ ios::out | ios::app); //已写与追加的方式打开文件

file <<‘\n‘<<‘\n‘<< “第“ << gamenum << “次游戏:“ << ‘\n‘ << ‘\n‘ << endl;
for (;;)
{
cout << “第“ << num << “次猜题“ << endl;
file << “第“ << num << “次猜题“ << endl;
//获取玩家的答案
for (j = 0; j < 4; j += 1)
{
fflush(stdin);
c = _getch();
if (c <= ‘9‘ && c >= ‘0‘)
{
if (j == 0)
{
Panswer[j] = c;
cout << Panswer[j];
file << Panswer[j];
}
else if (j == 1)
{
if (c != Panswer[0])
{
Panswer[j] = c;
cout << Panswer[j];
file << Panswer[j];
}
else
{
j -= 1;
}
}
else if (j == 2)
{
if (c != Panswer[0] && c != Panswer[1])
{
Panswer[j] = c;
cout << Panswer[j];
file << Panswer[j];
}
else
{
j -= 1;
}
}
else
{
if (c != Panswer[0] && c != Panswer[1] && c != Panswer[2])
{
Panswer[j] = c;
cout << Panswer[j];
file << Panswer[j];
}
else
{
j -= 1;
}
}

}
else
{
j -= 1;
}
}

cout

评论

共有 条评论