我想生成每个单一的方式,一个刻度钉脚趾板可以看。我想要的数据格式是一个简单的数组,看起来像这样: [“”,“X”,“O”, “”,“X”,“X”, “”,“O”,“O”]
我需要知道女巫也是空的。我不知道该怎么做。应迭代每一个,然后遍历后面的每一个......
让我们说我是第三个。我是否应该回到第二位,为每个可能的状态做一个,然后进入第一个?
我需要一个递归函数吗?
顺便说一下,这实际上是用JavaScript制作的截图。我确实有一些代码。
答案 0 :(得分:2)
基本上你可以考虑只使用数字
棋盘的整个空间是九个区域,最多可以填充玩家2的所有位置。
这个数值是222222222 3 = 19682 10 。
从这个值开始,你必须跳过像最后一个那样的棋盘状态,这是不可能的,因为它错过了玩家1并且它有很多地方有玩家2。
要检查哪个(结束)位置有效,您需要检查包含玩家1和2 +/- 1的相同计件数,
var value = parseInt('222222222', 3);
console.log(value);

要获取所有位置,您可以将零形式迭代到19682,将数字转换为带有radix = 3
的字符串,并将字符串填充为零,长度为9。
然后检查电路板并消除不可能的状态。
function pad9(v) { return ('000000000' + v).slice(-9); }
var max = parseInt('222222222', 3),
i,
output = '';
for (i = 0; i <= max; i++) {
// add some checks brefore output
output += pad9(i.toString(3)) + '\n';
}
document.getElementById('out').innerHTML = output;
&#13;
<pre id="out"></pre>
&#13;