资源描述:
《MATLAB游戏编程实例(拼图)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB游戏编程实例(拼图)这是一个简单的游戏,只要把数字按顺序排好就可以了。游戏方法是用鼠标点中数字,如果该数字相邻的格子为空,则自动移到到该空格。本程序是由realghost编写,如果有问题可以与slqinyi@163.com联系。附图如下:functionpintu1()A=gen()G=[123;456;780];drawmap(A);while1[xpos,ypos]=ginput(1);col=ceil(xpos);row=3-ceil(ypos)+1;num=A(row,col);ifrow>1&A(row-1,col)==0A(row-1,co
2、l)=num;A(row,col)=0;endifrow<3&A(row+1,col)==0A(row+1,col)=num;A(row,col)=0;endifcol>1&A(row,col-1)==0A(row,col-1)=num;A(row,col)=0;endifcol<3&A(row,col+1)==0A(row,col+1)=num;A(row,col)=0;enddrawmap(A)zt=abs(A-G);ifsum(zt(:))==0msgbox('ÄãÒѾ³É¹¦Æ´ºÃͼ£¡')breakendendfunctiondrawmap(A)c
3、lf;holdonline([03],[00],'linewidth',4);line([33],[03],'linewidth',4);line([03],[33],'linewidth',4);line([00],[03],'linewidth',4);fori=1:3forj=1:3drawrect([j-13-i],[j3-i],[j3-i+1],[j-13-i+1],'y',A(i,j));endendaxisequalaxisofffunctiondrawrect(x1,x2,x3,x4,color,num)x=[x1(1)x2(1)x3(1)x4(1
4、)];y=[x1(2)x2(2)x3(2)x4(2)];fill(x,y,color)ifnum==0text(0.5*(x1(1)+x2(1)),0.5*(x1(2)+x4(2)),'','fontsize',24)elsetext(0.5*(x1(1)+x2(1))-0.05,0.5*(x1(2)+x4(2)),num2str(num),'fontsize',24)endfunctiony=gen()y=inf*ones(1,9);fori=1:9while1a=randint(1,1,9);ifisempty(find(y==a))y(i)=a;breake
5、ndendendy=reshape(y,3,3);