贪吃蛇游戏的说明
更新时间:2023-11-26 01:51:01 阅读量: 教育文库 文档下载
贪吃蛇游戏说明
一、 游戏简介
主要功能:
(1)通过游戏设置的等级设置进入游戏,在游戏过程中可以选择速度快慢程度来选择游戏的难易度。
(2)可以选择有边界阻碍和无边界阻碍的。
界面功能:
(3)游戏的的窗口菜单是自定义的,简单设计了几个菜单项,方便选择开始游戏,离开游戏,速度快慢,有无边界。
(4)在游戏界面的右下方有一个显示当前的得分情况,方便便用户来了解自己的战绩。
操作功能:
其中游戏的主操作键是↓↑→←。不仅可以通过菜单来进行操作,还可以通过快捷键开操作(crtrl+N --- New Game,ctrl+Q--- Exit)
二、 实现步骤
1、 设置30×40的界面和颜色,设置控制台窗口标题,然后自定
义菜单
2、 设置一些主要的功能,游戏的开始,离开,难易度和有无墙
壁(代码参考)
3、 设置蛇和豆子的位置大小和颜色
4、 在设置时考虑蛇移动的方向,通过在蛇头没有撞到自身和边
界的前提下,判断蛇是否吃到食物,若吃到了食物,则需要
将吃到的食物作为蛇头,否则需要在原来蛇头的下一个坐标作为蛇头,而蛇尾需要被去除,同时加分。
三、游戏截图
(无墙壁)
(有墙壁)
四、代码(其中标记的地方是参考的)
function snake(cmd)
global SNAKE WALL LEVEL BOARD DIRECTION RUNNING FOOD BONUS PAUSE if ~nargin cmd = 'init'; end
if ~(ischar(cmd)||isscalar(cmd)) return; end switch cmd case 'init'
scrsz = get(0,'ScreenSize');
f = figure('Name','Snake',... 'Numbertitle','off',...
'Menubar','none',...
'Color',[.95 .95 .95],...
'DoubleBuffer','on',...
'Position',[(scrsz(3)-400)/2 (scrsz(4)-300)/2 400 300],... 'Colormap',[.1 .71 0;.3 .4 .4;0 0 0;1 1 0],...
'CloseRequestFcn',sprintf('%s(''Stop'');closereq;',mfilename),...
'KeyPressFcn',sprintf('%s(double(get(gcbf,''Currentcharacter'')))',mfilename));
FileMenu = uimenu(f,'Label','&File'); uimenu(FileMenu,'Label','New
Game','Accelerator','N','Callback',sprintf('%s(''NewGame'')',mfilename));
uimenu(FileMenu,'Label','Exit','Accelerator','Q','Separator','on','Callback',sprintf('%s(''Stop'');closereq',mfilename)); LevelMenu = uimenu(f,'Label','&Level');
uimenu(LevelMenu,'Label','1','Callback',sprintf('%s(''Level'')',mfilename))
uimenu(LevelMenu,'Label','2','Callback',sprintf('%s(''Level'')',mfilename))
uimenu(LevelMenu,'Label','3','Callback',sprintf('%s(''Level'')',mfilename))
uimenu(LevelMenu,'Label','4','Callback',sprintf('%s(''Level'')',mfilename),'checked','on')
uimenu(LevelMenu,'Label','5','Callback',sprintf('%s(''Level'')',mfilename))
WallMenu = uimenu(f,'Label','&Wall'); uimenu(WallMenu,'Label','No
wall','Callback',sprintf('%s(''Wall'')',mfilename),'checked','on')
uimenu(WallMenu,'Label','Wall','Callback',sprintf('%s(''Wall'')',mfilename))
% Create The axes
axes('Units','normalized',... 'Position', [0 0 1 1],... 'Visible','off',... 'DrawMode','fast',... 'NextPlot','replace'); % Add the board
BOARD = image(getTitle,'CDataMapping','scaled'); axis image set(gca,... 'XTick',NaN,... 'YTick',NaN) text(40,30,'0',...
'FontUnits','normalized', ... 'FontSize',0.03, ... 'FontName','FixedWidth',... 'FontWeight','bold',... 'Color',[1 1 1],...
'VerticalAlignment','baseline', ... 'HorizontalAlignment','right',... 'Tag','Score');
SNAKE = [14,20;14,19;14,18;14,17;14,16]; WALL = zeros(30,40); LEVEL = 4;
case 28 % left
if SNAKE(2,2)~=mod(SNAKE(1,2)-2,40)+1 DIRECTION = cmd; end
case 29 % right
if SNAKE(2,2)~=mod(SNAKE(1,2),40)+1 DIRECTION = cmd; end case 30 % up
if SNAKE(2,1)~=mod(SNAKE(1,1)-2,30)+1
正在阅读:
贪吃蛇游戏的说明11-26
保健品代理经销合同05-03
大学物理第九章《稳恒磁场》07-25
保底工资文件08-12
日本妇女社会地位的演变05-23
奥鹏15春中国石油大学《安全行为学》第一阶段在线作业答案12-01
(完整版)生化下册作业(修改版)05-02
02小升初归类复习 - 图文09-21
《知识产权法》试题及答案_网考任务超齐全05-01
热点时评:构建围追堵截网络谣言的长效机制05-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 贪吃
- 说明
- 游戏