本文主要是介绍【C语言】五分钟学会一个小游戏-4399的吉普赛读心术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一.效果展示
在4399平台上面有一个游戏叫吉普赛神秘读心术,大概长成这个样子:
这是我小时候的童年震撼,懵懂无知的我每次都觉得特别厉害,不知道为什么每次都能读到我的图案出来。
游戏的规则也很简单:在99以内的数字里面任意挑选一个数字,比如23,那么就将两个数字相加2+3=5,再将这个数和之前的数字相减23-5=18,最后找到数字18的图案,点击水晶球,水晶球就会显示出来你心里的那个图案。
如果你不知道我在说什么,那么可以来实践一下:
以上的1至100每个数字都有对应的生肖,请心里挑选一个数字,然后按照上面的例子那样先将两个数字相加,然后再相减,最后得出一个数字,找到这个数字对应的生肖。
计算完成后,可以拖拉到本文最后一节(第四节.答案)的地方查看答案。
二.原理分析
该游戏的原理十分简单,但是不懂原理的人就能被唬住:
根据最后的出来的结果,可以知道无论你猜的是哪个数字,最后得出来的数肯定是9的倍数,所以我们只要将9的倍数的数字全部换成一样的生肖,就可以了。
三.代码切片
以下的代码提供了一个简易版的,如果有BUG,请自行修复哈哈哈哈:
#include <time.h>
#include <random>
#include <vector>using namespace std;
vector<string> number = {"子鼠","丑牛","寅虎","卯兔","辰龙","巳蛇","午马","未羊","申猴","酉鸡","戌狗","亥猪"};void main(){srand((unsigned int)time(NULL));for (int i = 1; i < 101; i++){if (i % 9 == 0)printf("%d:%s ", i, number[0].c_str());elseprintf("%d:%s ", i, number[rand() % 12].c_str());if (i % 10 == 0)printf("\n");}system("pause");
}
四.答案
答案是子鼠。
这篇关于【C语言】五分钟学会一个小游戏-4399的吉普赛读心术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!