MATLAB游戏编程实例(拼图)

2022-07-13 01:15:16   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《MATLAB游戏编程实例(拼图)》,欢迎阅读!
拼图,实例,编程,MATLAB,游戏



MATLAB游戏编程实例(拼图)



这是一个简单的游戏,只要把数字按顺序排好就可以了。游戏方法是用鼠标点中数字,如果该数字相邻的格子为空,则自动移到到该空格。

本程序是由realghost编写,如果有问题可以与***************联系。

附图如下:



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 row>1&A(row-1,col)==0 A(row-1,col) = num;




A(row,col) = 0; end

if row<3&A(row+1,col)==0 A(row+1,col) = num; A(row,col) = 0; end

if col>1&A(row,col-1)==0 A(row,col-1) = num; A(row,col) = 0; end

if col<3&A(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('ÄãÒѾ-³É¹¦Æ´ºÃͼ£¡') 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);




本文来源:https://www.dywdw.cn/d0be268e84868762caaed5cb.html

相关推荐
推荐阅读