xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 46KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2021-06-06
  • 語言: Matlab
  • 標簽: 拼圖游戲??

資源簡介

利用MATLAB編寫的拼圖游戲完整程序文件,代碼在原來的基礎上進行了改進,程序風格良好無bug,點擊運行即可進行拼圖游戲。

資源截圖

代碼片段和文件信息

%%?制作人:吳限
%?2018年2月14日
function?jigsaw()
%%?主函數
Tag_A=?Disrupt();%將標記矩陣的排列順序打亂
drawmap(Tag_A);%按照標記矩陣顯示拼圖

global?Tag;%Tag是標記矩陣,定義成全局變量,方便傳遞參數
Tag=Tag_A;
set(gcf‘windowButtonDownFcn‘@ButtonDownFcn);%點擊鼠標時調用ButtonDownFcn函數



function?ButtonDownFcn(srcevent)
%%?回調函數,鼠標點擊事件發生時調用
pt=get(gca‘CurrentPoint‘);%獲取當前鼠標點擊位置坐標
xpos=pt(11);%鼠標點擊處的橫坐標實際值
ypos=pt(12);%鼠標點擊處的縱坐標實際值
???
col?=?ceil(xpos/100);%將橫坐標值轉換為列數
row?=?ceil(ypos/100);%將縱坐標值轉換為行數

global?Tag;?%全局變量聲明

if(col<=3&&col>0)&&(row<=3&&row>0)%鼠標點擊位置在有效范圍內????
????Tag=movejig(Tagrowcol);%按點擊位置移動拼圖
????
????drawmap(Tag)%顯示拼圖
????
????order?=?[1?2?3;4?5?6;7?8?0];%順序矩陣
????zt?=?abs(Tag-order);%比較兩個矩陣
????if?sum(zt(:))==0?%順序已經完全吻合
????????image=imread(‘jigsawImage.jpeg‘);
????????imshow(image)?%游戲完成,補全拼圖
????????msgbox(‘You?did?a?good?job?恭喜完成?。?!‘)?%提示完成信息
????????pause(0.5);%延遲半秒
????????close?all?%游戲結束,關閉所有圖像窗口
????end
????
else
????return
????
end




function?tag=movejig(tagrowcol)
?%%?4個if分4種情況對不同位置處的點坐標與矩陣行列式統一
????num?=?tag(rowcol);%鼠標位置與號碼牌一致
????if?(row>1)&&(tag(row-1col)==0)%點擊位置在第二或第三行,空白塊在點擊位置的上一行
????????tag(row-1col)?=?num;%交換兩個位置上的值
????????tag(rowcol)?=?0;
????end
????if?(row<3)&&(tag(row+1col)==0)%點擊位置在第一或第二行,空白塊在點擊位置的下一行
????????tag(row+1col)?=?num;
????????tag(rowcol)?=?0;
????end
????if?(col>1)&&(tag(rowcol-1)==0)%點擊位置在第二或第三列,空白塊在點擊位置的左邊一列
????????tag(rowcol-1)?=?num;
????????tag(rowcol)?=?0;
????end
????if?(col<3)&&(tag(rowcol+1)==0)%點擊位置在第二或第三列,空白塊在點擊位置的右邊一列
????????tag(rowcol+1)?=?num;
????????tag(rowcol)?=?0;
????end
???


function?y?=?Disrupt()
%%?隨機打亂原拼圖排列順序
y?=[123;456;780];

for?i?=?1:360
????row=randi([13]);%產生一個范圍在1到3的整數
????col=randi([13]);
????y=movejig(yrowcol);%按隨機產生的動作打亂拼圖
end



function?x?=?choose(imageindex)
%%?根據索引選擇對應位置上的拼圖塊
if?index>0?%標記為1,2,3,4,5,6,7,8的拼圖塊
????%?計算出行數row以及列數column
????row=fix((index-1)/3);
????column=mod(index-13);
????%?分割出對應拼圖塊數據
????x=image(1+row*100:100*(row+1)1+column*100:100*(column+1):);
else
????x=uint8(255*ones(1001003));%拼圖塊0矩陣數據
end

function?drawmap(A)
%%?將運算數字與對應拼圖對應顯示圖片
origin=imread(‘jigsawImage.jpeg‘);
image=origin;

%?對要顯示的拼圖進行賦值
for?row=1:3
????for?col=1:3
????image(1+(row-1)*100:100*row1+(col-1)*100:100*col:)=choose(originA(rowcol));
????end
end

imshow(image)%顯示拼圖

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2860??2018-02-16?20:55??jigsaw?puzzle\jigsaw.m
?????文件???????45040??2018-02-09?17:09??jigsaw?puzzle\jigsawImage.jpeg
?????目錄???????????0??2018-02-18?21:32??jigsaw?puzzle\

評論

共有 條評論