大学生社会实践报告(论文)
报告题目 连连看游戏DIY的
社会实践论文
姓 名
学 院
班 级
学 号
批阅教师
成 绩
批阅时间 200 年 月 日
南 京 农 业 大 学
20##年 5 月 23 日
南京农业大学学生社会实践考核表
学院: 理学院 班级: 填表时间: 2010/5/23
为了提高我们理论联系实际的能力,为了给在我们提供一个学习书本外的知识,增长才干的好机会,科技节我院组织了中江杯科技节培训及比赛。主要内容是自己用C++写一个我们平时玩的连连看游戏。此次活动由中江冯建华老师辛勤培训、辅导。信科08级大多数同学热情参与,我也在参与的热潮中参加了此次活动。
我们专业是数学与计算机的综合专业,数学课课程略多于计算机课程,其中与语言相关的我们学过C语言程序设计和数据结构课程,所以也不算是彻底的零基础。但是C语言是一门面向过程的语言,数据结构用的也是C,而C++却是面向对象的,所以某种程度上我们的基础的不算基础。我们知道这是一次很好的学习机会同时也充满了挑战,但我们知难而上,依然踊跃报名了。
我们是以小组的形式报名,五人一组,一位同学做图片处理,一位做数据处理,两个些代码,最后一个做调试。可谓麻雀虽小五脏俱全,我们还是很规范滴。我们合作分工,很是愉快。
但是现实比想象的还要难,实践证明光有一腔热情是不够的。
第一次课冯老师主要介绍活动意旨和流程,还教我们用photoshop等软件处理图片做精美的麻将片。我们从网上找了很多小宝宝的笑脸图片做原材料做了第一批麻将片,但由于经验不足,没有计算大小及图片处理视觉效果不够好等原因,我们精益求精,彻底废弃第一次努力成果,重新选材 ,彻底返工。功夫不负有心人,第二次我们获得了较为令人满意的结果,我们选的是喜洋洋与灰太狼的图片,灵动活泼。小小的成功带给我很大大的喜悦,但是挑战还在后头呢!
开始讲代码部分时所有人都头痛不已,刚刚仅有的一丝喜悦被冲得烟消云散。由于所用编程环境Visual Studio 2010与学C时用的VC 6.0有很大不同,不熟编程环境可以说是灾难性的了。庆幸老师对我们很好,很耐心地一点一点从基础开始教我们,不厌其烦地为我们演示。经过不断努力我们总算可以独立建好基本框架,可是相对于完成我们已做的是那么微乎其微。考虑到我们不曾学过面向对象的语言老师已经帮我们写好不涉及思想的部分程序,如结构体、宏等,关于具体的函数方法实现老师只讲解,留给我们很多自我发挥的空间。可是我们基础太差,加之培训仓促,课上半懂的我们脱离了老师就彻底不行了。我们“很勇敢”的自己在尝试,可有些东西是不能盲干的,由于不会用调试工具,我们越改错误越多。我和另一同学负责代码部分,深感责任之重。但急也罢,恼也罢,不会的还是不会,因为很多语法与C不一样,借来书也没儿法看。老师只好让步——把写了大概的View.cpp文件给我们,但似乎这也没有取得很好的成效,没有任何一组的到成品,直到老师进一步让步给出更多.cpp和.h文件。在有已有的文件中我们做了简单的改动,如宏中麻将片长宽、窗体大小、颜色现实位置等,并导入自己的图片声音等等把作品改成自己的。为与老师的15不同我们还特意把麻将片数做成16,这也给我们组这些菜鸟带来不小麻烦——产生的随机图片不成对(我们至今没有解决)。我又在老师给的有初级游戏代码的基础上补充了中级和高级部分的代码和设置。基本写好后调试还是不能通过,定义等部分还不全。我又抓住课上仅有的时间向老师请教,可老师分身乏术,还要顾及其他同学不能一直帮我,我又向同学请教,组里同学也给我很多帮助。“三个臭皮匠赛过诸葛亮”一点也不错,在大家的共同努力下我们终于调试通过了。第一次,尤其是成功的第一次总是让人无比兴奋的,我们几乎要叫起来了。随后我们又调整现实、补充帮助说明等方面做了小补充,最后基本完成。
或许这次的LLK成功还不能算是我们自己的,但我们还是收获了不少。首先小组锻炼了我们的团队精神,任何一个还环节出问题所有人都跟着着急,有问题大家一起想办法解决。其次在那么多“磨难”中我们也或多或少学会了一些C++的知识。同时,书本上的知识特别是电脑软件编程等,如不经过实践考验,根本无法查出你的知识漏洞。实践才发现C也有不少很重要的细节之处,我并没有真正掌握,而当我做完时,我明显感觉到我的知识有了一个巨大的飞跃。学习的过程用到以前学的知识,如哈希表,随机数等,用到时很为自己曾经认真学过而庆幸,这教我以后做事多了一份踏实。我们永远不知道学的东西什么时候会用到,但“书到用时方恨少”,平时认真踏实学习总是错不了的。另外它还让我领略了一番数学在应用方面的瑰丽,在随机数产生方法中成功率是小于一的,即有可能产生单个的图片,但每行15中选10个,得到相同图片成对的概率还是很大的,所以具有可行性。大到海湾战争,小到LLK很多方面数学是起决策作用的。这让我对自己的专业更有信心了。
实践让我们走向应用,走出课堂。当前,我们不仅缺少知识,还是缺少将知识与实际相结合的能力。我们在课堂上所学的,与在实际当中遇到的是不尽相同的。其往往具有不具有明显的特征,这需要我们进行抽象概括才能解决各种问题。
实践是学生接触社会,了解社会,服务社会,运用所学知识实践自我的最好途径.亲身实践,而不是闭门造车。实现了从理论到实践再到理论的飞跃。增强了认识问题,分析问题,解决问题的能力。为认识社会,了解社会,步入社会打下了良好的基础。同时还需我们在以后的学习中用知识武装自己,用书本充实自己,为以后服务社会打下更坚固的基础!
此次比赛在这里最后超越了成功与失败,与我认真参与的过程与学习相比,结果是什么都是逊色的。在交完作品后我还会把玩它,由于之前种种条件限制我们没能把图片做成同学的头像,日后我要把它改成同学自己的头像,做彻底的自己的连连看!
第二篇:连连看实验报告
2011—2012 学年第 二 学期
课程名称: Java程序设计 任课教师:
论文题目: Java连连看游戏
学号:
姓名:
年级: 2010级
专业: 计算机科学与技术 班级:
提交日期: 20xx年6月20日
目录页
一、课题介绍………………………………………………..
二、成品操作步骤…………………………………………..
三、分析与设计……………………………………………..
四、遇到的问题和解决方法………………………………..
五、总结……………………………………………………..
六、参考资料………………………………………………..
一、课题介绍
连连看游戏是一种很流行的小游戏,通过使用三条或以内的连线消去同样图标的格子达到清空所有图标的目的,深受广大网名的喜欢,且其具有休闲性。
二、成品操作步骤
将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则视为无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束。
按右下方“重新游戏”,即可重新排列;按左下方“退出游戏”,即可退出游戏。
三、分析与设计
分析:
在检验两个方块能否消掉的时候,我们要让两个方块同时满足两个条件才行,就是两者配对并且连线成功。
分3种情况:(从下面的这三种情况,我们可以知道,需要三个检测,这三个检测分别检测一条直路经。这样就会有三条路经。若这三条路经上都是空按钮,那么就刚好是三种直线(两个转弯点)把两个按钮连接起来了)
1.相邻
2. 若不相邻的先在第一个按钮的同行找一个空按钮。1).找到后看第二个按钮横向到这个空按钮所在的列是否有按钮。2).没有的话再看第一个按钮到与它同行的那个空按钮之间是否有按钮。
3).没有的话,再从与第一个按钮同行的那个空按钮竖向到与第二个按钮的同行看是否有按钮。没有的话路经就通了,可以消了.
3.若2失败后,再在第一个按钮的同列找一个空按钮。1).找到后看第二个按钮竖向到这个空按钮所在的行是否有按钮 2).没有的话,再看第一个按钮到与它同列的那个空按钮之间是否有按钮。
3).没有的话,再从与第一个按钮同列的那个空按钮横向到与第二个按钮同列看是否有按钮。没有的话路经就通了,可以消了。
若以上三步都失败,说明这两个按钮不可以消去。
设计:
1、算法模块
public void randomBuild()//随机数的生成
public void dispel() //消除两个相同量
public void linePassOne()//行的判断
public void rowPassOne()//列的判断
public void remove()//控件的移除
2、界面模块
public void Init() //初始化面板
四、遇到的问题和解决方法
1、在消除相同量这一模块中,多个坐标间的判断,有些晕头转向的,且没有考虑到多种情况,致使代码出现了些许BUG。
解决方法:在网上寻找了完成品,参考该部分的代码,了解其他人的多种思路。
2、无法解决出现“死锁”的现象。对于异常处理现象没有涉及。
五、总结
通过这次JAVA小游戏的设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,并且还发现了自己的许多不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,并且无法形成一个一个作为程序员的习惯,不事先设计方案,使我吃足了苦头。但通过这次连连看设计之后,一定把以前所学过的知识重新温故,并且对自己加强要求,必须要进行事先的分析与设计,多多阅读代码。
六、参考资料
1、百度文库:/view/1b5abf3631126edb6f1a1053.html
2、《电脑爱好者》 2005上半年合订版