最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

matlab编写的迷宫小游戏

来源:动视网 责编:小OO 时间:2025-09-29 18:27:59
文档

matlab编写的迷宫小游戏

functionmazerow=20;col=39;rand('state',sum(100*clock))[cc,rr]=meshgrid(1:col,1:row);state=reshape([1:row*col],row,col);id=reshape([1:row*col],row,col);ptr_left=zeros(size(id));ptr_up=zeros(size(id));ptr_right=zeros(size(id));ptr_down=zeros(size(id))
推荐度:
导读functionmazerow=20;col=39;rand('state',sum(100*clock))[cc,rr]=meshgrid(1:col,1:row);state=reshape([1:row*col],row,col);id=reshape([1:row*col],row,col);ptr_left=zeros(size(id));ptr_up=zeros(size(id));ptr_right=zeros(size(id));ptr_down=zeros(size(id))
function maze

row = 20;

col = 39;

rand('state',sum(100*clock))

[cc,rr] = meshgrid(1:col,1:row);

state = reshape([1:row*col],row,col);

id = reshape([1:row*col],row,col);

ptr_left = zeros(size(id));

ptr_up = zeros(size(id));

ptr_right = zeros(size(id));

ptr_down = zeros(size(id));

ptr_left(:,2:size(id,2)) = id(:,1:size(id,2)-1);

ptr_up(2:size(id,1),:) = id(1:size(id,1)-1,:);

ptr_right(:,1:size(id,2)-1) = id(:,2:size(id,2));

ptr_down(1:size(id,1)-1,:) = id(2:size(id,1),:);

the_maze = cat(2,reshape(id,row*col,1),reshape(rr,row*col,1),reshape(cc,row*col,1),reshape(state,row*col,1),...

the_maze = sortrows(the_maze);

id = the_maze(:,1);

rr = the_maze(:,2);

cc = the_maze(:,3);

state = the_maze(:,4);

ptr_left = the_maze(:,5);

ptr_up = the_maze(:,6);

ptr_right = the_maze(:,7);

ptr_down = the_maze(:,8);

clear the_maze;

[state, ptr_left, ptr_up, ptr_right, ptr_down]=...

f = figure('Name','迷宫'显示图形窗口的标题

 标题栏中是否显示’Figure No. n’,其中n为图形窗口的编号

    'Menubar','none',...         %转换图形窗口菜单条的“关”

%建菜单

gameMenu = uimenu(f,'Label','游戏');

uimenu(gameMenu,'Label','新游戏','Accelerator','N','Callback',@new_game);

uimenu(gameMenu,'Label','退出','Accelerator','Q','Separator','on','Callback',@close_window);

show_maze(row, col, rr, cc, ptr_left, ptr_up, ptr_right, ptr_down,f);

% 开始

cursor_pos = [1,1];

current_id = 1;

text(cursor_pos(1),cursor_pos(2),'\\diamondsuit','HorizontalAlignment','Center','color','r');

%计时

timing = 1;

start_time = clock;

 按下键盘时触发

 获取方向建

 记录过程

 选择新游戏时触发

 游戏还未结束,你确定要重新开始吗?','迷宫','确定','取消','取消');

 确定')

 关闭窗口时触发

 游戏还未结束,你确定要退出吗?','迷宫','确定','取消','取消');

 确定')

end

%显示迷宫

function show_maze(row, col, rr, cc, ptr_left, ptr_up, ptr_right, ptr_down,h)

figure(h)

line([.5,col+.5],[.5,.5]) % draw top border

line([.5,col+.5],[row+.5,row+.5]) % draw bottom border

line([.5,.5],[1.5,row+.5]) % draw left border

line([col+.5,col+.5],[.5,row-.5])  % draw right border

for ii=1:length(ptr_right)

end

axis equal

axis([.5,col+.5,.5,row+.5])

axis off

set(gca,'YDir','reverse')

end

%产生边界道路信息

function [state, ptr_left, ptr_up, ptr_right, ptr_down]=make_pattern(row,col, rr, cc, state, ptr_left, ptr_up, ptr_right, ptr_down)

while max(state) > 1

文档

matlab编写的迷宫小游戏

functionmazerow=20;col=39;rand('state',sum(100*clock))[cc,rr]=meshgrid(1:col,1:row);state=reshape([1:row*col],row,col);id=reshape([1:row*col],row,col);ptr_left=zeros(size(id));ptr_up=zeros(size(id));ptr_right=zeros(size(id));ptr_down=zeros(size(id))
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top