Maltab GUI课程设计——五子棋小游戏


课程设计

平台:Matlab GUIDE

功能实现:五子棋游戏的创建与运行

目的:

1.Matlab代码编写能力进阶;
2.学会利用Matlab GUI设计图形交互界面,开发有趣的应用;

演示:

1.创建一个五子棋小游戏界面,界面上具有悔棋、认输以及当前落子方的绿灯提醒。
五子棋小游戏
2.游戏的对弈演示(随便点的,演示一下而已)
五子棋双人小游戏
3.悔棋功能
五子棋双人小游戏
4.认输功能
五子棋小游戏
5.获胜判断
五子棋小游戏

代码示例:

OpeningFcn函数:

handles.output = hObject;
set(hObject,'Name','五子棋小游戏');
%创建一个面板,用于存放381个按钮,这里的495等于10+10+19*25,10是边距,25是按钮的宽度
p = uipanel(hObject,'Unit','pixels','Position',[15 15 495 495]);
%创建381个按钮,方形,边长25
%每个按钮的userdata里面存在[行,列]
%状态初始为0,黑子则为-1,白子则为1;
handles.b=cell(1,361);%保存按钮句柄
handles.data=zeros(19,19);%保存按钮的状态,0为未下子,-1为黑子,1为白字
str=initial;
for row=1:19 %遍历1到19行
    for col=1:19 %遍历1到19列
        eval(['handles.B{',num2str(19*(row-1)+col),str ]);
    end
end

global flag Bushu white black
flag=0;%用来判断当前是黑子下还是白子下,黑子为0白子为1
Bushu=[1,1];%用来按顺序存储下过子的row,col
set(handles.text1,'BackgroundColor',[0 1 0]);
set(handles.text2,'BackgroundColor',[0.94 0.94 0.94]);
white=imread('白子.png');
black=imread('黑子.png');

handles.a=[1,1,1,1,1];%判断横向是否有5点连线的卷积核
handles.b=[1;1;1;1;1];%判断纵向是否有5点连线的卷积核
handles.c=[1,0,0,0,0;...
              0,1,0,0,0;...
              0,0,1,0,0;...
              0,0,0,1,0;...
              0,0,0,0,1];%判断右斜向是否有5点连线的卷积核
handles.d=[0,0,0,0,1;...
              0,0,0,1,0;...
              0,0,1,0,0;...
              0,1,0,0,0;...
              1,0,0,0,0];%判断左斜向是否有5点连线的卷积核
% Update handles structure
guidata(hObject, handles);

欢迎交流

代码事宜,私信博主

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值