资源简介
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
相关资源
- C++ rapidjson 对类序列化(完美二次封装
- aes加密算法的verilog和c++代码
- compat-libstdc++-33-3.2.3
- C++模拟ATM机界面设计
- 三次样条插值算法C++源代码
- 实矩阵与复矩阵的LU分解C++源代码
- 图形化的最小生成树C++原代码
- c/c++程序设计课后答案
- c++实现的免疫算法
- C++的图书管理系统
- C++中探出打开文件夹对话框并获取文
- c++ 用回溯法解决经典的N皇后问题
- C++象棋游戏C++象棋游戏C++象棋游戏
- jpg jpeg 解码 转 bmp RGB vs2013 c++
- c++ builder socket
- 迷宫求解 C++ 完整。。。。。
- C语言实现Linux文件系统模拟文档内有
- VC++ 编写的 Modbus 协议类 并附带串口通
- 《从放弃C语言到使用C++刷算法的简明
- c++读写excel
- BDS/GPS导航定位C/C++从Txt文件读取和写
- 求长方体上任意两点间的最短表面距
- QT调用VS生成的C++库
- VC++ HIDAPI实现USB数据读写
- 武汉大学测绘学院大地测量学编程-
- C++ MFC 放大和缩小图片源码
- N皇后问题构造性方法与启发式修补的
- OLE操作word和excel
- 类似QQ登陆界面c++builder
- mfc邮箱地址管理系统(c++access)
评论
共有 条评论