C++比大小游戏

目录

开头

大家好,我叫这是我58

程序

cpp 复制代码
#include <iostream>
#include <Windows.h>
using namespace std;
int main() {
	int ir = 1;
	char chparr[2] = { 0 };
	int ip1 = 0;
	int ip2 = 0;
	int i = 1;
	cout << "欢迎你们来玩这个比大小游戏,在这个游戏中,P1只能输入1~8以内的数和未知数X来跟P2的数比大小,P2也只能输入1~8以内的数和未知数X来跟P1的数比大小,这里面的未知数X的规则是:如果对面的数<5,那么未知数X=0,否则未知数X=9,而如果P1的数大于P2的数,那么P1记一分,如果P2的数大于P1的数,那么P2记一分,如果P1的数等于P2的数,那么谁都不记一分,这样的对局一共有三轮,如果P1的分大于P2的分,那么P1胜利,如果P2的分大于P1的分,那么P2胜利,但如果P1的分等于P1的分,那么P1和P2就平局了,你听明白了吗?" << endl << endl;
	for (; ir < 4; ir++) {
		system("pause");
		system("color 07");
		system("cls");
		cout << "第" << ir << "局\t" << ip1 << " : " << ip2 << endl;
		for (i = 1; i < 3; i++) {
			cout << "1 2 3 4 5 6 7 8 X" << endl << "请P" << i << "输入上面的其中一个数字 -> ";
			cin >> chparr[i - 1];
			rewind(stdin);
			while (!(chparr[i - 1] > '0' && chparr[i - 1] < '9' || 'X' == chparr[i - 1])) {
				cout << "\033[31;1m输入错误\033[0m,请P" << i << "重新输入上面的其中一个数字 -> ";
				cin >> chparr[i - 1];
				rewind(stdin);
			}
			chparr[i - 1] -= '0';
			cout << endl;
		}
		cout << endl;
		for (i = 0; i < 2 && chparr[0] != chparr[1]; i++) {
			40 == chparr[i] && (chparr[1 - i] < 5 && (chparr[i] = 0), chparr[1 - i] < 5 || (chparr[i] = 9));
		}
		if (chparr[0] > chparr[1]) {
			system("color 02");
			cout << "P1胜,记一分" << endl;
			ip1++;
		}
		else if (chparr[0] < chparr[1]) {
			system("color 02");
			cout << "P2胜,记一分" << endl;
			ip2++;
		}
		else {
			system("color 08");
			cout << "平局,无人记分" << endl;
		}
	}
	system("pause");
	system("color 07");
	system("cls");
	cout << ip1 << " : " << ip2 << endl << "最终获胜的人是:";
	Sleep(1500);
	if (ip1 > ip2) {
		system("color 0A");
		cout << "P1!" << endl;
	}
	else if (ip1 < ip2) {
		system("color 0A");
		cout << "P2!" << endl;
	}
	else {
		system("color 08");
		cout << "无人,请再接再厉!" << endl;
	}
	return 0;
}

程序的流程图

是(等待用户按下任意一个键,按下后就把背景色设为黑色,前景色设为白色,并清屏) 是 是 否 否 是 是 是 是 否 是 否(等待用户按下任意一个键,按下后就把背景色设为黑色,前景色设为白色,并清屏) 等待1.5秒 是 否 是 否 否 是 否 否 否 否 开始 导入io流 导入Windows.h 定义整型ir为1 把有两个字符的字符数组chparr全都初始化为0 定义整型ip1为0 定义整型ip2为0 定义整型i为1 输出"欢迎你们来玩这个比大小游戏,在这个游戏中,P1只能输入1~8以内的数和未知数X来跟P2的数比大小,P2也只能输入1~8以内的数和未知数X来跟P1的数比大小,这里面的未知数X的规则是:如果对面的数<5,那么未知数X=0,否则未知数X=9,而如果P1的数大于P2的数,那么P1记一分,如果P2的数大于P1的数,那么P2记一分,如果P1的数等于P2的数,那么谁都不记一分,这样的对局一共有三轮,如果P1的分大于P2的分,那么P1胜利,如果P2的分大于P1的分,那么P2胜利,但如果P1的分等于P1的分,那么P1和P2就平局了,你听明白了吗?\n\n" ir < 4? 输出"第",ir,"局\t",ip1," : "ip2,并换行 设i为1 i < 3? 输出"1 2 3 4 5 6 7 8 X\n请P",i和"输入上面的其中一个数字 -> " 把字符数组chparr的第i减1项设为你输入的内容 清空缓存区 !(chparri - 1 > '0' && chparri - 1 < '9' || 'X' == chparri - 1) 输出"\03331;1m输入错误\\033\[0m,请P",i和"重新输入上面的其中一个数字 -\> " 把字符数组chparr的第i减1项设为你输入的内容 清空缓存区 把字符数组chparr的第i减1项自减去字符"0"的ASCII码值 输出"\\n" i自增1 输出"\\n" 设i为0 i \< 2 \&\& chparr\[0 != chparr1? 40 == chparri? chparr1 - i < 5? 把字符数组chparr的第i项设为0 chparr1 - i < 5? i自增1 chparr0 > chparr1? 把背景色设为黑色,前景色设为绿色 输出"P1胜,记一分\n" ip1自增1 ir自增1 输出ip1," : ",ip2和"\n最终获胜的人是:" ip1 > ip2? 把背景色设为黑色,前景色设为淡绿色 输出"P1!\n" 结束 ip1 < ip2? 背景色设为黑色,前景色设为淡绿色 输出"P2!\n" 把背景色设为黑色,前景色设为灰色 输出"无人,请再接再厉!\n" chparr0 < chparr1? 把背景色设为黑色,前景色设为绿色 输出"P2胜,记一分\n" ip2自增1 把背景色设为黑色,前景色设为灰色 输出"平局,无人记分\n" 把字符数组chparr的第i项设为9

程序游玩的效果

比大小游戏

下一篇博客要说的东西

C++3D迷宫

相关推荐
落羽的落羽7 分钟前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生9 分钟前
Linux-进程控制
linux·运维·服务器·c++
刃神太酷啦29 分钟前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
DK185838322521 小时前
【源码开源部署】电竞代练护航陪玩小程序:全游戏服务平台完整解决方案(附宝塔部署教程)
游戏·微信小程序·uni-app·开源·php
喜欢吃燃面3 小时前
深入 C++ STL:从 unordered_set与unordered_map到底层哈希表的原理与实现
数据结构·c++·散列表
FlightYe4 小时前
音视频修炼之基础理论(五):AAC格式与解析
android·linux·c++·音视频·aac
ShineWinsu5 小时前
对于MySQL:数据库的操作的解析
linux·数据库·c++·mysql·面试·笔试·库的操作
ZKXinHuo5 小时前
芯片中试为何越来越重要?无锡12英寸晶圆加工服务商的工程解答
其他
云小逸5 小时前
C++ 第一阶段:对象、内存与生命周期
开发语言·c++
夜航海图5 小时前
S-57 数据解剖:把一个 ENC 文件拆给你看
c++