成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 如何利用Matlab制作一款真正的拼圖小游戲

如何利用Matlab制作一款真正的拼圖小游戲

熱門標簽:廣告地圖標注app 騰訊外呼線路 公司電話機器人 唐山智能外呼系統(tǒng)一般多少錢 陜西金融外呼系統(tǒng) 激戰(zhàn)2地圖標注 白銀外呼系統(tǒng) 哈爾濱ai外呼系統(tǒng)定制 海南400電話如何申請

效果:



簡單原理介紹:

1構(gòu)造0,1矩陣作為每片拼圖的透明度,可以構(gòu)造出不規(guī)則形狀的拼圖(image函數(shù)有alphaData屬性可以設置)

jigsawMask=zeros(101*5,101*5);
jigsawMask(102:404,102:404)=1;
[xMesh,yMesh]=meshgrid(1:101*5,1:101*5);
dis1=sqrt((xMesh-51).^2+(yMesh-253).^2);
dis2=sqrt((xMesh-505+50).^2+(yMesh-253).^2);
dis3=sqrt((xMesh-253).^2+(yMesh-152).^2);
dis4=sqrt((xMesh-253).^2+(yMesh-505+151).^2);
bool1=dis1=50;
bool2=dis2=50;
bool3=dis3=50;
bool4=dis4=50;
jigsawMask(bool1)=1;
jigsawMask(bool2)=1;
jigsawMask(bool3)=0;
jigsawMask(bool4)=0;
jigsawMask(253-25:253+25,51:505-50)=1;
jigsawMask(1:152,253-25:253+25)=0;
jigsawMask(505-151:505,253-25:253+25)=0;

2為每片拼圖塊設置ButtonDownFcn屬性,將其改造成按鈕

完整代碼:

function jigsaw2(path)

if nargin1||isempty(path)
    [filename, pathname] = uigetfile({'*.jpg;*.tif;*.png;*.jpeg','All Image Files';...
            '*.*','All Files' });
    path = [pathname,filename];
    
end
oriPic=imread(path);
%imshow(oriPic)

jigsawMask=zeros(101*5,101*5);
jigsawMask(102:404,102:404)=1;
[xMesh,yMesh]=meshgrid(1:101*5,1:101*5);
dis1=sqrt((xMesh-51).^2+(yMesh-253).^2);
dis2=sqrt((xMesh-505+50).^2+(yMesh-253).^2);
dis3=sqrt((xMesh-253).^2+(yMesh-152).^2);
dis4=sqrt((xMesh-253).^2+(yMesh-505+151).^2);
bool1=dis1=50;
bool2=dis2=50;
bool3=dis3=50;
bool4=dis4=50;
jigsawMask(bool1)=1;
jigsawMask(bool2)=1;
jigsawMask(bool3)=0;
jigsawMask(bool4)=0;
jigsawMask(253-25:253+25,51:505-50)=1;
jigsawMask(1:152,253-25:253+25)=0;
jigsawMask(505-151:505,253-25:253+25)=0;


resizePic=imresize(oriPic,[101*(3*4+2),101*(3*4+2)]);
Mainfig=figure('units','pixels','position',[300 80 720 400],...
                       'Numbertitle','off','menubar','none','resize','off',...
                       'name','jigsaw');
Mainaxes=axes('parent',Mainfig,'position',[0 0 1 1],...
                    'XLim', [0 720],...
                    'YLim', [0 400],...
                    'NextPlot','add',...
                    'layer','bottom',...
                    'YDir','reverse',...
                    'Visible','on',...
                    'XTick',[], ...
                    'YTick',[]);
                
                
