本文主要是介绍Maltab GUI课程设计——五子棋小游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 课程设计
- 平台:Matlab GUIDE
- 功能实现:五子棋游戏的创建与运行
- 目的:
- 演示:
- 代码示例:
- 欢迎交流
课程设计
平台: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
endglobal 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);
欢迎交流
代码事宜,私信博主
这篇关于Maltab GUI课程设计——五子棋小游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!