Android Studio,将离线游戏转换为在线游戏

时间:2017-03-11 10:38:20

标签: android firebase google-play google-play-services

我做了一个离线测验游戏,我向用户询问了10个随机问题。这些问题来自我的firebase数据库并保存在arraylist中。我的程序每次从arraylist中挑选一个随机问题并显示问题。这是我的一段代码

 public void askQuestion(){
        Random rnd=new Random();
        int index = rnd.nextInt(questionList.size());
        Info theQuestion=questionList.get(index);  
        question.setText(theQuestion.getQuestion());
        a.setText(theQuestion.getA());
        b.setText(theQuestion.getB());
        c.setText(theQuestion.getC());
        d.setText(theQuestion.getD());
        answer=theQuestion.getAnswer();
    }
//Info is the name of the object for my questions. questionList is an arraylist of type info where I keep the all questions I got from firebase.

这是我的问题。

  1. 我读到我应该使用谷歌播放服务在线制作游戏。有更好的方法吗?什么是最好的起点(赞赏链接)
  2. 我可以在网络游戏中使用此活动,还是应该更改?两个用户的随机性是否相同?我想问他们同样的问题。

1 个答案:

答案 0 :(得分:0)

  

两个用户的随机性是否相同?

来自Android documentation on the Random class

  

如果使用相同的种子创建了两个2017-03-11 14:27:06 2017-03-11 14:27:12 2017-03-11 14:27:16 2017-03-11 14:27:20 2017-03-11 14:27:24 2017-03-11 14:27:28 2017-03-11 14:27:32 2017-03-11 14:27:36 2017-03-11 14:27:42 2017-03-11 14:27:50 2017-03-11 14:27:54 2017-03-11 14:28:02 2017-03-11 14:28:11 实例,并且为每个实例创建了相同的方法调用序列,它们将生成并返回相同的数字序列。

因此,请确保使用播放器之间相同的初始化程序创建Random对象:

Random

为了提高游戏的可重玩性,您可以为随机数发生器提供可变但可预测的值。例如:实现每日游戏的简单方法是使用当天的哈希码来播种它:

Random rnd=new Random(42);