长评37 游戏时长 1h+好评中评差评有趣好玩285 画面优秀47 音效动听24 UI美观15 轻松护肝6 运行稳定性97 玩法设计94 操作体验55 画面视觉20 音效音乐20 UI设计10 广告频率5 日常肝度3 氪金付费3 外挂问题2
以前从来没有写过评论,因为懒。。。
第一眼看到这个画面就眼前一亮,自从背完易经后就想做个和易有关的游戏,主要是想推广群经之首。好吧,扯远了。。。
前面25关,比较轻松。正在无聊的时候,到了26关提示可以跳关,果断跳到51。然后发现确实难了点,花了10分钟玩到54,觉得应该有规律,但没去找,因为懒。。。
然后想着一劳永逸地解决这个问题,在这之前去瞅了眼99,顿时为自己的选择无比庆幸,我可不想好不容易在工作中存活下来,却猝死在一款游戏中。呃,又扯远了。。。
今天下午无聊的时候写了段代码,然后看了下过关提示,然后,就没有然后了。。。
代码如下,有兴趣(闲的蛋疼)的童鞋可以试试。
其中,n表示这关总共几个球,shape是指那几根线指着的球所表示的值,黑为1,白为0,按顺时针方向排列,一个球一个bit,起点你可以自己定。target就是每关刚开始的时候所展示的图案值,计算方法同上,此处也要选定一个起点,简便起见,两个起点最好重合。最后,将返回值按二进制写在纸上,若该位为1,则将之前选作起点的那根线对着该位所在的球,按一下八卦,若为0,则啥也不做,然后从低位到高位依次操作即可。
最后,对作者说声抱歉,实在是本人智商捉急,但又比较好奇通关之后会出现啥,就取了个巧,罪过罪过。。
#include "stdafx.h"#include <iostream>#include <vector>bool resolve(int n, int shape, int target, std::vector<int>& results){ if (n <= 0 || n >= 32) return false; results.clear(); int* shapes = new int[n]; for (int i = 0, base = (1 << n) - 1;i < n;++i) { shapes[i] = ((shape << i) | (shape >> (n - i))) & base; } for (int i = 1, sum = 1 << n, result;i <= sum;++i) { result = target; for (int j = 1, k = 0;j != 0;j <<= 1, ++k) { if ((i & j) != 0) { result ^= shapes[k]; } } if (result == 0 || result == sum - 1) { results.push_back(i); } } return results.size() > 0;}int _tmain(int argc, _TCHAR* argv[]){ std::vector<int> solution; if (resolve(24, 0x15ab5d, 0xe85f5b, solution)) { std::cout<<"当前太极puzzle有以下解:"<<std::endl; std::cout<<std::hex<<solution[0]; for (int i = 1, size = solution.size();i < size;++i) { std::cout<<std::hex<<", "<<solution[i]; } std::cout<<std::endl; } else { std::cout<<"当前太极puzzle无解:"<<std::endl; } system("pause"); return 0;}