为了账号安全,请及时绑定邮箱和手机立即绑定

Android猜歌游戏是这样炼成的

李建 移动开发工程师
难度高级
时长10小时 0分
学习人数27735
综合评分9.77
39人评价 查看评价
10.0 内容实用
9.7 简洁易懂
9.6 逻辑清晰

最新回答 / 慕仔1024714
你把它设置竖屏就可以了啊
确实用switch分支去处理答案不同状态下的逻辑比较清晰
代码参考:WordButton wordButton = null;
Random random = new Random();
int index = random.nextInt(mAllWordList.size());
wordButton = mAllWordList.get(index);
if (mCurrentSong.getSongName().contains(wordButton.getContent())) {
// 是答案
findNoAnswerWordButton();
}
return wordButton;
while(true)这样的操作使用递归更好一些
点击已选框的事件处理最好不要直接调用clearTheAnswer()方法,应该做个答案框文字非空串判断,要不然当答案框没有文字时,点击答案框文本按钮还是会执行clearTheAnswer()方法,虽然执行后不影响效果,但显然不应该去作无谓的clearTheAnwer操作,
代码建议:if(!"".equals(wordButton.mWordString)){clearTheAnswer(wordButton)}
加了个判断,让随机生成的文字与已经生成的文字进行判断,确保随机生成的汉字不重复,不过这概论好小
//获取随机文字并存入数组
for (int i = mCurrentSong.getNameLength(); i < MyGridView.COUNTS_WORDS; i++) {
for (int j = 0; j < i; j++) {
if ((getRandomChar()+"").equals(words[j])) {
i--;
}else {
words[i]=getRandomChar()+"";
}
}
}
交换那个比喻真好,两瓶满的水交换,不能对着倒!

最新回答 / android1111
首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个元素与第二个交换,知道最后一个元素。这样能够确保每个元素在每个位置的概率都是1/n.首先24个中随机一个位置出来, 可能是0到24.所以第一个元素的下标可能是24个中的任意一个,以此类推。当然你换到后面去的元素也有可能再换回到前面来。 不用太纠结,只知道这样能打乱顺序,实现你要的功能就行。
感觉还有让随机生成的汉字不判断,应该要加个判断吧,不然万一随机生成了一样的汉字,那不是不科学了。

最新回答 / C是什么
你的Button控件为null,没有实例化成功,new 出来自定义的那个不是Button那个是自定义的holder类,根本没有继承Button, Button控件应该通过缓存View中的findViewById方法来实例化。

最新回答 / qq_BetterMan_5
我也是这样的问题,请问你解决了么?
课程须知
本课程是Android项目,需要大家掌握基本的Android和Java基础知识: 1、熟练使用Java语言编写代码 2、熟悉Android常用API,熟练使用Eclipse开发工具
老师告诉你能学到什么?
1、游戏基本理论 2、运用MVC理论设计程序框架。 3、Android平台下的界面设计及开发 4、如何培养良好的代码书写规范 5、动画的创建和使用

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消