android写的猜猜看小游戏
首先分析作业的需求,随机出现三张图片,每张图片一个名字,从三张图片中选出一个名字,然后用户选择图片,如果图片与名字相符合,则提示选择正确,否则错误。然后这是个老师认识学生的应用,那么,还需要一个展示所有用户的画廊,让老师先记住学生,再开始猜猜看。
整个应用主要的东西有:一个web后台,用于添加学生信息,一个android端应用,从后台读取数据,一个产生随机三个图片,一个名字的算法。
1,web后台操作相对简单,只是添加信息。我选用的是hibernate和spring框架,下面主要介绍android端。
2,android端,首先整个应用由两个activity组成,一个猜猜看,一个展示所有学生信息。
(1)猜猜看页面布局只有三个imageview,用于存放三个随机图片,一个textview,用于存放三个图片中的随机一个名字,还有一个跳转按钮,跳到展示信息的activity。
猜猜看原理是:首先从web后台获得学生数据。下面是android发送请求,请求后台发送数据。
需要一个handler改变那三个imageview,然后图片就出现了,然后就是显示名字。
(2)展示学生信息,比较简单,用个画廊就行了。
3,随机算法,要实现随机产生三个不重复的数字,使用Math.random,虽然实际上产生的只是一个伪随机数,那么怎么实现产生三个不重复随机数呢?可以用hashset的去重复特性,代码如下
public HashSet<Integer> randomArray(int max, int n, HashSet<Integer> set) {
while (set.size() < n) {
int rd = (int) (Math.random() * max);
set.add(rd);
}
return set;
}
使用一个循环,退出条件是hashset的容量像我们想要的一样大,好了,三个随机数,然后就是三个随机数里面再产生一个随机数。
int rd_name = (int) (Math.random() * 3);
Iterator<Integer> iterator = result.iterator();
int i = 0;
while (iterator.hasNext()) {
p = people.get(iterator.next());
images.get(i).setPeople(p);
images.get(i).setImageBitmap(p.getBitmap());
if (i == rd_name) {
tv_question.setText( p.getName());
}
++i;
}
然后就是适配频幕了,安卓手机多种多样,适配手机自然是必须做的,首先我们先选个基准,480X320,然后新建好几个资源文件,分别代表不同的频幕大小,当app部署进手机,系统就会自动识别相应的资源文件从而达到适应屏幕。
接着是适应语言,原理和适应屏幕一样,也是新建资源语言文件,android studio还会自动识别是什么国家,并且把文件的图标变成相应的国旗,很有意思。
只要遍历hashset就可以完成这个任务了。
自我总结:这个小游戏虽然不是很大,但是学到了很多东西,虽然小,但是用了好多新学会的知识,反而是小的程序更能反映自己的不足,以后要更加仔细,专心地去做好,另外下个目标是更加深入地了解了javaweb的开发,虽然现在距离目标还很远,但是继续努力!!
下面是效果图
题目出现,选择图片正确则出现下一题,并提示回答正确
下面是一个画廊,展示所有的图片,帮助老师记住图片。
附上代码下载地址:http://download.csdn.net/detail/u013013970/8778059
android写的猜猜看小游戏相关推荐
- 成语猜猜看小游戏(四)
文章目录 七.游戏正解场景: 八.音频管理: 1. 新建设置的 GameSetting.ts 组件: 九.功能优化: 七.游戏正解场景: 在 SceneGame.exml 中,拖入新的布局控件 Gro ...
- 成语猜猜看小游戏(二)
文章目录 三.游戏关卡场景: 1. 创建 SceneLevnl 组件: 2. 在 SceneLevel 里声明单例: 3. GameBegin.ts 跳转: 4. 设置 SceneLevel.exml ...
- 成语猜猜看小游戏(一)
文章目录 一.游戏的准备: 开始场景: 游戏场景: 关卡场景: 需求: 正确场景: 音频页面: 二.开始构建游戏: 1. 创建游戏项目: 2. 添加游戏素材: 3. 添加一些素材到 preload 组 ...
- 成语猜猜看小游戏(三)
文章目录 五.实现关卡相关内容: 六.游戏场景: 五.实现关卡相关内容: 在 SceneLevel.ts 文件,在 init 方法尾部继续 // 获取游戏存档的最远的关卡 // 当玩到当前关卡或者玩过 ...
- 《猜猜看》游戏的开发总结
<猜猜看>游戏的开发总结 1.最终成果 1.1课程设计的目的 把软件工程中规范的软件开发方法应用到本次教师认识学生软件"猜猜看"的开发过程中,以经济地开发出高质量的软件 ...
- 【牛客刷题】上手用C语言写一个三子棋小游戏超详解哦(电脑优化)
作者:[南航科院小张 南航科院小张的博客 专栏:从c语言的入门到进阶 学习知识不只是要懂,还要会用:想要找到好的工作,这里给大家介绍一件可以斩获诸多大厂offer的利器–牛客网 点击免费注册和我一起开 ...
- C#课程设计:《猜猜看》游戏开发总结
信管1121,201211671117,聂双燕 第一部分:开发要求(完整要求见课程考核说明编程组和游戏说明) 随机显示 一个名字 与 3张相片,选择正确的相片: 随机显示 一张相片 与 3个名字,选择 ...
- android内存修改 跳一跳,Android版微信跳一跳小游戏利用技术手段达到高分的操作方法...
本文主要来讲个个好玩的东西,近来微信刚出的跳一跳微信小程序的游戏很火,看到很多人都达到了二三百分就各种刷朋友圈了. 甩手一个表情 最终我们达到的分数却是这样的: 羡慕吧 一定会有人拍手叫好," ...
- web版“节奏猜猜看“小工具-Web Workers+requestAnimationFrame+transition
"节奏猜猜看"锻炼节奏感的web小工具 前段时间想弹吉他,之前在琴行学了点基础,由于很久没摸琴(*/ω\*),对节奏感缺乏自信,便想到了节拍器,市面上的节拍器多种多样,主要功能就是 ...
最新文章
- Paper5:Curved-Voxel Clustering for Accurate Segmentation of 3D LiDAR Point Clouds with Real-Time Per
- 人工智能发展弊端的解决方案_高中优秀作文赏析:科技创新、人工智能与人类未来之辩...
- 一种获取过程调用堆栈信息的简单方法
- 4.3 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)
- 【NOSQL ]】 redis 安装
- mac版python安装pandas_Mac OS 安装pandas
- C++多继承与虚继承
- nlp论文——《Efficient Estimation of Word Representations in Vector Space》(向量空间中词表示的有效估计)
- 雷军牵手李嘉诚;董明珠被“排挤”;余额宝限购终结| CSDN极客头条
- python迭代_Python迭代
- ValueError: optimizer got an empty parameter list
- 计算机专业里有服装设计吗,-------- 学服装设计有前途吗?
- 云路php解密网站源码_云路PHP解密-免费PHP文件解密工具
- cygwin安装linux教程,cygwin安装教程 cygwin安装使用方法
- 如何定义StrokeIt手势 常用StrokeIt手势大全
- LSC LensShading Correct
- IBM TSM 6.3学习笔记(1)
- windows 下 搭建 ElasticSearch 环境
- C语言 crc32校验算法原理,CRC循环冗余校验的实现原理
- ubuntu磁盘io性能测试工具hdparm