基于Android的汉语学习竞技软件.docx
《基于Android的汉语学习竞技软件.docx》由会员分享,可在线阅读,更多相关《基于Android的汉语学习竞技软件.docx(30页珍藏版)》请在冰豆网上搜索。
基于Android的汉语学习竞技软件
引言
安卓手机游戏在手机游戏市场中的发展,据Garter数据显示表明,2013年Q2Android系统全球市场占有率为79%,2013Q1Android系统市场份额为74.4%,Q3则达到了81.9%,超过了八成。
Gartner监测数据显示,由于中国市场突飞猛进的发展,使得Android在Q3突破了80%的市场份额。
在Q3Android手机的出货量中,有41%来自于中国大陆的市场。
虽然2014年Android市场将萎缩WP、iOS市场将增长,但Android手机游戏行业仍有一定开发价值。
就汉字游戏在安卓手机游戏中的发展和对中华传统文化的益处而言,汉字英雄、汉字听写大会两档语言类节目,引发的汉字热潮,勾起了越来越多的国民对于汉字、汉语、中国传统文化的现状及发展趋势的思考。
而汉字游戏大量的的应运而生,也带来了边玩边学,在娱乐中进行文化学习的途径,当然,这条路的发展有赖大家共同的努力与监督。
将汉字学习通过国民感兴趣的中国手机游戏这个媒体途径向广大国民加以传播。
在五千多年的发展中,中华民族形成的以爱国主义为核心的团结统一、爱好和平、勤劳勇敢、自强不息的伟大民族精神。
璀璨的中华文化是我们每一个炎黄子孙骄傲,因为她才有了你我今天的和谐社会可以生活;是我们中华民族不可割舍的精神财富,一直在默默地指引着我们走在光明、强盛的路上。
中华民族精神孕育了中华文化,而反过来,中华文化又影响到民族精神。
所以中华文化的传承与弘扬是我们每一位炎黄子孙本就应该承担起的责任和享受先祖遗泽时的所应当付出的义务。
本款基于android的汉语竞赛游戏设计与开发,本着汉字与汉语拼音的结合的题目练习的方式来进行汉字学习,玩游戏,识拼音,认汉字,展开一场中华传统文化之旅的同时,加强凝聚民族精神。
1Android开发平台
本章主要介绍了如何构建Android开发环境,包括获取Android SDK、Eclipse以及进行Android Eclipse插件设置等。
1.1Android开发环境介绍
Android的应用程序是使用Java语言开发的,目前Android开发所用的开发工具是Eclipse。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
Eclipse的本身只是一个框架平台,只有Eclipse还不够,因为是使用Java语言进行开发,还应该有SUN公司提供的JavaSDK。
令外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的AndroidSDK(SoftwareDevelopmentKit),在Android中,它为开发者提供了库文件以及其它开发所用到的工具。
简单理解为开发工具包集合,是整体开发中所用到的工具包。
同时,在Eclipse编译IDE环境中,还需要安装为其提供的专门的插件:
ADT(AndroidDevelopmentTools),为Android开发提供开发工具的升级或者变更,可以简单的理解为在Eclipse下的开发工具的升级下载工具。
1.2Android开发工具
在开源的集成开发环境领域,如果仅仅考虑市场占有份额,Eclipse曾经是无数Java开发者的首选IDE.当前开始决定使用其作为我的开发工具,我们需要以下软件搭建好Android的开发环境,进而才能开始Android应用程序的开发。
(1)Eclipse
(2)AndroidSDK
(3)JavaSDK
(4)ADT
1.3本章小结
简要介绍了我所采用的Android开发环境及所选用的开发工具。
2游戏总体设计
本章节主要阐述了本款汉字游戏是基于Android手机平台的游戏开发,开发意义在于对中国汉字教育,汉语教育,民族文化文化做出一份贡献,并且在游戏设计的需求分析以及开发流程等方面介绍游戏总体的设计思路及准备实现的功能和模块等情况。
2.1课题背景
汉字英雄、汉字听写大会等大型电视文化节目的热播,引发了我将汉字游戏应用在android手机游戏开发中的灵感。
按照组织者的说法,汉语作为中华文明最宝贵的财富之一,他们希望通过《中国汉字听写大会》能够重新点燃人们对汉语的热情。
传授国学知识和节目趣味性并存的《汉字英雄》,符合中国文化国学主题的同时,恰恰还能传递中华文化传承的正能量。
两档语言类节目的热播,除了为流行文化产品竞争带来了种种启示之外,也引发了学术界对中国传统文化以及语言文字现状与未来走势、汉字危机论等诸多思考,抛砖引玉,为传统文化事业添砖加瓦。
2.2国内外研究现状
各种研究结果表明,不得不说,当前的中国,电子产品的输入法这个工具,为我国传统语文等教育带来了不小的难度,确实应该针对性增加专项教育予以改变这种尴尬的情况。
在电子产品的教育游戏应用方面,国外在英语教学方面所下力度不小,为英语母语的字母学习的游戏应用,不计其数。
但就国外移动教育平台的重视,国内随之也开始对这块空白的弥补,就资料分析,这块市场确实很有“加关注”的价值。
个人认为,随着移动终端市场的大放异彩,多一种移动终端游戏媒体途径可以作为教育途径,其重要性可想而知。
2.3汉字游戏的发展趋势
如今,浏览器内搜索“汉字游戏”的关键词,诸多汉字游戏蜂拥而至,成为了游戏中一个主题,教育游戏市场针对汉字的发展而言,相应流行的汉字游戏,日益增多的同时,“加关注”与扶持正能量的汉字游戏的行动需要大力发动。
在不失去相应的趣味性的同时,传授知识,汉字游戏未尝不是汉字学习热潮的契机。
而相较于大型的PC端游戏,小型化的移动终端设备内的Aroid手游则是我要入手进行Android汉字游戏开发的方向。
2.4进行汉字手机游戏设计与开发的意义
国民教育之外的民族文化传承与教育也是不容忽视的,无论出于什么原因,已经造成了英语这门作为第二外语的语种,扎根中国,不知不觉中,在人们心中的地位价值已远远超过了老祖宗留下的中华汉字的现状。
当各年龄段的人群或主动或被动、或积极或消极的游神于英语题海内,究竟还有多少精力会被投放在传统文化的学习与思考上,还何谈对传统文化的传承与弘扬呢?
当今教育惠民政策实行的同时,教育内容方向的把握的重要性也是我们不可忽视的一点。
语文,一般认为是语言和文字的综合科。
语言和文章、语言知识和文化知识的简约式统称等都离不开它。
它是听、说、读、写、译、编等语言文字能力和知识,文化知识的统称。
《语文》也是中国的学校等教育机构开设的一门主要学科。
电子拼写工具的依赖,也将是导致国民学习汉字拼写产生惰性的一大根源。
试想从个人实际角度出发,当有个非常方便的电子输入法的存在之后,无论是电子书写还是实际纸质书写中,汉字使用中遇到困难,记不得汉字时,大家往往都是通过电子输入法在电子设备上查询。
有谁还会去辛辛苦苦地学习汉字发音、书写笔画、字词含义?
相较于互相交流哪种品牌的输入法好用,我想,汉语字典、汉语大词典应该不知不觉间被人们或主观或被动的遗忘在了角落里了。
进而不知不觉影响着人们对于汉字、语文乃至中华传统文化的兴趣。
兴趣在人的实践活动中具有极其重要的意义,它可以使人集中注意力,并同时产生愉快紧张的心理状态。
反之,当人面对不感兴趣的事物,则将会产生相反的作用,而汉字面对的不恰恰正是这个局面么?
书写中的遗忘、遗忘后的向电子拼写工具求助、网络流行新字的肆意造字行为,失去了对正统汉字的重视、敬畏,诸多因素对汉语秩序的扰乱,都将对汉语体系的良好发展产生影响。
认字还在写字前,听、说、认、读、写,我的研究课题就是将正统汉字与汉语拼音的结合学习和安卓手机游戏相结合,将汉字通过国民感兴趣的中国手机游戏这个媒体途径向广大国民加以广泛传播。
我设计的“汉字漢字”这款Android平台上的教育游戏,主要设计逻辑是通过汉字与汉语拼音的结合的题目练习来进行汉字学习,并将做题过程调整为一种碰撞游戏模式,本文期望达到以下目标:
通过教育游戏软件,让传统文化的教育从文字认知开始介入虚拟的游戏情境,逼真的趣味的浓郁文化氛围下进行游戏体验,民族精神的潜移默化达到培养积极健康的人生理想、领悟爱、感动、奉献等情感的正能量、成为一个目光可以仰望星空,行为又可以脚踏实地的有作为的人。
在游戏中提高学习兴趣,在学习中激发求知欲望,让学习者沉浸在愉悦的海洋中,达到通过教育游戏优化学习效果的目的。
在游戏中走进中华传统文化,领悟天行健,君子以自强不息的中华民族精神,识礼数尊卑,懂谦虚厚德,不数典忘祖,不崇洋媚外的健康心理。
汉字的启蒙学习是汉语、中华文化的基础,通过趣味游戏的方式为中华传统文化的传承弘扬添砖加瓦,在展开一场中华传统文化之旅的同时,加强民族精神与凝聚力,为前人名今人路后人福,扫屋后扫天下,自强则民族强。
吾虽眼前力薄势孤,愿为中华富强,尽微薄力,无怨无悔不怠;
建设中华同胞亿万,众志一心成城,携手前行,未来愈加美好!
2.5需求分析
第一步为研究游戏模式,思考如何将汉字学习嵌入游戏内,将做题过程转变为游戏模式,我决定开发碰撞选择类游戏,玩家进行碰撞部位的选择,即代表了做汉字选择题时的答案选择,与敌人模型Enemy碰上什么部位,就代表选择哪个答案,注意,第一行为题目,非答案选项区域,不建议玩家模型player以第一行进行碰撞。
因此,我开发的题型将是选择题。
游戏规则中,首先确定碰撞双方为玩家模型player、敌人模型玩家模型player为玩家操控的虚拟模型,而敌人模型就是题目,将包含题目与答案选项,当玩家控制玩家模型player选择与敌人模型答案选项部分碰撞时,即代表进行正误检测,正确将加二分,错误将减一分。
而碰撞检测将包含两部分:
一为模型碰撞检测,玩家模型与敌人模型任意位置碰撞后,当前敌人模型即消失,并生成下一个敌人模型,继续下一道题;
二为正确选项区域碰撞检测,在整体碰撞检测的同时一起执行,当玩家模型player与敌人模型正确选项部分发生碰撞,即开启正确选项区域碰撞检测,进行计分。
需要实现的功能有,玩家模型player的绘制及触摸笔点击来实现对玩家模型player的方向进行控制;敌人模型组Enemy[]的绘制方法,使其在屏幕每次只出现一个,并死亡后按列表依次出现,两类模型间的碰撞检测;得分将如何计算。
游戏模式将分为两类:
1,倒计时模式,将对游戏时间进行限制,时间到游戏将结束并将所得分数传入积分数据库,方便对记录的查看;
2,练习模式,无时间限制,游戏时长由玩家控制,以返回键结束当前游戏,但所得分数不记录。
也需要实现不同模式下,计时器是否在屏幕显示,是否启用该线程对游戏进行时间上的控制。
2.6题型
汉语拼音的发明在汉字教学中丰功伟绩大家是有目共睹的。
因此,本游戏中采用填空与注音两种题型,
在填空题型下,玩家角色前方会出现选字题,结合语境,给括号内的拼音选择正确的汉字;
在注音题型下,玩家角色前方会出现拼音题,结合语境,给括号内的汉字选择正确的注音;
2.7教材
本版本下,题目范围锁定为抽取人教版小学语文教材。
2.8游戏模块及流程
我的开发过程模块顺序将是先进行单一关卡的游戏界面实现;添加多个游戏关卡界面的实现;然后添加积分排行榜界面,查看计分及记录的实现;添加菜单界面,通过界面内的按钮,实现对不同关卡界面、积分排行榜等界面的访问;然后添加计时器Timer,实现对倒计时模式、练习模式两种游戏模式的控制的实现;添加音效的实现,声音设置界面由主菜单内按钮控制;主菜单内添加关于、帮助界面按钮;添加开机欢迎界面;所有界面添加完毕后整理不同菜单内按钮的位置。
而与本界面相关函数同样在界面模块开发过程中表述出来
游戏界面模块主要分为九部分:
游戏关卡界面GameView、排行榜界面HighScoreView、主菜单界面MainMenuView、选择界面ChoiceView、游戏关卡选择界面GameChoiceView、设置界面SoundControlView、关于界面AboutView、帮助界面HelpView、欢迎界面WelcomeView;
游戏流程分为七步骤:
开始游戏;
进入欢迎界面;
自动转入主菜单界面:
有五个按钮:
关于、帮助、开始游戏、设置、退出;
设置音效:
背景音乐、游戏特效;
游戏开始:
选择游戏模式,即跳转至选择界面:
有三个按钮:
倒计时模式、练习模式、排行榜;
选择关卡,即跳转至关卡选择界面:
有三个按钮:
第一关、第二关、第三关;
进入游戏界面;
游戏结束:
分数传入数据库进行排行,显示分数;
选择返回主菜单;
退出游戏。
游戏流程图:
2.9游戏模块功能分析
本款基于android的汉字漢字游戏软件,实现玩家在自己选择的题型下,倒计时内答对尽可能多的题目,以获得更好的分数排名,还可以通过排行榜查看自己的学习进步情况。
(1)游戏关卡的设计与实现;
点击关卡选择界面内任意关卡按钮之后,即进入GameView视图,根据按钮不同提供不同的关卡内容,以GameView.java文件实现;
(2)积分界面的设计与实现;
点击主界面内排行榜按钮后,即进入HighScoreView视图,本界面有两种显示方式:
一,由主界面进入关卡选择界面,点击排行榜按钮,进入积分界面;二,游戏正常结束后,自动进入积分界面,在选择界面下以HighScoreView.java文件实现;
(3)主菜单界面的设计与实现、五个按钮的功能实现;
开机闪屏结束后,即自动进入MainMenuView视图,在本主菜单界面内,以滑动按钮来标识当前按钮,进行下一步选择操作,以MainMenuView.java文件实现;
(4)选择界面的设计与实现、三个按钮的功能实现;
点击主界面内选择按钮后,即进入ChoiceView视图,本界面显示两种游戏模式按钮,提供给玩家进行选择游戏类型的操作;还有分数排行榜按钮,供玩家查看记录,仅正常游戏时间结束的退出会进行分数传入,若在游戏界面点击返回按钮进行强退,则该回合游戏不做任何记录,再次点击关卡按钮,则开启新一局游戏。
本界面共三个按钮,以ChoiceView.java文件实现;
(5)关卡选择界面的设计与实现;
点击选择界面内任意游戏模式按钮后,即进入GameChoiceView视图,本界面显示三个关卡按钮,提供给玩家进行选择关卡的操作,当玩家在选择界面内选择任意一种游戏模式后,都将跳转入本界面,在本界面内选择关卡后即可进入游戏界面,以GameChoiceView.java文件实现;
(6)设置界面的设计与实现;
点击主界面内设置按钮后,即进入SoundControlView视图,,本界面出现两个按钮选项,分别控制游戏背景音乐、游戏碰撞音效,基础设置是音效开启,背景音乐关闭,可由玩家自定义,以SoundControlView.java文件实现。
(7)关于界面的设计与实现;
点击主界面内关于按钮后,即进入AboutView视图,以一张图片显示作品作者等信息内容,以AboutView.java文件实现;
(8)帮助界面的设计与实现;
点击主界面内帮助按钮后,即进入HelpView视图,同样以一张图片来显示基础功能操作方法等信息,以HelpView.java文件实现;
(9)欢迎界面的设计与实现;
手机菜单内,点击游戏图标后,即进入WelcomeView视图以图片闪屏作为游戏开始的欢迎界面,然后自动跳转入主菜单界面,以WelcomeView.java文件实现;
2.10本章小结
本章介绍了本游戏设计与开发的功能实现的理论依据与功能原理及功能实现原理。
在游戏开发之初的思考、立意,我的灵感来源于风靡全国的汉字英雄、汉字听写大会两档重磅打造的语言类节目,国民的民族凝聚力当主要从青少年的教育入手较为合理,所以本版本下取材于中国人教版小学语文教材;
兴趣方向为汉字教学的游戏化,好处是让教学扎根在受众广泛的安卓手游领域将获得更多国民的关注;
教学题目方向为汉字与汉语拼音的结合学习,从听说认读写中的认字入手。
游戏概念、及各功能实现的原理。
从论汉字教育的发展,到论汉字游戏对汉字教育的意义的发展,再到基于Android的汉字竞赛游戏与开发原理的阐述。
3游戏具体设计与实现
3.1主控制类Activity
主要功能实现介绍:
3.1.1HandlermyHandler
用于处理其他类发送的消息,并控制相应界面的进入:
HandlermyHandler=newHandler(){//处理各个SurfaceView发送的消息
publicvoidhandleMessage(Messagemsg){
switch(msg.what)
{
caseWhatMessage.GOTO_MAIN_MENU_VIEW:
//主菜单界面
gotoMainMenuView();//切换到主菜单
break;
caseWhatMessage.GOTO_GAME_VIEW:
//游戏界面
gotoGameView();//切换到游戏界面
break;
caseWhatMessage.GOTO_SOUND_CONTORL_VIEW:
//音效控制界面
gotoSoundControlView();//切换到音效控制界面
break;
caseWhatMessage.GOTO_HIGH_SCORE_VIEW:
//积分排行榜界面
gotoHighScoreView();//切换到积分排行榜界面
break;
caseWhatMessage.GOTO_WELLCOME_VIEW:
//欢迎界面
gotoWellcomeView();//切换到欢迎界面
break;
caseWhatMessage.GOTO_HELP_VIEW:
//关于界面
gotoHelpView();//切换到关于界面
break;
caseWhatMessage.GOTO_ABOUT_VIEW:
//关于界面
gotoAboutView();//切换到关于界面
break;
caseWhatMessage.GOTO_CHOICE_VIEW:
//选择界面
gotoChoiceView();//切换到选择界面
break;
caseWhatMessage.GOTO_GAMECHOICE_VIEW:
//关卡选择界面
gotoGameChoiceView();//切换到关卡选择界面
break;
caseWhatMessage.OVER_GAME:
//正常结束游戏并转入积分界面
goToOverView();//切换到正常结束游戏并转入积分界面
break;
}
}
};
3.1.2返回键功能
控制不同界面下,返回键的功能,即用来判断具体跳转到哪一界面:
case4:
//返回键
switch(currentView)
{
caseWhatMessage.GOTO_WELLCOME_VIEW:
//欢迎界面
break;
caseWhatMessage.GOTO_MAIN_MENU_VIEW:
//主菜单界面
System.exit(0);//退出游戏
break;
caseWhatMessage.GOTO_GAME_VIEW:
//游戏界面
caseWhatMessage.GOTO_GAMECHOICE_VIEW:
//关卡选择界面
caseWhatMessage.GOTO_HIGH_SCORE_VIEW:
//积分排行榜界面gotoChoiceView();//切换到选择界面
break;
caseWhatMessage.GOTO_SOUND_CONTORL_VIEW:
//音效控制界面
caseWhatMessage.GOTO_HELP_VIEW:
//帮助界面
caseWhatMessage.GOTO_ABOUT_VIEW:
//关于界面
caseWhatMessage.GOTO_CHOICE_VIEW:
//选择界面
gotoMainMenuView();//切换到主菜单
break;
}去游戏界面的方法:
gotoGameView()用来控制进入界面;
3.1.3各功能功能具体函数的介绍:
去积分榜界面的方法:
gotoHighScoreView()用来控制进入界面;
去主菜单界面的:
gotoMainMenuView()用来控制进入界面;
去选项界面的方法:
gotoChoiceView()用来控制进入界面;
去关卡选择界面的方法:
gotoGameChoiceView()用来控制进入界面;
去设置声音界面的方法:
gotoSoundControlView()用来控制进入界面;
去关于界面的方法:
gotoAboutView()用来控制进入界面;
去帮助界面的方法:
gotoHelpView()用来控制进入界面;
去欢迎界面的方法:
gotoWellcomeView()用来控制进入界面;
打开或创建数据库的方法openOrCreateDatabase();
关闭数据库的方法closeDatabase();
插入记录的方法insert(intscore,Stringdate);
查询的方法query(intposFrom,intlength);
得到数据库中记录条数的方法getRowCount();
上述数据库相关的五个方法,用来实现对积分排行榜对于游戏获得的分数的记录与返回查询的功能。
3.2游戏界面的实现
主游戏界面以及相关引用函数文件的效果实现的介绍。
3.2.1GameView主游戏界面的
GameView为游戏界面,继承自视图View的专门为制作游戏而产生的直接子类SurfaceView,用以提高线程效率。
提供开始游戏效果,首先确定欢迎界面将使用两张图片,所以将其建立一个图片数组方便调用,线程在surfaceCreated()内,计算好图片坐标后,使用动态改变图片透明度的方法实现欢迎闪屏动画,方法:
定义paint.setAlpha(currentAlpha)后通过改变currentAlpha的值,控制画笔的Alpha值动态由255变小0来调整图片透明度,使图片成像产生由透明到清晰的闪屏效果,并依次显示图片数组内的图片,并且可以设置图片时延Thread.sleep()的值,来控制两张图片显示的等待时间长短。
最后向Activity发送进入主菜单的消息:
activity.sendMessage(WhatMessage.GOTO_MAIN_MENU_VIEW),以产生开机动画结束后将自动跳转至主菜单的效果.
使用LoadBitmap()来实现对游戏模型图片资源(包含敌人模型图片数组,ePlane[],以及玩家player图片)的的定义;使用initBitmap()来实现对游戏三个关卡背景bgBmp、bgBmp2、bgBmp3、时间的10位数字数组,numberBitmaps=newBitmap[],等资源图片的定义;然后通过绘制,完整本模块界面的实现。
游戏界面触摸控制的函数onTouchEvent(MotionEventevent),控制每一次按下、抬起为一个操作,并仅执行一次后即锁死,实现玩家player触摸一次移动一个单位,防止点击一次无限移动造成的混乱。
游戏界面触摸移动函数button(floatx,floaty),根据判断触摸位置的坐标,实现对移动方向控制的判断。
在instantiatio