我正在创建一个火柴棍游戏,如果您不知道那是什么,可以播放here。但是,我需要检查给定的电路板是否是获胜电路板,因此我需要计算电路板上剩余的方块数。例如,我可以拥有董事会:
(Graphical representation) (Matrix representation)
--- --- --- 0 1 0 1 0 1 0
| | | 1 0 0 0 1 0 1
--- 0 0 0 0 0 1 0
| | | 1 0 0 0 1 0 1
--- --- --- 0 1 0 1 0 1 0
| | | | 1 0 1 0 1 0 1
--- --- --- 0 1 0 1 0 1 0
有7个方格。但是,我不知道如何确定这里的方格数。每个---
或|
代表一个火柴棍,矩阵中的零表示没有火柴棍,而1代表一个火柴棍的存在。任何帮助都表示赞赏,因为我不知道如何解决这个问题。
答案 0 :(得分:0)
如果目标只计算方格数且棋盘为9x9: 只有3种类型的正方形:
010 01010 0101010
101 10001 1000001
010 00000 0000000
10001 1000001
01010 0000000
0101010
通过在您的电路板中匹配这些模式,您可以计算平方数。
一个想法是将矩阵视为49个字符串,在其中查找模式。
例如(对于小方块),您将获取17个字符的组,并与010xxxx101xxxx010进行比较,这可以写为正则表达式/010[0-1]{4}101[0-1]{4}010/