matlab 实现2048游戏

% 游戏名称:2048
% 实现的功能:2048基本游戏主体、分数显示、难度选择、历史记录、对应图片显示等

% 完成时间:2018.06.24

@图片需另外下载或自己制作




function game2048()  % 主函数

initialize()  % 初始化
hardAndNumberProbability()  % 选择初始化难度
dispdata()  % 显示初始化结果

end


function initialize()   % 初始化函数,生成界面以及初始化游戏

global griddata hb photo2048 score scoreHandle gameover;  % 全局变量

griddata = zeros(4);   % 初始化4X4矩阵数据
rand_i = randi(16);
griddata(rand_i) = 2;   % 随机位置生成一个2
score = 0 ;  % 初始化分数
gameover = 0;  % 初始化游戏结束标志位

figHandle = figure('Name','2048','MenuBar','none',...    % 生成主窗口
    'ToolBar','none','NumberTitle','off',...
    'Units','normalized', 'Position',[0.39 0.30 0.3 0.6],...
    'KeyPressFcn',@keyevent);

for xi =0:15  % 生成4*4按钮矩阵
    ix=rem(xi,4);
    iy = fix((xi+0.5)/4);
    uicontrol(figHandle,'Style','pushbutton',...
        'Units','normalized','position',[ix*0.25 iy*0.20 0.245 0.195],'KeyPressFcn',@keyevent)
end

hb = findall(gcf, 'Style', 'pushbutton');% 获得16个方格的句柄值

photo2048 = struct('p2',{imread('2.jpg')},'p4',{imread('4.jpg')},'p8',{imread('8.jpg')},...     % 读取显示的图片
    'p16',{imread('16.jpg')},'p32',{imread('32.jpg')},'p64',{imread('64.jpg')},...
    'p128',{imread('128.jpg')},'p256',{imread('256.jpg')},'p512',{imread('512.jpg')},...
    'p1024',{imread('1024.jpg')},'p2048',{imread('2048.jpg')},'p4096',{imread('4096.jpg')},...
    'p8192',{imread('8192.jpg')});

% 这里需要导入图片
uicontrol(figHandle,'Style','text','Units','normalized',...    % 生成2048标志
    'Position',[0.01,0.81,0.3 0.15],'String','2048@',...
    'FontSize',25,'FontName','微软雅黑');

uicontrol(figHandle,'Style','text','Units','normalized',
  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值