12月04, 2016

【小撸一发】井字游戏判断结果

井字游戏大家应该都听说过,就是一个九宫格两人一次下棋,谁先排成一排谁赢。这个题目中给出一个数组,我们来判断游戏结果,双方分别代表1,2,1 赢返回1,2 赢返回 2,平局返回 0。

其实赢的情况只有横,纵,斜排成一排,我们第一反应可以是通过数组坐标来判断,而其实这个问题用正则来解决可以非常简单,代码如下:

function isSolved(board) {
   board = board.join("-").replace(/,/g,"");
   if(/222|2...2...2|2....2....2/.test(board)) return 2;
   if(/111|1...1...1|1....1....1/.test(board)) return 1;
   if(/0/.test(board)) return -1;
   return 0;
}

本文链接:http://www.zhengqingxin.com/post/day_tic-tac-toe.html

-- EOF --

Comments