安卓益智小游戏课程设计报告书Word版.doc

上传人:rrsccc 文档编号:9137673 上传时间:2021-02-04 格式:DOC 页数:24 大小:5.75MB
返回 下载 相关 举报
安卓益智小游戏课程设计报告书Word版.doc_第1页
第1页 / 共24页
安卓益智小游戏课程设计报告书Word版.doc_第2页
第2页 / 共24页
安卓益智小游戏课程设计报告书Word版.doc_第3页
第3页 / 共24页
安卓益智小游戏课程设计报告书Word版.doc_第4页
第4页 / 共24页
安卓益智小游戏课程设计报告书Word版.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《安卓益智小游戏课程设计报告书Word版.doc》由会员分享,可在线阅读,更多相关《安卓益智小游戏课程设计报告书Word版.doc(24页珍藏版)》请在三一文库上搜索。

1、传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 西安西安*大学大学 安卓游戏课程设计报告书安卓游戏课程设计报告书 院系名称院系名称: 专业班级专业班级: 学生姓名学生姓名: 学号学号: 时间时间: 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! Android 益智游戏 一、题目:一、题目: 设计一个 ANDROID 游戏(BEEN THERE DONE THAT) 社交益智游戏一直很流行,它可以使大家熟悉众多的 ANDROID SDK 的功能。 这是一个有关旅行的社交益智游戏。在这个游戏中,将向用户询问一些有关旅 行和相关经历的问题。例如: 你见过埃及的金字塔吗? 你

2、挤过牛奶吗? 你与海豚一起潜过水吗? 二、基本功能:二、基本功能: 1、显示应用程序的名称、版本和开发人员的启动屏幕。 2、解释游戏规则:显示文本文件解释如何玩游戏。 3、游戏介绍:在帮助中以文本形式提供游戏的介绍。 4、游戏向用户提出一系列问题,并记录用户做出肯定回答的次数。对于每一个 问题,都将显示文本和图形。例如,游戏屏幕可能显示一张山脉图片,询问用 户是否爬过山,并记录用户的答案:YES 或者 NO。 5、可以退出游戏。 三、功能模块图三、功能模块图: 游戏规则模块帮助模块游戏退出模块游戏实现模块 益智问答游戏 游戏主界面 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 四

3、、系统流程图四、系统流程图: 启动屏幕 游 戏 规 则 游 戏 帮 助 开 始 游 戏 退 出 游 戏 选择答案, Yes 总分加 10 分,No 总分 加 1 分 题目回答完毕 游戏结束 显示结果 进入主菜单 返回主菜单 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 五、游戏运行图:五、游戏运行图: 1、游戏主界面: 2、游戏规则界面与帮助界面: 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 3、游戏界面:(包含三个问题界面) 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 4、结果页面(根据选择可显示三种不同结果) 六、源代码六、源代码: 1、Jav

4、a 代码(实现页面跳转,按钮功能,传值的功能的 Avtivity 类) (1)、主界面:(实现游戏开始、规则、帮助页面的跳转,并实现退出功能) package com.luman.luman; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View; 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! import android.view.View.OnClickLis

5、tener; import android.widget.Button; public class MainActivity extends Activity private Button button01; private Button button02; private Button button03; private Button button04; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.

