首页
排行榜
发现
动态
论坛
创作者中心
详情
评价
495
论坛
Android 资料
iOS 资料
bdpq
官方入驻
9.3
预约
2394
关注
11 万
厂商
睡神飞工作室
游戏介绍
上次更新于2016/10/30
烧脑
休闲
益智
独立游戏
简介
睡神飞烧脑系列初代作品,专虐高智商! 苹果【Challenge your brain】专题推荐的全球28个烧脑游戏之一。 “bdpq” 是我花了不少时间创作的一个原创智力游戏。 玩法极其简单,谁都能在几秒钟内学会怎么玩。 但想要还原所有字母却非常非常难,一些人可能好几十天也解不出来个三阶模式。 只有百分之一的人能还原五阶模式。 【游戏玩法】 点击一个字母来选中它所在行与列的所有字母, 左右或上下滑动可将bdpq这四个字母翻转成它们中任何一个字母, 将所有不同字母变成相同的一种字母就赢了。 这个游戏去年五月发布,到现在为止已经有大概五种通用解法了。 【题外话】 作为一个外行的独立开发者,自己摸爬滚打开发游戏已经三年了。在这两年里做了十几款游戏,始终没有自己特别满意的。但一路走来始终记得的是当初为何要进入这行,就是想做出原创的好游戏,上一款游戏花了很多时间心血但却是个失败之作,于是想着试试走极简路线,从游戏核心玩法上作出创新,设计出一款简单又耐玩的游戏给大家,希望大家能喜欢。官方QQ群611217770 睡神飞工作室
供应商 longyufeng
开发者的话
这个游戏是睡神我进入烧脑系列游戏开发后的第一款作品,看似简单却很难,看似很难却又意外简单,目前已知五种解法,你能找到另外的解法么?官方QQ群611217770
评价
共 495 条
去评价
蓝白
玩过
写了个程序把游戏秒了……
感谢各位玩家之前的评价,我是比较膜拜各位自己总结出规律的,由于我比较菜,只能写写代码了。
下面是程序代码,比较暴力……
如大家所说,上下与左右是不相关的,故此程序只解其中一种状态
代码仍有许多可优化之处,还请大家谅解
---------我是分割线----------
#include<iostream>
#include<cmath>
#define N 25 //对应5阶
using namespace std;
bool q[33554432];//数组规模为2^25,修改此处与N的定义值可解出更高阶
unsigned short num(int m,int n) {
unsigned short p = m % 2;
while (n > 0) {
m /= 2;
p = m % 2;
n--;
}
return p;
}
int pow2(int n) {
int output = 1;
while (n > 0) {
output *= 2;
n--;
}
return output;
}
int flap(int m, int n) {
int a = (int)sqrt(N);
int r = n / a;
int c = n - a*r;
m += pow2(n)*(1 - 2 * num(m, n));
for (int i = 0; i < a; i++)m += pow2(r*a + i)*(1 - 2 * num(m, r*a + i));
for (int i = 0; i < a; i++)m += pow2(c + i*a)*(1 - 2 * num(m, c + i*a));
return m;
}
void outputmap(int m) {
int a = (int)sqrt(N);
cout << "--------" << endl;
for (int i = 0; i < N; i++) {
cout << m % 2;
m /= 2;
if (i%a == a - 1)cout << endl;
}
}
void dfs(int m, int c) {
if (q[m])return;
else q[m] = true;
if (m == 0 || m == pow2(N) - 1) {
outputmap(c); return;
}
for (int i = 0; i < N; i++) {
if (num(c, i) == 0)dfs(flap(m, i), c + pow2(i));
}
}
int main() {
int map = 0;
for (int i = 0; i < N; i++) {
char p;
cin >> p;
map += (p - '0')*pow2(i);
}
dfs(map, 0);
return 0;
}
输入格式:
对于n阶,输入n行,每行n个字符
字符为数字0或1,对应翻转的两种状态
输出格式:
n行,每行n个字符;
字符0代表不翻动此位置的卡片;
字符1代表翻动此位置的卡片。
(当然,大家可根据0与1的多寡决定何者为所需翻动的卡片)
输入范例:
01000
11111
01000
01000
01000
输出范例:
00000
01000
00000
00000
评价:
UI简洁好看。
玩法可玩性高,理论上,n阶可以有
(2^(n^2)-2)*2^(n^2)
种关卡(未排除对称、旋转重回关卡)
bdpq这些放一起实在是太像了,玩着有点眼花2333
如果出个diy卡片颜色(或皮肤)什么的可能会舒服些2333
由于我懒+菜,就当作锻炼写代码啦_(:3」∠)_
2017/6/16
来自 小米5S
Sir pneumonia
游戏时长 98 分钟
值得一玩。模式稍微有点枯燥,最多封顶5*5,缺少那么点兴奋感,不过也还可以了。似乎没什么广告大赞!!我研究了一下,毫无头绪的话可以来看看。(已更新方法,无脑流氓法直接见分割线更新的部分,前面的可作参考资料)(还是不懂的先看最后例子)
◆⒈这游戏的操作有两个自由度,也就是二维的,分别是纵和横,可以独立地来操作这两个维度。每个自由度有两个态,分别是上下与左右:具体地,也就是在横向变换上,bp属于一个态(看字母的形状),qd属于另一个态;同理,对纵向变换来说,bd属于一个态,qp算另一个态。我们可以独立对两个方向分别进行操作,两个方向互不影响。
◆⒉当玩到后面矩阵变大了就没法瞎玩了,这对应物理上的熵增原理,即系统的无序度总是倾向于变大的。那么要达成目标我们应该想办法让系统变得有序,而有序的特征便是对称性!要从对称的角度来想办法。具体地,我是这么考虑的:根据前面第一条,我们可以一次只考虑一个方向的整理,完成之后再搞定另一个方向。首先通过几个直观的变换将各个元素尽可能多地变成某一个态(如:4*4的模式下,考虑横向变换,开局是8个b/p态,8个q/d态。我们考虑把它们初步变换成尽量多的d/q态,那么选择一个元素,如果由它展开的十字形区域包含4、5、6或7个的p/b态,我们就就行一次左右变换,这样就有了更多的d/q态。如上操作直到极限)。这样之后就比较清爽了,剩下不多的p/d态(上面例子里面的情形)往往有几个是对称的,考虑以它们为线索进行一些对称的操作,一部分一部分地考虑,慢慢就能搞成同一个态了。
◆3.对称操作举例:同样是上面所述的4*4情形中。a.对某一行(列)全部进行左右(上下)变换,可以使除这行(列)的元素全部翻转;b.画个坐标系,对(1,4),(1,3),(1,2),(4,4),(4,3),(4,2)全部进行左右变换,可以使(1,1)、(4,1)发生翻转。等等。聪明的人可能已经发现了,这个操作的效果和矩阵具体维数也有关系,以上例子只适用4*4情形,5*5要重新找规律,不过不是太难找的。
前来提供一种套路,希望能给一头雾水的小伙伴一些帮助。物理狗用了一点专业名词,我感觉应该写得还算清楚吧,看不懂可以问我。
我按这个套路走感觉有点像做中级数独那种感觉,可以做出来不过有点小辛苦,玩久了有点小枯燥,所以四星。
============日常更新(流氓方法)=========
!!!!!发现一种流氓法,根据第一条,再用一点记忆力就行了:把所有的相同态一次性进行相应自由度的操作就能完成这个自由度的整理了。比如把初始态里面所有b/p的位置记住,对这些位置都进行一次左右操作,这样横向就整理好了。纵向同理。这个我在5*5里面试了几次都成功了,不造有没有例外。(具体的例子我在最后加上了)
●这个我今天在考虑不对称性的来源,原理上讲,所有的不对称性都来源于那些不同的元素,那么对它们同时进行操作,就是最合适的对应于当前情形的“对称”操作了。(获得终极奥义:哪些不对点哪些)
●今天又试了下,好像有的矩阵用这方法一次整理不出来,不过会变得简单很多。懒得推敲的话重复使用流氓法就好了。
●========再来更新加个栗子===========
bppp
pppp
bppp
pppp
把当前所有b的位置(1,4)(1,2)进行上下操作即可。若一次没有成功则重复该过程。
具体过程:
一次变换后
bbbb
pppp
bbbb
pppp
根据原理,接着把第一、三行全部上下变换
得到
pppp
pppp
pppp
pppp
完成。当然,选择p而不是b作为变换对象也是可以的。
2017/1/19
来自 索尼Xperia Z5 Compact
官方
睡神飞工作室
:
相当好,我按照你这个攻略已经成功突破第一关了,你真是个小机灵鬼
TommyJam233
玩过
数理化学霸来啦\(≧▽≦)/
大家好我是学霸T酱。
这个游戏,可谓难倒众人。
运动会那天我把手机给他们看,连我们班的super学霸也研究不出来。
高考数学满分的man,简称我老爸。自从我给他说了这么一款游戏,他天天在那边列公式,打草稿,研究的不亦乐乎。
第一天,他把我的草稿本拿来,用掉了整整五页。
第二天,他干脆就把整本用完了。
然后我仔细看看他的草稿,发现了猫腻。
例如做4*4的时候,若从边角开始点,则导致角的两边不均匀,也就是说,你要从最中间开始点,再点四个顶点,这样有很大几率能赢,而且用时也会较短。
后来他跟我说:“这游戏有点难啊,公式不怎么好找,最主要就是找到bdpq四个字母的排列与翻转的规律,所以应该属于几何学的内容。不过我觉得,做这个游戏的人一定很聪明。”
好了,听了这一席话,我终于要开始我的数理化**之路了。
准备。。。。。。
哔~~~
向睡神致敬!!
2017/3/9
来自 OPPO R1C
Faker唯一正牌老婆
期待
第一次见到这样的游戏...有点虐啊 心态有点爆炸...比较容易误操作 翻转前的那个定位容易在滑的过程中跑偏 特别是块多的时候 整个游戏是有技巧的 比较难上手
建议可以把不同图案方块的颜色改一下以提高辨识度 本身图案已经很像了 色调还一样 往后玩简直要瞎了
上课玩的没开声音不知道bgm怎么样...定位应该是单机小游戏 没事干的时候搓一局 或者哪个dalao用来所以忽悠忽悠的 我还是比较喜欢这类小游戏的 但是就我个人而言 我会选数独...
2018/5/8
来自 iPhone 7
论坛
夏洛克聂
2016/12/31
bdpq
简单攻略(无需公式,轻松解决任意阶方阵)
【二阶】 首先,任意初始状态,自选两个对角并转成一样: 然后使用左下角将两个同向的块的转成右上角的状态: 最后将三个同向的块转成最后一块的样子 【三阶】 如图,三阶由一个二阶和一个拐角组成,只要先在里面找一个二阶按上面的方法完成,拐角就会自动同向,最后把拐角转到二阶的方向就完成了: 【四阶及以上】 四阶就无法使用三阶的方法了,四阶及以上的方阵的诀窍就是:成对操作。 /在某一行里选一对方块进行同样的
5
bdpq
2018/11/21
bdpq
《bdpq》新版《b不b》已经发布!To b or not to b,这是个难题。
一些老玩家知道,我两年多年做了一个叫《bdpq》的烧脑游戏,由于入门太难,知道解法后又变得太简单,所以玩起来是很不友好的,所以我又做了个新版,争取做到,入门极简,后期极难,有大量关卡可供尝试。游戏刚刚发布,希望大家头发安好,阿门。 新游戏地址: 已经发布!!! 另外一堆新游戏正在路上。
相关游戏
Imaginary Space
测试
9.5
烧脑
益智
几何
极限烧脑之旅
9.1
益智
烧脑
休闲
匠木
8.9
传统文化
独立游戏
国风
彩色水排序大师
测试
5.7
休闲
扫雷F
测试
8.9
益智
竖屏
单机
记忆大师
测试
8.6
单机
休闲
益智
全民数独
8.8
益智
烧脑
单机
按钮之谜
8.6
付费下载
极简
单机
墨盘
9.5
益智
水墨
解谜
同一个世界
8.3
独立游戏
唯美
解谜
我的乐消除
测试
5.3
休闲
漫画手绘簿
测试
3.9
休闲
六边形拼图
8.9
益智
休闲
单机
方块消除达人
7.7
极简
消除
谜题发烧友
7.8
益智
烧脑
论坛