C++控制台程序(文字小游戏)
学习UE4 C++之前的复习,用了很多没啥用的小技巧.也没什么深度好讲的,有兴趣的小伙伴拉走编译就行了:
#include <iostream>
#include <ctime>
using namespace std;
#define random(x) (rand()%x)
int main(){
srand((int)time(0));
std::cout<<"欢迎参加本次试炼游戏,在本次试炼中,你必须与时间赛跑,找出谜题中的数字:"<<std::endl;
std::cout<<"你需要找到符合条件的数字(数字不会为0),输入'0'结束游戏:"<<std::endl;
bool isWin=true;
bool Wyou=false;
int level=3;
do
{
int num[10];
int sum=1;
int pro=0;
int les=0;
int did=0;
for (size_t i = 0; i < level; i++)
{
num[i]=random(9)+1;
sum*=num[i];
pro+=num[i];
les=num[i]-num[i-1];
did=num[0]+num[i];
}
cout<<"\n\n现在,你进入了第 ["<<(level-2)<<"] 关!"<<endl;
cout<<"有 ["<<level<<"] 个数字作为密码!"<<endl;
cout<<"A : 它们相乘等于 = "<<(sum)<<endl;
cout<<"B : 它们相加等于 = "<<(pro)<<endl;
cout<<"C : 最后一个数字减前一个数字 = "<<(les)<<endl;
cout<<"D : 第一个加最后一个数字等于 = "<<(did)<<endl;
int x=127; // 0111 1111
for (size_t i = 0; i < level-3; i++)
{
switch (rand()%(level))
{
case 0:
if ((x & 1) ==1)
{
cout<<"A-D再减去第一个数字 = "<<((sum)-(did)-num[0])<<endl;
x=x&1; //0111 1111 & 0000 0001
}
case 1:
if ((x & 2) ==2)
{
cout<<"A*C再加第3个数字 = "<<((sum)*(les)+num[2])<<endl;
x=x&2;
}
case 2:
if ((x & 4) ==4)
{
cout<<"B+D再乘第2个数字 = "<<(((pro)+(did))*num[1])<<endl;
x=x&4;
}
case 3:
if ((x & 8) ==8)
{
cout<<"B*本关对应的数字 = "<<((pro)*num[level-3])<<endl;
x=x&8;
}
case 4:
if ((x & 16) ==16)
{
cout<<"C-本关对应的数字 = "<<((les)-num[level-3])<<endl;
x=x&16;
}
case 5:
if ((x & 32) ==32)
{
cout<<"第二个数字加本关对应的数字 = "<<(num[1]+num[level-3])<<endl;
x=x&32;
}
case 6:
if ((x & 64) ==64)
{
cout<<"C-B再乘上本关对应的数字 = "<<((les-pro)*num[level-3])<<endl;
x=x&64;
}
break;
default:
cout<<"本关对应的数字 = "<<(num[level-3])<<endl;
break;
}
x=127^x;
}
cout<<endl;
cout<<endl;
// for (size_t i = 0; i < level; i++)
// {
// cout<<"a = "<<num[i]<<endl;
// }
int iput[10];
int Psum=1;
int Ppro=0;
int Ples=0;
int Pdid=0;
for (size_t i = 0; i < level; i++)
{
cout<<"还剩下 ["<<(level-i)<<"] 个数字需要你输入."<<endl;
cout<<"输入你的第 ["<<(i+1)<<"] 个数字 : ";
bool isNum=true;
cin>>iput[i];
while (!cin)
{
char ch;
if ((ch=getchar())!='\n')
{
continue;
}
cout<<"你没有输入数字呢,请重新输入 : ";
cin.clear();
cin.sync();
cin>>iput[i];
}
Psum*=iput[i];
Ppro+=iput[i];
Ples=iput[i]-iput[i-1];
Pdid=iput[0]+iput[i];
if (Psum==0)
{
isWin=false;
system("cls");
cout<<"你输入了0结束了游戏."<<endl;
break;
}
}
if (Psum==sum && Ppro==pro && Ples==les && Pdid==did)
{
system("cls");
cout<<"看来我低估你了,你通过了第 ["<<level-2<<"] 关."<<endl;
level++;
if (level==8)
{
isWin=false;
Wyou=true;
}
}
else
{
system("cls");
cout<<"看来你还没做好准备,洗洗睡吧."<<endl;
isWin=false;
}
} while (isWin);
if (Wyou)
{
system("cls");
cout<<"你竟然通过了全部关卡?这不可能! 不过,你真的很强!!!"<<endl;
}
system("pause");
return 0;
}
C++控制台程序(文字小游戏)相关推荐
- 利用Python基础代码语句,实现2G时代文字小游戏,世界如此简单
优质文章,第一时间送达! 相信许多80,90后都玩过2G时代的文字小游戏,它是来自QQ家园的专属回忆.偷菜,美味小镇,大乐斗,还有精武堂等等,虽然只是文字的输出,但是留给我们这一代的人的印象却是最深刻 ...
- python做游戏代码_利用Python基础代码语句,实现2G时代文字小游戏,世界如此简单!...
相信许多80,90后都玩过2G时代的文字小游戏,它是来自QQ家园的专属回忆.偷菜,美味小镇,大乐斗,还有精武堂等等,虽然只是文字的输出,但是留给我们这一代的人的印象却是最深刻的.曾经流量很少,响应很快 ...
- 利用Python基础代码语句,实现2G时代文字小游戏,学会难道不香吗?
相信许多80,90后都玩过2G时代的文字小游戏,它是来自QQ家园的专属回忆.偷菜,美味小镇,大乐斗,还有精武堂等等,虽然只是文字的输出,但是留给我们这一代的人的印象却是最深刻的.曾经流量很少,响应很快 ...
- 利用Python基础代码语句,实现2G时代文字小游戏,世界如此简单!
相信许多80,90后都玩过2G时代的文字小游戏,它是来自QQ家园的专属回忆.偷菜,美味小镇,大乐斗,还有精武堂等等,虽然只是文字的输出,但是留给我们这一代的人的印象却是最深刻的.曾经流量很少,响应很快 ...
- 改进Python文字小游戏(4)
前面,我们讲了变量和字符串的一些种类.朋友们,还记得我们之前的那个智障的文字小游戏吗?今天,我们要做的第一件事就是来改进我们的文字小游戏,至于第二件事嘛,先让我卖个关子,众位客官,注意咯! 1)首先, ...
- python实现文字游戏_改进Python文字小游戏(4)
前面,我们讲了变量和字符串的一些种类.朋友们,还记得我们之前的那个智障的文字小游戏吗?今天,我们要做的第一件事就是来改进我们的文字小游戏,至于第二件事嘛,先让我卖个关子,众位客官,注意咯! 1)首先, ...
- 控制台推箱子小游戏C语言
自己开发的C语言控制台推箱子小游戏,基于二维数组实现,功能不多但是游戏整体较为完整,因为技术有限,所以代码暂未优化且整体显得较为臃肿,整体架构简单,代码全自主设计编写,仅作交流学习,还望大佬多多指点. ...
- 微信小程序,小游戏sockect报错修复集合
微信小程序,小游戏的sockect的报错修复教程 适用范围:所有版本的小程序,小游戏 报错1:errMsg: "open fail: _code:8,_msg:TLS handshake f ...
- java演练 谁在哪里做什么 文字小游戏开发
java演练 谁在哪里做什么 文字小游戏开发 视频 java演练 谁在哪里做什么 - 西瓜视频 https://www.ixigua.com/6870326962703827469/ 代码 impor ...
最新文章
- c# lock (obj) 与 lock (this) 区别
- Angular 2+ 监听路由变化动态设置页面标题
- Codeforces 1106F Lunar New Year and a Recursive Sequence (数学、线性代数、线性递推、数论、BSGS、扩展欧几里得算法)...
- InSAR 处理软件
- 裴蜀定理(note)
- Flutter入门:如何只关闭自身页面
- 记录sqlserver中使用变量
- Spark学习笔记:使用RDD
- Xml+Xsl:内容与形式的完美分离
- R语言实现︱局部敏感哈希算法(LSH)解决文本机械相似性的问题(一,基本原理)
- iOS 疑难杂症 — — 推送本地国际化 loc-key 本地化失败的问题
- JMeter 安装教程(详细安装教程)
- 《数学建模算法与应用》方法概述
- 【题解】LuoGu5423:[USACO19OPEN]Valleys P
- HTML的id选择器类选择器
- 【iOS开发-39】为什么按钮点击时背景图片颜色灰蒙蒙的?与按钮的Type属性有关
- 白酒行业如何结合互联网模式突破年营业额过亿
- windows10桌面鼠标右键出现卡顿解决方法
- DeFi发币潮之下,散户真能赚到钱吗?
- 南加大计算机本科学费,解析|南加州大学学费及生活费
热门文章
- 获取当前时间一年后的日期
- 深入理解PID的微分、积分电路
- EXCEL中插入图形
- selenium下Edge()配置错误问题
- HEVC量化:色度QP值
- TranUnet 复现[Errno 2] No such file or directory: ‘./model/TU_Synapse224/TU_pretrain_ViT-B_16_skip3_ep
- Vert.x(vertx) 创建HTTP服务
- [Python3]Python官方文档-Python Manuals
- 灰度直方图及直方图均衡化的MATLAB实现
- c语言 for each循环,C#中foreach循环对比for循环的优势和劣势