6、activity_main); button01 = (Button)findViewById(R.id.begin); button02 = (Button)findViewById(R.id.rule); button03 = (Button)findViewById(R.id.help); button04 = (Button)findViewById(R.id.tuichuId); button01.setOnClickListener(new MyButtonListener01(); button02.setOnClickListener(new MyButtonListener0

7、2(); button03.setOnClickListener(new MyButtonListener03(); button04.setOnClickListener(new MyButtonListener04(); Override public boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; c

8、lass MyButtonListener01 implements OnClickListener Override public void onClick(View arg0) / TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(MainActivity.this, Activity01.class); MainActivity.this.startActivity(intent); class MyButtonListener02 implements OnClickListene

9、r Override public void onClick(View arg0) 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! / TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(MainActivity.this, Other01.class); MainActivity.this.startActivity(intent); class MyButtonListener03 implements OnClickListener Override public void

10、 onClick(View arg0) / TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(MainActivity.this, Other02.class); MainActivity.this.startActivity(intent); class MyButtonListener04 implements OnClickListener Override public void onClick(View arg0) / TODO Auto-generated method stu

11、b finish(); (2)游戏界面:(包含三个问题界面与一个结果界面,并传递数据,结果界面可实现返回 主界面功能) 1问题一: package com.luman.luman; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Rad

12、ioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; public class Activity01 extends Activity private RadioGroup radioGroup; 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! private RadioButton YesButton; private RadioButton NoButton; private Button button; Override pro

13、tected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity01); button = (Button)findViewById(R.id.quedingId); button.setOnClickListener(new MyListener(); radioGroup = (RadioGroup)findViewById(R.id.radioGroupI

14、d); YesButton = (RadioButton)findViewById(R.id.YesId); NoButton = (RadioButton)findViewById(R.id.NoId); RadioGroupListener listener = new RadioGroupListener(); radioGroup.setOnCheckedChangeListener(listener); class RadioGroupListener implements OnCheckedChangeListener Override public void onCheckedC

15、hanged(RadioGroup group, int checkedId) / TODO Auto-generated method stub if(checkedId = YesButton.getId() (First)getApplication().setScore1(); else if(checkedId = NoButton.getId() (First)getApplication().setScore2(); class MyListener implements OnClickListener Override public void onClick(View arg0

16、) / TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(Activity01.this, Activity02.class); Activity01.this.startActivity(intent); 2问题二: package com.luman.luman; 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! import android.app.Activity; import android.content.Intent; import android.os.Bund

17、le; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; public class Activity02 extends Activity private RadioGroup radioGroup;

18、 private RadioButton YesButton; private RadioButton NoButton; private Button button; Override protected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity02); button = (Button)findViewById(R.id.quedingId); b

19、utton.setOnClickListener(new MyListener(); radioGroup = (RadioGroup)findViewById(R.id.radioGroupId); YesButton = (RadioButton)findViewById(R.id.YesId); NoButton = (RadioButton)findViewById(R.id.NoId); RadioGroupListener listener = new RadioGroupListener(); radioGroup.setOnCheckedChangeListener(liste

20、ner); class RadioGroupListener implements OnCheckedChangeListener Override public void onCheckedChanged(RadioGroup group, int checkedId) / TODO Auto-generated method stub if(checkedId = YesButton.getId() (First)getApplication().setScore1(); else if(checkedId = NoButton.getId() (First)getApplication(

21、).setScore2(); class MyListener implements OnClickListener 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! Override public void onClick(View arg0) / TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(Activity02.this, Activity03.class); Activity02.this.startActivity(intent); 3问题三: package co

22、m.luman.luman; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup

23、.OnCheckedChangeListener; public class Activity03 extends Activity private RadioGroup radioGroup; private RadioButton YesButton; private RadioButton NoButton; private Button button; Override protected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stub super.onCreate(savedInst

24、anceState); setContentView(R.layout.activity03); button = (Button)findViewById(R.id.quedingId); button.setOnClickListener(new MyListener(); radioGroup = (RadioGroup)findViewById(R.id.radioGroupId); YesButton = (RadioButton)findViewById(R.id.YesId); NoButton = (RadioButton)findViewById(R.id.NoId); Ra

25、dioGroupListener listener = new RadioGroupListener(); radioGroup.setOnCheckedChangeListener(listener); class RadioGroupListener implements OnCheckedChangeListener 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! Override public void onCheckedChanged(RadioGroup group, int checkedId) / TODO Auto-generated method stub if

26、(checkedId = YesButton.getId() (First)getApplication().setScore1(); else if(checkedId = NoButton.getId() (First)getApplication().setScore2(); class MyListener implements OnClickListener Override public void onClick(View arg0) / TODO Auto-generated method stub Intent intent = new Intent(); intent.set

27、Class(Activity03.this, Other03.class); Activity03.this.startActivity(intent); 4结果界面: package com.luman.luman; import com.luman.luman.MainActivity.MyButtonListener01; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.Vi

28、ew.OnClickListener; import android.widget.Button; import android.widget.TextView; public class Other03 extends Activity private Button button; Override protected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.oth

29、er03); button = (Button)findViewById(R.id.fanhuiId); 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! button.setOnClickListener(new MyButtonListener(); int score=(First)getApplicationContext().getScore(); TextView result = (TextView)findViewById(R.id.resultId); if(score = 3) result.setText(年轻人应该多尝试有意思的事情,不要让自己总是宅 在家里啦

30、!); if(score = 21) result.setText(劳逸结合,不错哦,继续保持这种生活习惯,越活越 年轻哦!); if(score = 12) result.setText(劳逸结合,不错哦,继续保持这种生活习惯,越活越 年轻哦!); if(score = 30) result.setText(朋友,你太爱玩啦,偶尔也要停下来休息休息哦! ); class MyButtonListener implements OnClickListener Override public void onClick(View arg0) / TODO Auto-generated method

31、 stub Intent intent = new Intent(); intent.setClass(Other03.this, MainActivity.class); Other03.this.startActivity(intent); (3) 、全局变量的定义: package com.luman.luman; import android.app.Application; public class First extends Application private int score=0; public int getScore() return score; public voi

32、d setScore1() /aredPreference pre = new SharedPreferene(); score=score+10; public void setScore2() score=score+1; 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 2、界面.xml 代码(共 7 个界面) (1) 、主界面 (2) 、游戏界面 、问题一: 、问题二: 、问题三: 、结果: 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! (3) 、游戏规则界面: (4) 、帮助界面 3、AndroidManifest.xml 文件配置: 七、总结七、总结: 第一

33、次接触安卓平台上的开发,从一无所知到渐渐的有了眉目,其中的过 程是繁复却有趣的。 因为安卓平台上的开发是以 Java 语言为基础,所以我意识到熟练的掌握 Java 语言才是实现在该平台上应用程序开发最重要的一点。本次课程设计是实 现一个问答类的益智型游戏,在代码实现上并不难,主要通过实现 OnClickListener 或 OnClickChangeListener 对按钮进行监听、Intent 方法进 行页面跳转等来实现 Activity 的各种功能;在界面布局上,要使用 xml 语言进 行布局,这里主要涉及了界面布局的一些知识,我是通过 Mars 的安卓开发视频 边学习边完成的,因为需要做

34、的界面比较简单,所以这里主要使用的是线性布 局。 最后程序运行,各功能模块基本能够实现,界面也比较友好。 在编写该游戏的代码时,我遇见了两个问题,一是数据传输和存储,二是 游戏退出模块的设置。首先说下数据的传输存储问题,最初是用 Intent 来传输 数据的,因为对 Intent 方法的使用不够透彻,发现数据没有实现正常的传输, 后来通过设置一个继承了 Application 的类解决了数据在不同 Activity 中传输 的问题。数据的存储因为时间紧迫没有实现,思路是可通过关联数据库或者使 用SharedPreferene()对程序进行的改进,这个以待课下完成;在设置游戏退出 模块时,首先启

35、动时可正常实现游戏的退出功能,但当程序全部完成进行测试 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 时发现,游戏结束返回主界面后,该功能出现异常,通过分析,该异常可能是 因为从结果页面返回主界面时为其产生了新的对象,这个问题也待课下解决。 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 总的来说,通过这次的课程设计,接触了安卓平台上的应用程序开发,也 收获到了宝贵的经验和成果,程序虽然有一些 Bug 还需要继续修改,不过基本 完成了该游戏的基本功能,成果比较满意。 八、参考资料八、参考资料: Java 语言程序设计 作者:朱晓龙 北京邮电大学出版社 软件工程导论(第 5 版) 作者:张海藩 清华大学出版社 安卓开发视频 作者:Mars 陈

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1