- 70
- 0
- 约6.27千字
- 约 10页
- 2023-09-15 发布于湖北
- 举报
贪吃蛇游戏开发
一、需求分析
1、该贪吃蛇设计主要具有吃食、暂停、开始以及重新开始游戏。
2、主要目标:本游戏实现贪吃蛇在制定空间去吃随机出现的方块。游戏可以暂停,如不满意这一次游戏的成果还能重新开始游戏。
二、项目设计
1、流程设计
程序流程图
2、游戏具体设计:
(1) 蛇移动的实现
蛇的移动方向主要受头结点控制,所以每次画蛇时只要把前一结点的值赋给后 一节点即可。 当蛇头的移动方向向右时,y 值不变 x 的值不断增加。 当蛇头的移动方向向左时,y 值不变 x 的值不断减少。 当蛇头的移动方向向下时,y 值增加 x 的值不变。 当蛇头的移动方向向上时,y 值减小 x 的值不变。
(2) 蛇死亡的判断 当蛇头的值与蛇身或与墙的值相等时,蛇即算死亡.
(3)蛇到达边框时从另一端出现和传送的实现 当蛇头的 x 或 y 值达到边框的最大或最小位置时相应的给 x 或 y 赋以边框的最 小或最大值以实现当蛇到达边框时能从另一端出来,同理当蛇头的 x,y 值等于传 送点位置的值时将蛇头 x,y 的值赋以被传送到位置的值,这样将实现蛇的传送功 能。
三、项目实现
①蛇身颜色、最大长度及速度
int speed;//设置蛇的速度
int maxLen;//设置蛇的最大长度
②随机生成食物
产生随机种子:
qsrand(QTime().currentTime().msec());
定义食物的坐标、形状及颜色:
int mx = (qrand()%(w/20))*20;
int my = (qrand()%(h/20))*20;
food = new QLabel(this);
food-move(mx,my);
food-resize(20,20);//食物大小
food-setAutoFillBackground(true);//设置食物自动填充背景颜色
food-setFrameShape(QFrame::Box);//设置形状
food-setFrameShadow(QFrame::Sunken);
food-setPalette(QPalette(
QColor(qrand()%255,qrand()%110,qrand()%255)));//改变调色板的颜色
return food;
③方向控制及按键事件处理
方向控制:
switch(d)
{
case d_up:
nheady-=speed;break;
case d_down:
nheady+=speed;break;
case d_left:
nheadx-=speed;break;
case d_right:
nheadx+=speed;break;
}
按键事件处理:
void snake::keyPressEvent(QKeyEvent *f)
{
if(f-key()==Qt::Key_Up)
{
d=d_up;
}
else if(f-key()==Qt::Key_Down)
{
d=d_down;
}
else if(f-key()==Qt::Key_Left)
{
d=d_left;
}
else if(f-key()==Qt::Key_Right)
{
d=d_right;
}
}
④食物的显示与蛇吃食物
食物显示:
data.push_back(getFood());//将吃到的食物添加在蛇身之后
timer = new QTimer();//初始化时钟
timer-setInterval(400);//设置时钟周期
timer-start();
connect(timer,SIGNAL(timeout()),this,SLOT(move()));//传递信号
food = getFood();
food-show();
蛇吃食物:
if((nheadx==foodx)(nheady==foody))
{
data.push_back(food);
food = getFood();
food-show();
}
游戏截图1
游戏截图2
游戏截图3
游戏截图4
您可能关注的文档
- 陕西科技大学镐京学院社会实践报告.doc
- 长螺旋引孔技术交底.doc
- 采访成功人士寒假社会实践报告.doc
- 道德与法治教学质量提升方案.doc
- 艺术概论 第二章.ppt
- 小升初衔接第一讲:基础词汇与句型综合梳理与运用(基于Starters 14).docx
- 四级公路设计关键要素教学课件.pptx
- Unit7SectionA2a-2e课件鲁教版英语六年级下册.pptx
- 初中地理八年级:探秘台湾省环境与经济协同发展.docx
- Unit2Success单元重点单词单句写作练习课件-北师大版高中英语选择性(1).pptx
- 2025年新能源汽车铝合金型材表面处理报告.docx
- 2025_2026学年新教材高中历史第四单元资本主义制度的确立9资产阶级革命与资本主义制度的确立课时作业含解析新人教版必修中外历史纲要下.doc
- 2026版高考历史一轮训练课后限时集训10近代西方民主政治的确立与发展含解析人民版.doc
- 2025年光伏支架轻量化研发趋势与材料创新报告.docx
- 2025_2026学年新教材高中英语UNIT3SPORTSANDFITNESS预习新知早知道学案含解析新人教版必修第一册.doc
- 初中道德与法治八年级上册《爱我中华》单元教学设计(1).docx
- Unit9IlikemusicthatIcandancetoSectionA(3a3c)(教学课件)人教版(0)九年级英语全册().pptx
- 四年级下册《我的“自画像”》习作指导课教学设计——基于例文支架的精准表达训练.docx
- 星火燎原:新中国“两弹一星”伟业的奠基与精神传承.docx
- 中考英语一轮复习:解锁单项选择的逻辑与策略(第一讲).docx
最近下载
- 2025年职业技能中医灸疗师理论知识-理论知识参考题库含答案解析.docx VIP
- 内科护理学(第6章S4白血病病人的护理).pptx VIP
- 门窗采购投标方案技术标.doc
- 2025年演出经纪人外籍艺人法律适用问题专题试卷及解析.pdf VIP
- 初中物理综合试卷.doc VIP
- 江西南昌农商银行年员工招聘笔试真题2025.docx VIP
- DBJ50_T-328-2019 树木移植技术标准.docx
- (高清版)DG∕TJ 08-2413-2023 优秀历史建筑外墙修缮技术标准.pdf VIP
- 16.2.2 二次根式的除法 初中数学人教版八年级下册课时练习(含答案).docx VIP
- DB15T3801-2024 内蒙古公共建筑节能设计标准.pdf VIP
原创力文档

文档评论(0)