image(Mainaxes,[420,420+14*20],[20,20+14*20],resizePic)
whiteMask=150*ones(100,100,3);
whiteMask(2:99,2:99,:)=255;
for i=1:4
    for j=1:4
        image(Mainaxes,440+[0,60]+(j-1)*60,40+[0,60]+(i-1)*60,uint8(whiteMask),...
            'UserData',[i,j]','Visible','on');
    end
end
for i=1:4
    for j=1:4
        picHdlR(j+(i-1)*4)=image(Mainaxes,420+[0,100]+(j-1)*60,20+[0,100]+(i-1)*60,uint8(zeros(100,100,3)),'alphaData',zeros(100,100),...
            'UserData',j+(i-1)*4,'ButtonDownFcn',@putPiece,'Visible','on');
    end
end

logsheetR=zeros(1,16);
    function putPiece(object,~)
        object.UserData
        if logsheetR(object.UserData)==0handHdl.UserData~=0
            object.CData=handHdl.CData;
            object.AlphaData=handHdl.AlphaData;
            logsheetR(object.UserData)=handHdl.UserData;
            handHdl.UserData=0;
            handHdl.CData=uint8(zeros(100,100,3));
            handHdl.AlphaData=zeros(100,100);
        elseif logsheetR(object.UserData)~=0handHdl.UserData==0
            handHdl.UserData=logsheetR(object.UserData);
            handHdl.CData=object.CData;
            handHdl.AlphaData=object.AlphaData;
            logsheetR(object.UserData)=0;
            object.CData=uint8(zeros(100,100,3));
            object.AlphaData=zeros(100,100);
        end
        if all(logsheetR==1:16)
            text1.String='恭喜你,游戲勝利!';
        end
    end



%==========================================================================
                
for i=1:4
    for j=1:4
        tempPiece=resizePic((i-1)*303+1:(i-1)*303+505,(j-1)*303+1:(j-1)*303+505,:);
        if mod(i+j,2)==0     
            tempMask=jigsawMask';
        else
            tempMask=jigsawMask;
        end
        if j==1
            tempMask(:,1:101)=0;
            tempMask(102:404,102:201)=1;
        end
        if j==4
            tempMask(:,405:505)=0;
            tempMask(102:404,304:404)=1;
        end
        if i==1
            tempMask(1:101,:)=0;
            tempMask(102:201,102:404)=1;
        end
        if i==4
            tempMask(405:505,:)=0;
            tempMask(304:404,102:404)=1;
        end
        picHdl(j+(i-1)*4)=image(Mainaxes,[0,100]+(j-1)*100,[0,100]+(i-1)*100,tempPiece,'alphaData',tempMask,...
            'UserData',j+(i-1)*4,'ButtonDownFcn',@selectPiece);
        
        whiteHdl(j+(i-1)*4)=image(Mainaxes,[0,100]+(j-1)*100,[0,100]+(i-1)*100,uint8(240*ones(100,100,3)),'alphaData',ones(100,100),...
            'UserData',[i,j],'ButtonDownFcn',@selectPiece,'Visible','off');
    end
end

RandNum=rand(1,16);
[~,logSheet]=sort(RandNum);

for i=1:4
    for j=1:4
        picHdl(logSheet(j+(i-1)*4)).XData=[0,100]+(j-1)*100;
        picHdl(logSheet(j+(i-1)*4)).YData=[0,100]+(i-1)*100;
    end
end


handHdl=image(Mainaxes,[0,100],[0,100],uint8(zeros(100,100,3)),...
    'alphaData',zeros(100,100),'UserData',0,'PickableParts','none');

    set(gcf,'WindowButtonMotionFcn',@onhandfunc)
    function onhandfunc(~,~)
        xy=get(gca,'CurrentPoint');
        x=xy(1,1);y=xy(1,2);
        handHdl.XData=[x-50,x+50];
        handHdl.YData=[y-50,y+50];  
    end

    function selectPiece(object,~)
        %object.UserData
        if length(object.UserData)==1
            if handHdl.UserData~=0
                picHdl(handHdl.UserData).Visible='on';  
                whiteHdl(logSheet==handHdl.UserData).Visible='off';
            end
            object.Visible='off';
            whiteHdl(logSheet==object.UserData).Visible='on';
            
            handHdl.UserData=object.UserData;
            handHdl.CData=object.CData;
            handHdl.AlphaData=object.AlphaData;
        else
            if handHdl.UserData==0
            else
                ii=object.UserData(1);
                jj=object.UserData(2);
                object.Visible='off';
                picHdl(handHdl.UserData).XData=[0,100]+(jj-1)*100;
                picHdl(handHdl.UserData).YData=[0,100]+(ii-1)*100;
                picHdl(handHdl.UserData).Visible='on';
                logSheet(jj+(ii-1)*4)=handHdl.UserData;
                
                handHdl.UserData=0;
                handHdl.CData=uint8(zeros(100,100,3));
                handHdl.AlphaData=zeros(100,100);              
            end
        end 
    end
%==========================================================================
fill([420,420+14*20,420+14*20,420],[320,320,380,380],[0.9412    0.9412    0.9412],'LineWidth',5,'EdgeColor',[0.7,0.7,0.7])
text1=text(430,350,'請點擊拼圖塊中心位置移動拼圖塊','fontSize',12);

end

運行m文件后選擇一張接近方形的圖片即可開始游戲

總結(jié)

到此這篇關于如何利用Matlab制作一款真正的拼圖小游戲的文章就介紹到這了,更多相關Matlab拼圖小游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Matlab實現(xiàn)時間序列預測分類實例代碼
  • 利用Matlab繪制各類特殊圖形的實例代碼
  • 圖文詳解matlab原始處理圖像幾何變換
  • Matlab如何實現(xiàn)矩陣復制擴充
  • 利用Matlab提取圖片曲線

標簽:鷹潭 惠州 黑龍江 益陽 四川 常德 上海 黔西

巨人網(wǎng)絡通訊聲明:本文標題《如何利用Matlab制作一款真正的拼圖小游戲》,本文關鍵詞  如何,利用,Matlab,制作,一款,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何利用Matlab制作一款真正的拼圖小游戲》相關的同類信息!
  • 本頁收集關于如何利用Matlab制作一款真正的拼圖小游戲的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲视频综合| 午夜免费视频在线国产| 天天摸天天碰天天添| av观看在线免费| 91亚洲欧美激情| 欧美日韩一区二区欧美激情| 久久99久久99精品蜜柚传媒| xnxx国产精品| 日本黄色播放器| 亚洲欧洲一区二区天堂久久| 免费亚洲精品视频| 日韩免费久久| 豆花视频一区二区| 我看黄色一级片| 男人的天堂久久| 国产一区免费电影| 午夜av一区二区三区| 国产字幕在线观看| 男女污视频在线观看| 国产中文字幕亚洲| www.久久久久久久| 在线精品一区| 国产人妖一区二区| 日本在线免费| 日韩系列在线| 中文字幕一区二区三区精品| 蜜桃av色综合| 成人国产免费视频| 国产精品福利在线| mm1313亚洲国产精品无码试看| 一区二区三区在线观看国产| 欧美日韩精品一区二区三区四区| 免费看成人av| 久久久久久一级片| 2023国产精品自拍| 色婷婷综合久久久久中文一区二区| 非洲黑人最猛性xxxx交| 成人免费毛片高清视频| 久久久精品国产免大香伊| 成人精品第一区二区三区| 亚洲精品有码在线| 日韩欧美123| 国产精品对白| 亚洲精品大片| 成人免费看视频| 亚洲影视一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 国产 日韩 欧美 在线| 欧美乱强性伦xxxxx| 欧美日本亚洲| 精品国产欧美日韩一区二区三区| 成人免费看吃奶视频网站| 国产传媒一区二区| 国产一区在线免费| 亚洲按摩av| 国产精品无码自拍| 亚洲成人综合网站| 亚洲尤物精选| 国产精品国产高清国产| 天天爽天天狠久久久| 国产成人精品av| 日韩一级视频在线观看| 欧美日韩精品欧美日韩精品| 国产又粗又黄又爽的视频| h视频在线观看网站| 亚洲天堂男人天堂女人天堂| 亚洲电影第1页| 日韩高清不卡一区二区三区| 亚洲码在线观看| 妞干网在线视频观看| 精品一区二区三区五区六区七区| 熟妇人妻无乱码中文字幕真矢织江| 成人国产精品久久久久久亚洲| 白白色亚洲国产精品| 日韩一区二区三区在线观看视频| 精品视频—区二区三区免费| 91久久精品美女高潮| 久久久999| 在线码字幕一区| 日韩三级电影网址| 久久福利视频网| 免费在线看黄网站| 欧美色老女人| 91网站最新网址| 97中文在线| 精品国精品自拍自在线| 国产婷婷97碰碰久久人人蜜臀| 日日摸夜夜添夜夜添毛片av| 成人91在线观看| 美女扒开内裤让男人桶| 波多野结衣在线影院| 丁香婷婷综合五月| 日韩在线激情视频| 久久精品视频国产| 中文字幕无线码一区| 欧美视频不卡中文| 91超薄肉色丝袜交足高跟凉鞋| 性网爆门事件集合av| 91国产免费视频| 老鸭窝亚洲一区二区三区| 色猫视频免费观看| 亚洲国产综合人成综合网站| 亚洲欧美清纯在线制服| 亚洲四虎影院| 精品国产午夜| 91影院未满十八岁禁止入内| 精品久久国产一区| 中文字幕电影在线| 国产精品久久久爽爽爽麻豆色哟哟| 先锋影音国产一区| 日韩精品 欧美| 亚洲黄色在线观看| 毛片一区二区三区四区| 日本高清黄色片| 亚洲天堂av在线免费观看| 精品成人乱色一区二区| 欧美三日本三级少妇三2023| 久久综合久久鬼色中文字| 成人春色在线观看免费网站| 日韩视频在线观看一区二区三区| 美国欧美日韩国产在线播放| 91亚洲精品视频在线观看| 精品国产一区二区三区四区| 亚洲专区欧美专区| 不卡一区中文字幕| 日本韩国欧美三级| 在线免费观看视频黄| 午夜视频在线免费| 任我爽精品视频在线播放| 欧美老女人性开放| 91在线免费网站| 久久久久久久无码| 在线日本成人| 中文字幕亚洲一区二区三区五十路| 亚洲乱码国产乱码精品精的特点| 欧美日韩一区二区区| 欧美欧美欧美欧美首页| 日本国产欧美一区二区三区| 亚洲精品一区二三区不卡| 色综合中文网| 乱人伦xxxx国语对白| 黑人巨大精品欧美一区免费视频| 国产v亚洲v天堂无码| 在线播放精品一区二区三区| 一区二区小视频| 中文字幕欧美精品日韩中文字幕| 男人添女人下部高潮视频在观看| 宅男午夜电影| 在线播放日韩导航| 女人让男人操自己视频在线观看| 69久久99精品久久久久婷婷| 亚洲欧洲日韩在线| 国产精品激情| 日本三级韩国三级欧美三级| heyzo在线欧美播放| 国产精品久久久久毛片大屁完整版| 国产精品av网站| 欧美交受高潮1| 欧美高清视频www夜色资源网| 三年片大全在线观看大全有哪些| 成人在线观看黄| 精品久久久久久久一区二区蜜臀| 99精品视频在线免费播放| 自拍视频第一页| 影音先锋男人每日资源站| av av在线| 奇米影视777在线欧美电影观看| 国产爆乳无码一区二区麻豆| 欧美成人精品网站| 精品久久久久久无码国产| 国产黄a三级三级看三级| 欧美激情a在线| 国产肥臀一区二区福利视频| 欧美va天堂| 精品无码国产污污污免费网站| 欧美e片成人在线播放乱妇| 国产免费电影网站入口| 欧美日韩一区中文字幕| 午夜激情视频在线| 牛人盗摄一区二区三区视频| 欧美在线免费一级片| 欧美视频官网| 色综合色综合色综合色综合| 青草国产精品久久久久久| 一二三四社区在线视频| 精品xxxxxbbbb欧美中文| 自拍偷拍欧美亚洲| 欧美日韩激情视频8区| 成人黄色午夜影院| 欧美黄色高清视频| 国产一区二区三区视频| 在线碰免费视频在线观看| aaa级精品久久久国产片| 欧美精品久久久久久久久久久| 日韩毛片在线| 色九视频91| 色综合天天天天做夜夜夜夜做| 男人舔女人下部高潮全视频| 国产剧情麻豆剧果冻传媒视频免费| 国产成人精品视频一区| 国产在线一区二区| 欧美一级在线播放| 亚洲亚洲精品三区日韩精品在线视频| 青青草综合网| av免费在线不卡| 亚洲成人在线观看视频| 日韩不卡免费高清视频| 91tv精品福利国产在线观看| 欧美成人免费va影院高清| 亚洲女同志亚洲女同女播放| 在线观看的黄色网址| www在线观看免费视频| 日韩一级欧美一级| 国内拍拍自拍视频在线观看| 久久久久久一二三区| 午夜不卡影院| 972aa.com艺术欧美| 欧美中文在线视频| 一区二区三区精品视频在线观看| 日韩欧美亚洲成人| 91亚洲视频在线观看| 亚州欧美在线| 国产一区二区三区日韩欧美| 久久亚洲综合色| 精品国产麻豆免费人成网站| 国产又粗又猛又爽视频| 欧美日韩国产综合视频在线观看中文| 一本一道久久a久久精品综合| 日韩欧美亚洲精品| 日本黄大片一区二区三区| 欧美日韩免费高清| 最近中文字幕mv2018在线高清| 欧美性xxxxx| 亚洲不卡在线播放| 2一3sex性hd| 日韩欧美视频在线播放| 欧美色大人视频| 中文字幕日韩一区二区| 日韩午夜电影网| 亚洲国产精品悠悠久久琪琪| 午夜欧美福利视频| 男女午夜刺激视频| 成人影院在线观看| 亚洲人成7777| 婷婷六月天在线| 蜜臀久久精品| 欧美成人精品激情在线观看| 久久精品人人做人人爽电影蜜月| 欧美爆操老女人| 久久久久久一区二区三区四区别墅| 久久精品国产亚洲一区二区三区| 久久人人九九| 亚洲三级国产| 国产无遮挡免费视频| 精品视频在线播放一区二区三区| 亚洲 自拍 另类小说综合图区| 精品视频一区三区九区| 欧洲一级毛片| 久久精品美女视频网站| 欧美伊人亚洲伊人色综合动图| 久久精品亚洲乱码伦伦中文| 亚洲永久免费视频| 丝袜美腿美女被狂躁在线观看| 日韩精品手机在线观看| 国产中文在线播放| 性欧美大战久久久久久久久| 国产欧美最新羞羞视频在线观看| 一本色道久久综合亚洲91| 麻豆精品久久久久久久99蜜桃| 亚洲最大成人在线视频| 国产免费a视频| 欧美色图片区| 日韩午夜av| 97超碰免费在线| 91视频免费在线观看| 国产福利资源在线| 日av在线播放| www视频在线播放| 中文字幕亚洲欧美| 超碰超碰在线| 久久精品亚洲精品| 每日更新av在线播放| 亚洲成人a**站| 中文字幕五月欧美| 一级片免费在线| 水蜜桃亚洲精品| 亚洲影院在线播放| 日本aⅴ写真网站免费| 免费看一级一片| av资源站久久亚洲| 18欧美亚洲精品| 6080日韩午夜伦伦午夜伦| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 曰本大片免费观看视频| 色综合久久综合中文综合网| 成人在线观看高清| 国产精品高清无码| 国产精品电影久久久久电影网| 在线观看xxxxvideo| 爱情岛论坛亚洲品质自拍视频网站| av加勒比在线| 精品一区二区三区影院在线午夜| 中文字幕免费在线视频| 九九视频在线播放| 成人春色在线观看免费网站| 国产喷水吹潮视频www| 午夜视频在线| 亚洲激情精品| 日韩精品久久久久| www.成人在线观看| av资源中文在线| 国产欧美一区二区三区在线看蜜臀| 天天操天天干天天爽| 日韩一级电影| 无圣光视频在线观看| 久久久久久久久四区三区| 在线一区二区视频| 免费成人看片网址| 欧美专区日韩视频| 91嫩草国产丨精品入口麻豆| 美女福利视频导航| 欧美一区二区高清| 黄瓜视频成人app免费| 欧美午夜一区二区三区免费大片| 亚洲精品久久久一区二区三区| 中文字幕一区二区三区电影| japanesexxxxfree在线观看| 夜色福利资源站www国产在线视频|