欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    用matlab编写的俄罗斯方块小游戏汇编.docx

    • 资源ID:23270366       资源大小:20.83KB        全文页数:19页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    用matlab编写的俄罗斯方块小游戏汇编.docx

    1、用matlab编写的俄罗斯方块小游戏汇编mathematical adj. 数学的用matlab编写的俄罗斯方块小游戏sincerely adv. 真诚地;真挚地 impress vt. 使印象深刻;使铭记function RussiaBlock( varargin )if nargin = 0 OldHandle = findobj( Type, figure, Tag, RussiaBlock ) ; if ishandle( OldHandle ) delete( OldHandle ) ; end FigureHandle = figure( Name, 俄罗斯方块MATLAB版, T

    2、ag, RussiaBlock, NumberTitle, off,. Menubar, none, DoubleBuffer, on, Resize, off, visible, on,. KeyPressFcn, RussiaBlock( KeyPress_Callback, gcbo ),. HelpFcn, helpdlg(帮不了你- -!,不好意思),. CloseRequestFcn, RussiaBlock( CloseFigure_Callback, gcbo ) ) ; generate_FigureContent( FigureHandle ) ; init_FigureC

    3、ontent( FigureHandle ) ; set( FigureHandle, Visible, on ) ; elseif ischar( varargin1 ) feval( varargin: ) ; end% -function generate_FigureContent( FigureHandle )TabSpace = 30 ;BlockWidth = 20 ;BlockHeight = 20 ;FigureWidth = BlockWidth * (12 + 1) + TabSpace * 7;FigureHeight = 500 ;set( FigureHandle,

    4、 Position, 0 0 FigureWidth FigureHeight ) ;movegui( FigureHandle, center ) ;% 创建菜单BeginMenu = uimenu( FigureHandle, Label, 开始 ) ;StartMenu = uimenu( BeginMenu, Label, 开始新游戏, Accelerator, N,. Callback, RussiaBlock( StartNewGame_Callback, gcbo );SaveMenu = uimenu( BeginMenu, Label, 保存, Accelerator, S,

    5、 Enable, off,. Separator, on, Cal, RussiaBlock( SaveGame_Callback, gcbo ) );LoadMenu = uimenu( BeginMenu, Label, 读取, Accelerator, L, Enable, off,. Cal, RussiaBlock( LoadGame_Callback, gcbo ) );QuitMenu = uimenu( BeginMenu, Label, 退出, Accelerator, Q, Separator, on, Cal, close(gcf);OperationMenu = uim

    6、enu( FigureHandle, Label, 功能 );BoardConfigMenu = uimenu( OperationMenu, label, 键盘设置, Enable, off,. Cal, RussiaBlock( BoardConfig_Callback, gcbo ) );FigureConfigMenu = uimenu( OperationMenu, label, 界面设置, Enable, off,. Cal, RussiaBlock( FigureConfig_Callback, gcbo ) );HighScoreMenu = uimenu( Operation

    7、Menu, label, 最高记录, Separator, on,. Cal, RussiaBlock( HighScore_Callback, gcbo ), Enable, off );GameLevelMenu = uimenu( OperationMenu, Label, 游戏难度,. Cal,RussiaBlock( GameLevel_Callback, gcbo ) );HelpMenu = uimenu( FigureHandle, Label, 帮助 );AboutMenu = uimenu( HelpMenu, Label, 关于此软件, Cal, helpdlg(俄罗斯方

    8、块MATLAB版,关于此软件);HelpDlgMenu = uimenu( HelpMenu, Label, 游戏帮助, Separator, on, Cal, helpdlg(帮不了你- -!,不好意思) );% 创建工具条,图标可以用imread从图片读取,但图片不要太大BeginTool = uipushtool( ToolTipString, 开始, CData, rand(16,16,3), Tag, BeginTool,. ClickedCallback, RussiaBlock( StartNewGame_Callback, gcbo ) ) ;PauseTool = uitog

    9、gletool( ToolTipString, 暂停, Tag, PauseTool, Tag, PauseTool,. CData, reshape( repmat( 1 1 0, 16, 16), 16,16,3 ),. ClickedCallback, RussiaBlock( PauseGame_Callback, gcbo ) ) ;% 创建游戏窗口MainWindowXPos = TabSpace;MainWindowYPos = TabSpace;MainWindowWidth = BlockWidth * 12 ; MainWindowHeight = BlockHeight

    10、* 22 ;MainWindowPosition = MainWindowXPos MainWindowYPos MainWindowWidth MainWindowHeight ;% 定义游戏窗口的右键菜单AxesContextMenu = uicontextmenu( Tag, uicontextmenu ) ;uimenu( AxesContextMenu, Label, 设置窗口颜色, Cal, RussiaBlock( WindowColor_Callback, gcbo ) )uimenu( AxesContextMenu, Label, 设置背景图片, Cal, RussiaBl

    11、ock( WindowPicture_Callback, gcbo ) )uimenu( AxesContextMenu, Label, 设置方块颜色, Cal, RussiaBlock( BlockColor_Callback, gcbo ) )uimenu( AxesContextMenu, Label, 恢复默认, Cal, RussiaBlock( Default_Callback, gcbo ) )MainAxes = axes( Units, pixels, Pos, MainWindowPosition, XTick, , YTick, XTickLabel, ,. YTickL

    12、abel, , Box, on, Tag, MainAxes, UicontextMenu, AxesContextMenu,. XLim, 0 MainWindowWidth, YLim, 0 MainWindowHeight ) ;hold on;% 创建一个窗口用于显示下一个方块的图形NextBlockWndXPos = MainWindowXPos + MainWindowWidth + TabSpace ;NextBlockWndHeight = 4 * TabSpace + BlockHeight ;NextBlockWndYPos = MainWindowYPos + MainW

    13、indowHeight - NextBlockWndHeight ;NextBlockWndWidth = TabSpace * 4 + BlockWidth ;NextBlockWndPosition = NextBlockWndXPos NextBlockWndYPos NextBlockWndWidth NextBlockWndHeight ;NextBlockAxes = axes( Units, pixels, Pos, NextBlockWndPosition, XTick, , YTick,. XTickLabel, , YTickLabel, , XLim, 0 NextBlo

    14、ckWndWidth,. YLim, 0 NextBlockWndHeight, . Box, on, Tag, NextBlockAxes, Color, 0.85 0.85 0.85 ) ;% 创建一组控件,包括(两个文本框用于显示当前方块数和成绩,两个按钮用于暂停和退出)ButtonTag = QuitButton, PauseButton, BlockNumText, ScoreText ;ButtonStyle = pushbutton, togglebutton, text, text ;FontColor = 0 0 0, 1 0 0, 0 0 1, 1 0 1 ;ButtonC

    15、olor = 0.7 0.8 0.9, 0.3 1 0.3, 0.5 1 1, 0.5 1 1 ;ButtonString = 退出, 暂停, 方块数, 积分 ;ButtonCallback = close(gcf), RussiaBlock( ButtonPauseGame_Callback, gcbo ), , ;ButtonNumber = length( ButtonTag ) ;ButtonWidth = NextBlockWndWidth ;ButtonHeight = 50 ;ButtonXPos = NextBlockWndXPos ;ButtonYPos = MainWind

    16、owYPos + TabSpace ;ButtonPosition = ButtonXPos ButtonYPos ButtonWidth ButtonHeight ;ButtonTabSpace = (NextBlockWndYPos - 2 * TabSpace - ButtonHeight * ButtonNumber) / ButtonNumber ;for num = 1: ButtonNumber TempButtonPosition = ButtonPosition ; TempButtonPosition(2) = ButtonPosition(2) + (num - 1) *

    17、 (ButtonTabSpace + ButtonHeight); if findstr( ButtonStylenum, button ) TempButtonPosition(1) = TempButtonPosition(1) + 10 ; TempButtonPosition(2) = TempButtonPosition(2) + 5 ; TempButtonPosition(3) = TempButtonPosition(3) - 10 * 2 ; TempButtonPosition(4) = TempButtonPosition(4) - 5 * 2 ; else TempBu

    18、ttonPosition(1) = TempButtonPosition(1) - 10 ; TempButtonPosition(2) = TempButtonPosition(2) - 5 ; TempButtonPosition(3) = TempButtonPosition(3) + 10 * 2; TempButtonPosition(4) = TempButtonPosition(4) + 5 * 2 ; end ButtonHandle = uicontrol( Tag, ButtonTagnum, Style, ButtonStylenum, Pos, TempButtonPo

    19、sition,. Foregroundcolor, FontColornum, Backgroundcolor, ButtonColornum,. Fontsize, 16, String, ButtonStringnum, Cal, ButtonCallbacknum ) ; if findstr( ButtonStylenum, text ) set( ButtonHandle, Max, 2 ) ; end if findstr( ButtonTagnum, PauseButton ) set( ButtonHandle, Enable, inactive, ButtonDownFcn,

    20、 ButtonCallbacknum, Cal, ) ; endendMainBlockAxes = axes( Units, pixels, Pos, MainWindowPosition, XTick, , YTick, XTickLabel, ,. YTickLabel, , Box, on, Tag, MainBlockAxes, Hittest, off,. XLim, 0 MainWindowWidth, YLim, 0 MainWindowHeight, Color, none ) ;line( Visible, on, Tag, BlockHandle, Markersize,

    21、 18, Parent, MainBlockAxes, HitTest, off,. Marker, s, MarkerEdgeColor, k, XData, nan, YData, nan, LineStyle, none ) ;line( Visible, off, Tag, TempBlock, Markersize, 18, Parent, MainBlockAxes, HitTest, off,. Marker, s, MarkerEdgeColor, k, XData, 130, YData, 30, LineStyle, none ) ;line( Visible, off,

    22、Tag, NextBlock, Markersize, 18, Parent, NextBlockAxes, HitTest, off,. Marker, s, MarkerEdgeColor, k, XData, 30, YData, 30, LineStyle, none ) ;setappdata( FigureHandle, XLim, 0 MainWindowWidth )setappdata( FigureHandle, YLim, 0 MainWindowHeight )handles = guihandles( FigureHandle ) ;guidata( FigureHa

    23、ndle, handles ) ;consequence n. 结果;后果;影响% -function init_FigureContent( FigureHandle )handles = guidata( FigureHandle ) ;ColorInfo = ;try ColorInfo = load(ColorInfo.mat) ; catch endif isempty( ColorInfo ) ColorInfo.BlockColor = GetDefaultBlockColor ; ColorInfo.MainAxesColor = GetDefaultMainAxesColor

    24、 ; ColorInfo.MainAxesImage.ImageData = ;endset( handles.MainAxes, Color, ColorInfo.MainAxesColor ) ;if isempty( ColorInfo.MainAxesImage.ImageData ) ImageHandle = image( ColorInfo.MainAxesImage.ImageData, Parent, handles.MainAxes ) ; set( ImageHandle, ColorInfo.MainAxesImage.Property ) ; setappdata(

    25、FigureHandle, ImageData, ColorInfo.MainAxesImage.ImageData ) ;endset( handles.BlockHandle, MarkerFaceColor, ColorInfo.BlockColor ) ;set( handles.TempBlock, MarkerFaceColor, ColorInfo.BlockColor ) ;set( handles.NextBlock, MarkerFaceColor, ColorInfo.BlockColor ) ;setappdata( FigureHandle, BlockColor,

    26、ColorInfo.BlockColor ) ;% -function StartNewGame_Callback( h, StartType )handles = guidata( h ) ;global PauseTimeif nargin = 1 StartType = NewStart ; setappdata( handles.RussiaBlock, BlockNumber, 0 ) ; set( handles.BlockNumText, String, 方块数,0 ) ; setappdata( handles.RussiaBlock, CurrentScore, 0 ) ;

    27、set( handles.ScoreText, String, 积分,0 ) ; set( handles.BlockHandle, XData, nan, YData, nan ) ; set( handles.TempBlock, XData, nan, YData, nan ) ; TextHandle = findobj( Parent, handles.MainBlockAxes, Type, text ) ; delete( TextHandle ) ;elseendset( handles.NextBlock, Visible, on ) ;set( handles.TempBlock, Visible, on ) ;set( handles.PauseTool, State, off ) ;set( handles.PauseButton, Value, 0 ) ;YLim = get( handles.MainAxes, YLim ) ;while( ishandle( h ) ) TotalYData = get( handles.BlockHandle, YData ) ; if any( TotalYData = YLim(2) ) % Game over text( 20, 200, GameOver, Pare


    注意事项

    本文(用matlab编写的俄罗斯方块小游戏汇编.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开