- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB游戏编程实例(拼.doc
MATLAB游戏编程实例(拼图)
这是一个简单的游戏,只要把数字按顺序排好就可以了。游戏方法是用鼠标点中数字,如果该数字相邻的格子为空,则自动移到到该空格。
本程序是由realghost编写,如果有问题可以与 slqinyi@163.com 联系。
附图如下:
function pintu1()
A = gen()
G = [1 2 3;4 5 6;7 8 0];
drawmap(A);
while 1
[xpos,ypos] = ginput(1);
col = ceil(xpos);
row = 3-ceil(ypos)+1;
num = A(row,col);
if row1A(row-1,col)==0
A(row-1,col) = num;
A(row,col) = 0;
end
if row3A(row+1,col)==0
A(row+1,col) = num;
A(row,col) = 0;
end
if col1A(row,col-1)==0
A(row,col-1) = num;
A(row,col) = 0;
end
if col3A(row,col+1)==0
A(row,col+1) = num;
A(row,col) = 0;
end
drawmap(A)
zt = abs(A-G);
if sum(zt(:))==0
msgbox(??ò??-3é1|?′o?í?£?)
break
end
end
function drawmap(A)
clf;
hold on
line([0 3],[0 0],linewidth,4);
line([3 3],[0 3],linewidth,4);
line([0 3],[3 3],linewidth,4);
line([0 0],[0 3],linewidth,4);
for i = 1:3
for j = 1:3
drawrect([j-1 3-i],[j 3-i],[j 3-i+1],[j-1 3-i+1],y,A(i,j));
end
end
axis equal
axis off
function drawrect(x1,x2,x3,x4,color,num)
x = [x1(1) x2(1) x3(1) x4(1)];
y = [x1(2) x2(2) x3(2) x4(2)];
fill(x,y,color)
if num==0
text(0.5*(x1(1)+x2(1)),0.5*(x1(2)+x4(2)), ,fontsize,24)
else
text(0.5*(x1(1)+x2(1))-0.05,0.5*(x1(2)+x4(2)),num2str(num),fontsize,24)
end
function y = gen()
y = inf*ones(1,9);
for i = 1:9
while 1
a = randint(1,1,9);
if isempty(find(y==a))
y(i) = a;
break
end
end
end
y = reshape(y,3,3);
当然可以啦,其实图像就是数字矩阵,图像的拼接就是矩阵的拼接,横着拼得行数相等,竖着拼得列数相等就行 例子clc;clear;a=imread(我的图片.jpg);[m n t]=size(a);b=a(1:fix(m/2),:,:);%取图像的上半部分c=a(fix(m/2)+1:end,:,:);%取图像的下半部分figure(1);imshow(b);figure(2);imshow(c);%注意,上下拼接要求两幅图的列数要相同%左右拼行数要相同figure(3);d=[b;c];%把b,c拼起来,若左右拼接d=[b,c];imshow(d);
文档评论(0)