消灭星星游戏的几个核心逻辑
用10*10的数组nums保存星星,1-5表示有星星,0表示已经消去
1、初始化,5种颜色的星星分配。 1-5
这个最容易,随机分配就好,产生1-100的随机数num,num%5 +1
2、判断游戏是否结束循环数组nums,判断每一个星星是否有相邻的同色星星,有相邻的游戏未结束。每个星星,最多只有4个相邻的星星,这个很容易判断。
game.isEnd=function()
{
var ps;
for(var i=0;i<100;i++)
{
if(!game.nums[i])continue; // 已经消去的,跳过
ps=game.getPos(i); // 数组的索引转换成2维坐标 如;0=[0,0]; 10=[0,1]; 100=[9,9]
if( ps.y>0 && game.nums[i-10]==game.nums[i]){
return 0;
}
if( ps.y<9 && game.nums[i+10]==game.nums[i]){
return 0;
}
if( ps.x>