您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页2018-2019-2面向对象程序设计综合实训报告(1)

2018-2019-2面向对象程序设计综合实训报告(1)

来源:暴趣科技网


《面向对象程序设计》综合实训作品设计说明书

题 目: 百变贪吃蛇的设计与开发

评语及成绩: 评分构成 完整度 (50分) 设计报告 (30分) 技术运用 (20分) 总分

得分 课程名称 《面向对象程序设计》综合实训 学 院 计算机工程学院 姓 名 谭** 班 级 17*** 学 号 2017*****

2019年 3月1日

作品简介: 一、 选题理由 用JAVA编写贪吃蛇,代码量适中,难易程度比较合适自己。在众多的小游戏中,贪吃蛇具有通俗易懂,极易上手的特点,并且好玩,游戏界面美观,操作简单,功能齐全。通过编写贪吃蛇小游戏,可以提高自己对JAVA的核心知识——面向对象有更深的理解,在编写小游戏中的流程有更深刻的领悟。 二.选题目的 相对于其他的项目,贪吃蛇显得更能够吸引人的注意。在老师指导下和同学讨论下,自己在查阅资料完成整个游戏的代码编写,提高了自己与同学的友谊,增强了与人交流的能力,明白了合作的重要性。极大的提高了自己对JAVA的认识,学会了更多的JAVA知识,掌握了一些包的知识。 三、作品的思路 游戏:该游戏通过控制蛇头方向吃掉食物,从而使得蛇变得越来越长。用键盘上的上下左右控制蛇的方向,蛇的移动方向改变只能是90度。蛇的默认长度为3,蛇头方向为水平向右。寻找吃的食物,每吃一口就能得到一定的分数,而且蛇的身子会越吃越长,身子越长玩的难度就越大,可以碰墙,不能咬到自己的身体,也不能咬自己的尾巴,。由于你的注意力需要高度集中,此时局面稍好,就会不由自主地想放松一下,比如点支烟、喝口茶,甚至仅仅是长出一口气。手指头一松劲,蛇就会很容易吃到自己的身子,所以需要玩家具有耐心,耐得住游戏的挑战。 前期:分析游戏中需要的类,类与类之间的关系,一些类所具有的方法。GUI)显示器的大小,以及需要设立的互动。 中期:运用eclipse编写代码。 方法:游戏开始时,数据的初始化 蛇吃到食物后身体加长调试在各个部分在显示器中的位置和大小 游戏结束的条件——蛇头撞到自己的身子 游戏结束后,是否要继续重新开始游戏 后期:测试游戏,完善不住之处,打包发布程序。 本人承担的主要任务: 1、 确定游戏规则 2、 制作游戏的图标—蛇身和蛇头、食物、显示器中的标题 标题如下: 蛇头如下: 食物如下: 3、 编写代码,实现众多的方法和类。 4、 让蛇的身体每一节有一定不同的颜色,蛇看起来更漂亮 蛇身如下: 5、 随着蛇身加长,蛇的移动速度加快,提高游戏的难度 6、 改变背景颜色,使游戏更加美观 7、 给重要的代码写上注释 8、 增加显示器中食物的个数,增加玩家的游戏体验感。 9、 蛇每吃掉一个食物,长度将一定量的增长。 游戏开始画面截屏: 游戏结束画面截屏: 所承担任务的主要完成过程 1、制定游戏规则;玩家控制蛇前进的方向,使蛇吃掉在显示器中随机产生的食物。蛇的长度将增长,蛇可以穿过墙体,但是不能吃自己的身体,也不能吃到自己尾巴。 2、制作游戏的图标—蛇身和蛇头、食物、显示器中的标题:用PS制作蛇头和蛇身和标题。 3、让蛇的身体每一节有一定不同的颜色,蛇看起来更漂亮:蛇的身作了3中不同的颜色。当蛇的长度数的尾数为0、3、6时,使用蓝色的身体,当蛇的长度数的尾数为1、4、7、9时,使用蓝色的身体,当蛇的长度数的尾数为2、5、8时,使用蓝色的身体。蛇身的增加在paint函数中,使用的if判断进行蛇身颜色的选择。 4、增加显示器中食物的个数,增加玩家的游戏体验感:在random实例化部分中,使用食物一号,和食物二号来增加显示器中食物的个数。并通过food.paintIcon(this, g, foodx01, foody01); food.paintIcon(this, g, foodx02, foody02);来显示食物在显示器中位置。 5、蛇每吃掉一个食物,长度将一定量的增长:控制蛇头前进,食物在显示器中有独特的坐标,当蛇头的坐标与食物的坐标相等时,则证明蛇吃到了食物,则调用paint函数中的花蛇身部分,增加蛇的长度。 6、改变背景颜色,使游戏更加美观。在paint方法中运用this.setBackground(Color.RED);来设置背景颜色为红色。 7、给重要的代码写上必要的注释,提高代码的可读性,也方便后面自己对程序的改进和完善。方便与别人分享、讨论自己的代码。 8、增加显示器中食物的个数,增加玩家的游戏体验感。在SnakePanel类开头时,多加一个食物二号,由foodx02记录random类随机产生的横坐标,由foody02记录产生random类随机产生的纵坐标。再通过food.paintIcon(this, g, foodx01, foody01); food.paintIcon(this, g, foodx02, foody02);在显示器中显示出来。 作品制作中的收获和存在不足 一、 作品制作中的收获 一周的实训转瞬即逝,虽说时间很短,但其中的每一天都使我收获很大、受益匪浅,它不但极大地加深了我对一些理论知识的理解,而且使我对Java有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到在课堂上学不到的一些为人处世的道理 。 在这次实训中我有诸多感想,也发现了很多不曾注意到的细节,在老师的讲解过程中,我认为一个优秀的程序员应该从小事做起、从基本做起。整个编写代码的过程对我来说是一次将理论应用于实践的过程,是将以前所学知识充分利用的过程,是一次真正的实践过程。在这次JAVA贪吃蛇编写中,学到了很多在课堂内所学不到的知识,真正拓展了自己的能力,是一次难得的历练经历收获很大。除此以外,我知道了什么叫合作和讨论,怎样和同学讨论合作;同时我还学会了如何更好地与别人沟通,怎么做到更好的沟通。懂得了分享是一件很快乐的事情。如何更好地去陈述自己的观点,如何说服别人认同自己的观点。这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。也是对以前所学知识的一个测试吧!这次实训对于我以后学习、找工作也是受益匪浅的,在短短的一周中相信这些宝贵的经验会成为我今后成功的重要的基石;这对于我的学习,乃至我以后人生的影响无疑是极其深远的。这次实训不是我们的第一次,同学也是信心满满,由此看来,我们在进入大学的这一年半里学到了很多的专业知识,只是自己感觉不到而已。对于所学专业,我们不能看低自己,需要有足够的信心和勇气去面对问题。实训是学习Java的重要环节,有利于我们巩固专业知识、掌握工作技能,提高就业筹码。 我把这次的实训看作是“理论与实践相结合的桥梁”,更是对自己编程能力的一种有效检测。通过这周的实训和学习,我看到了自己的此次实训的收获,也清楚目前自己的不足,那就是缺乏相应的知识与经验,对所学的专业知识不能够很好地运用于实践操作。正所谓“百闻不如一见”,经过这次自身的切身实践,我才深切地理会到了“走出课堂,投身实践”的必要性。平时,我们只能在课堂上学习基础的理论知识,缺乏动手能力,害怕动手、不敢动手、不愿动手是我们最要的问题。当然也是我们必须要克服的问题。思维的认识基本上只是局限于课本的范围之内,也许就是这个原因就导致我们对专业知识认识的片面性,使得我们只知所以然,而不知其之所以然!明白了实训的重要作用。 通过这次实训,它不但极大地加深了我对一些理论知识的理解,而且使我在理论上对Java有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。这次实训对于我以后学习、找工作也是受益匪浅的,在短短的一周中相信这些宝贵的经验会成为我今后成功的重要的基石;这对于我的学业,乃至我以后人生的影响无疑是极其深远的。 二、存在不足 1、不能很好掌握JAVA的基础知识,在游戏中控制蛇前进的速度部分代码中,如下if( score >((len/10)*10+10)) { nan = nan -25; Timer timer = new Timer(nan,this); timer.start(); }存在逻辑和基础知识错误,没有达到预想的效果。 2、食物1号和食物2号有时会出现在蛇头吃不到地方。 3、背景设置代码this.setBackground(Color.RED);没有提示错误,但是不能改变背景颜色。 4、游戏的规则太简单。玩家达到一定的分数后,游戏难易程度不变。没有设置游戏关卡,提高游戏的耐玩度 。 总结:对JAVA基础知识的理解有待提高,不能很好的在编程中灵活运用。在与同学的讨论中不能很好地表明自己观点,使得同学不能很好的明白我的意思。在网上查找资料时,没有足够的耐心。 本人签名: 日期:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务