matlab 自动扫雷,MATLAB自动扫雷(2)——排雷插旗
如果周圍8個方塊和當中數字判斷周圍有空白方塊
% 點擊白塊
function click_blank()
global map
global blocks_x
global blocks_y
global left
global top
global block_width
global block_height
showmap();
iscluck = 0;
for y=1:blocks_y
for x=1:blocks_x
if (1 <= map(x,y)) && (map(x,y) <= 8)
boom_number = map(x,y);
block_white = 0;
block_qi = 0;
for yy=(y - 1):(y + 1)
for xx=(x - 1):(x + 1)
if (1 <= yy) && (1 <= xx) && (yy <= blocks_y) && (xx <= blocks_x)
if ~((yy == y) && (xx == x))
if map(xx,yy) == 0
block_white = block_white +1;
elseif map(xx,yy) == -4
block_qi = block_qi +1;
end
end
end
end
end
if boom_number == block_qi && block_white > 0
for yy=(y - 1):(y + 1)
for xx=(x - 1):(x + 1)
if (1 <= yy) && (1 <= xx) && (yy <= blocks_y) && (xx <= blocks_x)
if ~((yy == y) && (xx == x))
if map(xx,yy) == 0
disp("點開")
win.setMouse(left + (xx-1) * block_width+5,...
top + (yy-1) * block_height+5);
win.leftClick;
iscluck = 1;
end
end
end
end
end
end
end
end
end
if iscluck == 0 && ~all(all(map~=0))
luck();
end
win.setMouse(50,50);
end
總結
以上是生活随笔為你收集整理的matlab 自动扫雷,MATLAB自动扫雷(2)——排雷插旗的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab高中必修三数学模拟,基于MA
- 下一篇: 防摇控制matlab,一种起重机防摇控制