clearmine.m
来自「使用matlab写的类似windows的扫雷游戏」· M 代码 · 共 1,109 行 · 第 1/4 页
M
1,109 行
255 255 255 255 255 255 255 0 192 128
255 255 255 255 255 255 255 0 192 128
255 255 255 0 255 255 255 0 192 128
255 255 0 255 255 255 0 192 192 128
0 0 255 255 255 255 0 192 192 128
255 255 255 255 255 0 192 192 192 128
255 255 255 255 0 192 192 192 192 128
255 255 0 0 192 192 192 192 192 128
0 0 192 192 192 192 192 192 192 128
192 192 192 192 192 192 192 192 192 128
128 128 128 128 128 128 128 128 128 128
]];
Matrix(:,:,3) = [[
255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 192 192 192 192 192 192 192 192 192 192 192
255 255 192 192 192 192 192 192 192 192 192 192 192
255 255 192 192 192 192 192 192 192 192 0 0 0
255 255 192 192 192 192 192 192 0 0 0 0 0
255 255 192 192 192 192 192 0 0 0 0 0 0
255 255 192 192 192 192 0 0 0 0 0 0 0
255 255 192 192 192 0 0 0 0 0 0 0 0
255 255 192 192 192 0 0 0 0 0 0 0 0
255 255 192 192 0 0 0 0 0 0 0 0 0
255 255 192 192 0 0 0 0 0 0 0 0 0
255 255 192 192 0 0 0 0 0 0 0 0 0
255 255 192 192 0 0 0 0 0 0 0 0 0
255 255 192 192 0 0 0 0 0 0 0 0 0
255 255 192 192 192 0 0 0 0 0 0 0 0
255 255 192 192 192 0 0 0 0 0 0 0 0
255 255 192 192 192 192 0 0 0 0 0 0 0
255 255 192 192 192 192 192 0 0 0 0 0 0
255 255 192 192 192 192 192 192 0 0 0 0 0
255 255 192 192 192 192 192 192 192 192 0 0 0
255 255 192 192 192 192 192 192 192 192 192 192 192
255 192 128 128 128 128 128 128 128 128 128 128 128
],[
255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 192
192 192 192 192 192 192 192 192 192 128
192 192 192 192 192 192 192 192 192 128
0 0 192 192 192 192 192 192 192 128
0 0 0 0 192 192 192 192 192 128
0 0 0 0 0 192 192 192 192 128
0 0 0 0 0 0 192 192 192 128
0 0 0 0 0 0 0 192 192 128
0 0 0 0 0 0 0 192 192 128
0 0 0 0 0 0 0 0 192 128
0 0 0 0 0 0 0 0 192 128
0 0 0 0 0 0 0 0 192 128
0 0 0 0 0 0 0 0 192 128
0 0 0 0 0 0 0 0 192 128
0 0 0 0 0 0 0 192 192 128
0 0 0 0 0 0 0 192 192 128
0 0 0 0 0 0 192 192 192 128
0 0 0 0 0 192 192 192 192 128
0 0 0 0 192 192 192 192 192 128
0 0 192 192 192 192 192 192 192 128
192 192 192 192 192 192 192 192 192 128
128 128 128 128 128 128 128 128 128 128
]];
else % Cry
Matrix(:,:,1) = [[
128 128 128 128 128 128 128 128 128 128 128 128 128
128 255 255 255 255 255 255 255 255 255 255 255 255
128 255 255 255 255 255 255 255 255 255 255 255 255
128 255 255 192 192 192 192 192 192 192 192 192 192
128 255 255 192 192 192 192 192 192 192 192 192 192
128 255 255 192 192 192 192 192 192 192 192 0 0
128 255 255 192 192 192 192 192 192 0 0 255 255
128 255 255 192 192 192 192 192 0 255 255 255 255
128 255 255 192 192 192 192 0 255 255 255 255 255
128 255 255 192 192 192 0 255 255 0 255 0 255
128 255 255 192 192 192 0 255 255 255 0 255 255
128 255 255 192 192 0 255 255 255 0 255 0 255
128 255 255 192 192 0 255 255 255 255 255 255 255
128 255 255 192 192 0 255 255 255 255 255 255 255
128 255 255 192 192 0 255 255 255 255 255 255 255
128 255 255 192 192 0 255 255 255 255 255 0 0
128 255 255 192 192 192 0 255 255 255 0 255 255
128 255 255 192 192 192 0 255 255 0 255 255 255
128 255 255 192 192 192 192 0 255 255 255 255 255
128 255 255 192 192 192 192 192 0 255 255 255 255
128 255 255 192 192 192 192 192 192 0 0 255 255
128 255 255 192 192 192 192 192 192 192 192 0 0
128 255 255 192 192 192 192 192 192 192 192 192 192
],[
128 128 128 128 128 128 128 128 128 128 128 128
255 255 255 255 255 255 255 255 255 255 255 192
255 255 255 255 255 255 255 255 255 255 192 128
192 192 192 192 192 192 192 192 192 192 128 128
192 192 192 192 192 192 192 192 192 192 128 128
0 0 0 192 192 192 192 192 192 192 128 128
255 255 255 0 0 192 192 192 192 192 128 128
255 255 255 255 255 0 192 192 192 192 128 128
255 255 255 255 255 255 0 192 192 192 128 128
255 255 0 255 0 255 255 0 192 192 128 128
255 255 255 0 255 255 255 0 192 192 128 128
255 255 0 255 0 255 255 255 0 192 128 128
255 255 255 255 255 255 255 255 0 192 128 128
255 255 255 255 255 255 255 255 0 192 128 128
255 255 255 255 255 255 255 255 0 192 128 128
0 0 0 255 255 255 255 255 0 192 128 128
255 255 255 0 255 255 255 0 192 192 128 128
255 255 255 255 0 255 255 0 192 192 128 128
255 255 255 255 255 255 0 192 192 192 128 128
255 255 255 255 255 0 192 192 192 192 128 128
255 255 255 0 0 192 192 192 192 192 128 128
0 0 0 192 192 192 192 192 192 192 128 128
192 192 192 192 192 192 192 192 192 192 128 128
]] ;
Matrix(:,:,2) = [[
128 128 128 128 128 128 128 128 128 128 128 128 128
128 255 255 255 255 255 255 255 255 255 255 255 255
128 255 255 255 255 255 255 255 255 255 255 255 255
128 255 255 192 192 192 192 192 192 192 192 192 192
128 255 255 192 192 192 192 192 192 192 192 192 192
128 255 255 192 192 192 192 192 192 192 192 0 0
128 255 255 192 192 192 192 192 192 0 0 255 255
128 255 255 192 192 192 192 192 0 255 255 255 255
128 255 255 192 192 192 192 0 255 255 255 255 255
128 255 255 192 192 192 0 255 255 0 255 0 255
128 255 255 192 192 192 0 255 255 255 0 255 255
128 255 255 192 192 0 255 255 255 0 255 0 255
128 255 255 192 192 0 255 255 255 255 255 255 255
128 255 255 192 192 0 255 255 255 255 255 255 255
128 255 255 192 192 0 255 255 255 255 255 255 255
128 255 255 192 192 0 255 255 255 255 255 0 0
128 255 255 192 192 192 0 255 255 255 0 255 255
128 255 255 192 192 192 0 255 255 0 255 255 255
128 255 255 192 192 192 192 0 255 255 255 255 255
128 255 255 192 192 192 192 192 0 255 255 255 255
128 255 255 192 192 192 192 192 192 0 0 255 255
128 255 255 192 192 192 192 192 192 192 192 0 0
128 255 255 192 192 192 192 192 192 192 192 192 192
],[
128 128 128 128 128 128 128 128 128 128 128 128
255 255 255 255 255 255 255 255 255 255 255 192
255 255 255 255 255 255 255 255 255 255 192 128
192 192 192 192 192 192 192 192 192 192 128 128
192 192 192 192 192 192 192 192 192 192 128 128
0 0 0 192 192 192 192 192 192 192 128 128
255 255 255 0 0 192 192 192 192 192 128 128
255 255 255 255 255 0 192 192 192 192 128 128
255 255 255 255 255 255 0 192 192 192 128 128
255 255 0 255 0 255 255 0 192 192 128 128
255 255 255 0 255 255 255 0 192 192 128 128
255 255 0 255 0 255 255 255 0 192 128 128
255 255 255 255 255 255 255 255 0 192 128 128
255 255 255 255 255 255 255 255 0 192 128 128
255 255 255 255 255 255 255 255 0 192 128 128
0 0 0 255 255 255 255 255 0 192 128 128
255 255 255 0 255 255 255 0 192 192 128 128
255 255 255 255 0 255 255 0 192 192 128 128
255 255 255 255 255 255 0 192 192 192 128 128
255 255 255 255 255 0 192 192 192 192 128 128
255 255 255 0 0 192 192 192 192 192 128 128
0 0 0 192 192 192 192 192 192 192 128 128
192 192 192 192 192 192 192 192 192 192 128 128
]] ;
Matrix(:,:,3) = [[
128 128 128 128 128 128 128 128 128 128 128 128 128
128 255 255 255 255 255 255 255 255 255 255 255 255
128 255 255 255 255 255 255 255 255 255 255 255 255
128 255 255 192 192 192 192 192 192 192 192 192 192
128 255 255 192 192 192 192 192 192 192 192 192 192
128 255 255 192 192 192 192 192 192 192 192 0 0
128 255 255 192 192 192 192 192 192 0 0 0 0
128 255 255 192 192 192 192 192 0 0 0 0 0
128 255 255 192 192 192 192 0 0 0 0 0 0
128 255 255 192 192 192 0 0 0 0 0 0 0
128 255 255 192 192 192 0 0 0 0 0 0 0
128 255 255 192 192 0 0 0 0 0 0 0 0
128 255 255 192 192 0 0 0 0 0 0 0 0
128 255 255 192 192 0 0 0 0 0 0 0 0
128 255 255 192 192 0 0 0 0 0 0 0 0
128 255 255 192 192 0 0 0 0 0 0 0 0
128 255 255 192 192 192 0 0 0 0 0 0 0
128 255 255 192 192 192 0 0 0 0 0 0 0
128 255 255 192 192 192 192 0 0 0 0 0 0
128 255 255 192 192 192 192 192 0 0 0 0 0
128 255 255 192 192 192 192 192 192 0 0 0 0
128 255 255 192 192 192 192 192 192 192 192 0 0
128 255 255 192 192 192 192 192 192 192 192 192 192
],[
128 128 128 128 128 128 128 128 128 128 128 128
255 255 255 255 255 255 255 255 255 255 255 192
255 255 255 255 255 255 255 255 255 255 192 128
192 192 192 192 192 192 192 192 192 192 128 128
192 192 192 192 192 192 192 192 192 192 128 128
0 0 0 192 192 192 192 192 192 192 128 128
0 0 0 0 0 192 192 192 192 192 128 128
0 0 0 0 0 0 192 192 192 192 128 128
0 0 0 0 0 0 0 192 192 192 128 128
0 0 0 0 0 0 0 0 192 192 128 128
0 0 0 0 0 0 0 0 192 192 128 128
0 0 0 0 0 0 0 0 0 192 128 128
0 0 0 0 0 0 0 0 0 192 128 128
0 0 0 0 0 0 0 0 0 192 128 128
0 0 0 0 0 0 0 0 0 192 128 128
0 0 0 0 0 0 0 0 0 192 128 128
0 0 0 0 0 0 0 0 192 192 128 128
0 0 0 0 0 0 0 0 192 192 128 128
0 0 0 0 0 0 0 192 192 192 128 128
0 0 0 0 0 0 192 192 192 192 128 128
0 0 0 0 0 192 192 192 192 192 128 128
0 0 0 192 192 192 192 192 192 192 128 128
192 192 192 192 192 192 192 192 192 192 128 128
]] ;
end
% -------------------------------------------------------------------------
function Keypress_fcn( h )
handles = guidata( h ) ;
CurrentKey = get( handles.NewClearMine, 'CurrentKey' ) ;
CurrentCharacter = get( handles.NewClearMine, 'CurrentCharacter' ) ;
if strcmp(CurrentKey, 'f2')
BeginMenu_Callback( handles.NewClearMine ) ;
elseif strcmp(CurrentKey, 'return')
if strcmp( CurrentCharacter, char(10))
GameIsBegin = getappdata( handles.NewClearMine, 'GameIsBegin' ) ;
if isempty( GameIsBegin )
return ;
end
MineNumberArray = getappdata( handles.NewClearMine, 'MineNumberArray' ) ;
if isempty(MineNumberArray)
return ;
end
setappdata( handles.NewClearMine, 'GameOver', 1 ) ;
CData = get( handles.MainPatch, 'FaceVertexCData' ) ;
ZeroIndex = find( MineNumberArray == 0 ) ;
cla( [handles.MainFrame,handles.MainPatch] ) ;
GameInfo = getappdata( handles.NewClearMine, 'GameInfo' ) ;
RowNumber = GameInfo.RowNumber ;
ColNumber = GameInfo.ColNumber ;
TotalMineNumber = GameInfo.MineNumber ;
ButtonPosition = getappdata( handles.NewClearMine, 'ButtonPosition' ) ;
ButtonWidth = getappdata( handles.NewClearMine, 'ButtonWidth' ) ;
XPos = ButtonPosition(1) ;
YPos = ButtonPosition(2) ;
ColorArray = [0 0 1;0 1 0;1 0 0;0 1 1;1 0 1;1 1 0;0 0 0;0 0 1;1 1 0] ;
for num = 1: numel(MineNumberArray)
TempMineNumber = MineNumberArray(num) ;
if TempMineNumber~=0
XIndex = ceil(num/RowNumber)-1 ;
YIndex = mod((num-1), RowNumber)+1 ;
TextXPos = (XIndex + 0.5) * ButtonWidth + XPos ;
TextYPos = YPos - (YIndex + 0.5) * ButtonWidth + ButtonWidth ;
if isnan(TempMineNumber)
text( TextXPos, TextYPos, '●', 'Color', 'k',...
'Parent', handles.MainAxes, 'HorizontalAlignment', 'center', 'FontSize',13 ) ;
else
text( TextXPos, TextYPos, num2str(TempMineNumber), 'Color', ColorArray(TempMineNumber,:),...
'Parent', handles.MainAxes, 'HorizontalAlignment', 'center', 'FontSize',13 ) ;
end
end
end
CData(:,:) = 0.85 ;
set( handles.MainPatch, 'FaceVertexCData', CData ) ;
end
else
return
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?