matlab 华容道 全功能

该博客介绍了使用MATLAB实现的华容道游戏,包括基本功能、五种开局模式、重新开始、关于信息和步数显示。游戏中的武将和兵以按键型控件形式展示,通过鼠标操作进行移动,利用5*4的矩阵进行逻辑判断。项目于2018年6月27日完成。
摘要由CSDN通过智能技术生成

头像都是上网找的,如有侵权,请联系删除!


游戏名称:华容道

实现工具:matlab

实现功能:华容道基本功能+五种开局模式+重新开始+关于+步数显示;所有功能符合逻辑并通过自测。

难点:兵的对角移动判断

实现思路:武将和兵都为按键型控件,移动通过鼠标按键按下的位置判断,过程中生成一个5*4的矩阵,用于游戏逻辑判断。

完成日期:2018.06.27




function huarongdao  %主函数

global everyHandle wjposition mode step stepHandle %全局变量 everyHandle为控件的句柄值,wjposition是控件的位置元胞数组,mode为游戏模式,step为步数,stepHandle为步数按钮句柄值

windowHandle = figure('Name','华容道','NumberTitle','off','MenuBar','none',...
    'ToolBar','none','Position',[650 350 420 560],'WindowButtonDownFcn',...
    @emptyClick,'Resize','off');    %emptyClick函数为鼠标按键按下事件函数
axes(windowHandle,'Position',[0 0 0 0])  %创建坐标系,用来检测鼠标按下位置
axis off  %  不显示坐标轴

mode = '横刀立马①'; %初始化游戏模式为横刀立马①
step = 0;  %初始化步数为0

wjposition = {[110 310 200 200],[10 310 100 200],[310 310 100 200],...%  横刀立马①模式下武将的初始位置  顺序为: {'曹操','张飞','赵云','关羽','马超','黄忠','兵A','兵B','兵C','兵D'};
    [110 210 200 100],[10 110 100 200],[310 110 100 200],...
    [10 10 100 100],[110 110 100 100],[210 110 100 100],[310 10 100 100]};
wjphoto = {imread('曹操.jpg'),imread('张飞.jpg'),imread('赵云.jpg'),...    % 载入武将的图片数据
    imread('关羽.jpg'),imread('马超.jpg'),imread('黄忠.jpg'),...
    imread('兵A.jpg'),imread('兵B.jpg'),imread('兵C.jpg'),imread('兵D.jpg'),};

for ix = 1:10
    uicontrol('parent',windowHandle,'Style','pushbutton',...
        'Position',wjposition{ix},'FontSize',30,'Callback',@checked,'CData',wjphoto{ix})  % 生成游戏界面控件
end
everyHandle = flip(findall(gcf,'Style','pushbutton'));   %找出游戏将兵的句柄值,并赋予everyHandle

stepHandle = uicontrol('parent',windowHandle,'Style','pushbutton',...
    'Position',[10 515 100 45],'String','当前步数','Fontsize',10);    %创建游戏步数显示按钮

option = {'选择开局','重新开始','关于'};

for ix = 0:2
    uicontrol('parent',windowHandle,'Style','pushbutton',...         %创建菜单选项
        'Position',[ix*100+110 515 100 45],'String',option{ix+1},...
        'Fontsize&#
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值