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

    Linux应用开发课程设计报告.docx

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

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

    Linux应用开发课程设计报告.docx

    1、Linux应用开发课程设计报告Linux应用开发课程设计报告项目名称 贪吃蛇学号: 姓名: 张浩 专业: 软件工程专业 班级: 14软工软设1班 指导教师: 郭俊颖 南 阳 理 工 学 院 软 件 学 院2016年12月一需求分析1.问题描述蛇与食物出现的位置;蛇的游动;怎样实现蛇撞到自身会死;怎样判断蛇撞到墙;2基本要求实现蛇在不断吃到食物后分数增加,实现蛇的游动。3.需实现的主要功能蛇与食物不能出现在一起;蛇撞到自身以及墙都会死;蛇吃到事物后,长度增加同时分数增加一随着分数的增加,关卡难度增加4.设计实现方案将蛇头的坐标以及蛇身的坐标都用二维数组表示出来,规定第一个下标为0则代表蛇头,为i

    2、则为蛇身,第二个下标为0代表横坐标,为1代表纵坐标,foodx代表食物横坐标,foody代表食物纵坐标,当蛇头坐标与事物坐标相等时则表示蛇吃到了事物,长度加一。方向变化为:当向上走时,横坐标不变,纵坐标减减;向下走时,横坐标不变,纵坐标加加;向左走时纵坐标不变,横坐标-;向右走时纵坐标不变,横坐标+。2系统设计分功能描述和设计流程图当用户打开贪吃蛇时,进入主界面,主界面有开始及退出两个选项,当用户点击开始时,进入第二个界面(游戏界面),左侧为游戏界面,右上方显示分数与等级,当用户控制蛇吃到事物时分数会增加,当分数增加到5,15,20时,等级会提升。右下方为上下左右开始返回键,用户可以控制上下左

    3、右来操控蛇的游动方向,当用户点击开始时游戏则开始,当用户点击返回时,则退回到主界面。设计流程图如图2-1所示: 2-1 设计流程图3系统实现贪吃蛇的界面和代码图31信息详情界面贪吃蛇的核心代码:void GameWidget:timeoutSlot() /判断是否知道食物 if(snake00=foodx&snake01=foody) /吃到食物发出声音 sound-play(); /如果吃到食物,食物坐标更新 int i=0; foodcount+; score+; str1=QString:number(score); scoreshow-setText(str1); QTime t; t

    4、= QTime:currentTime(); qsrand(t.msec()+t.second()*1000); foodx=qrand()%COL; foody=qrand()%ROW; while(isetInterval(450);level+;break; case 10:timer-setInterval(400);level+;break; case 15:timer-setInterval(350);level+;break; str2=QString:number(level); levelshow-setText(str2); memcpy(snake1,snake,size

    5、of(snake); /实现蛇的游动 for(int i=foodcount;i=1;i-) snakei0=snakei-10; snakei1=snakei-11; switch(direction) case UP:snake01-;break; case DOWN:snake01+;break; case LEFT:snake00-;break; case RIGHT:snake00+;break; /判断蛇是否撞到自身 for(int i=1;iplay(); memcpy(snake,snake1,sizeof(snake); timer-stop(); if(QMessageBo

    6、x:question(this,提示,游戏结束,是否重新游戏,QMessageBox:Yes,QMessageBox:No)=QMessageBox:Yes) QTime t; int i; t= QTime:currentTime(); qsrand(t.msec()+t.second()*1000); snake00=qrand()%COL; snake01=qrand()%ROW; direction=qrand()%4; foodx=qrand()%COL; foody=qrand()%ROW; while(i) if(snake00=foodx&snake01=foody) food

    7、x=qrand()%COL; foody=qrand()%ROW; i=1; else i=0; foodcount=0; score=0; level=0; str1=QString:number(score); str2=QString:number(level); scoreshow-setText(str1); levelshow-setText(str2); return; /判断蛇是否撞到墙体 if(snake00=COL|snake01=ROW) sound1-play(); memcpy(snake,snake1,sizeof(snake); timer-stop(); if(

    8、QMessageBox:question(this,提示,游戏结束,是否重新游戏,QMessageBox:Yes,QMessageBox:No)=QMessageBox:Yes) QTime t; int i; t= QTime:currentTime(); qsrand(t.msec()+t.second()*1000); snake00=qrand()%COL; snake01=qrand()%ROW; direction=qrand()%4; foodx=qrand()%COL; foody=qrand()%ROW; while(i) if(snake00=foodx&snake01=f

    9、oody) foodx=qrand()%COL; foody=qrand()%ROW; i=1; else i=0; foodcount=0; score=0; level=0; str1=QString:number(score); str2=QString:number(level); scoreshow-setText(str1); levelshow-setText(str2); else delete this; return ; this-update();4总结通过这次试验,让我学到很多这个学期没有接触过的很多知识,完成一个贪吃蛇的项目;第一步就是先理清思路,设计主界面,主界面是

    10、以一具封闭的画布,并在画布的设计蛇体和食物。蛇头如果碰到墙或者与蛇身的某一部分碰到就会死亡;如果蛇头碰到食物,就会自动增加一节蛇身,并更改得分。想要写出好的程序,还是要有扎实的基础,这样遇到问题就不会一筹莫展来。在编程时我们要有想象力,不要拘泥于现有的贪吃蛇游戏,而是要把自己想到的再加上所学的知识,遇到问题不能怕,而是要专心找出问题的原因,再回来看看书本的知识,不懂的还可以问问老师。编程过程还要养成良好的编程习惯,这样不仅自己能够很好看懂自己的代码,也让人家容易看懂自己的代码,而不至于代码知识自己会看,出来问题只有自己会解决而其他人都不会解决;遇到问题时要考虑最简单的解决方案,只有简单的方案不

    11、能满足要求时再考虑复杂的方案。最主要编程还是要多与人沟通,不会的不能立即问别人,但是一段时间后解决不了时还是应该向别人请教请教,“三人行必有我师”正是这个意思。通过这次实验,我深刻地体会到了面向对象与面向过程的区别。程序在最初设计时由于面向对象的思想不够成熟,导致在最后想要增加一些新的功能时,出现了一些麻烦。5参考文献1王海粟. Iphone手机安全技术分析J. 技术研究, 2004, 21(1)2张鲜明.解码时尚教皇乔布斯J. 城市环境设计, 2010,12(07)3王嘉琦.初探Xcode中指针和数组的使用J.工程技术,2011,23(06)4(美)科施恩.苹果Mac OS X操作系统标准培训教材M.北京:机械工业出版社,20095葛家澍, 林志军. IPhone应用程序开发入门与实战M. 厦门: 厦门大学出版社, 2001


    注意事项

    本文(Linux应用开发课程设计报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




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

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开