为Android中的玩家分配随机角色

时间:2017-01-19 18:31:26

标签: java android sqlite

我对Android / Java编程比较陌生。 我正在创建一个基于文本的社交游戏,并创建了一个包含ID,名称,角色的SQLite数据库。

角色将由应用程序分配并存储在相关的SQLite表中。

由于角色是随机的,我想的可能是1到7的随机数生成器(2个独特角色,2个相同角色和3个相同角色)

我被困在哪里开始以及如何实现此功能,任何帮助/建议将不胜感激。

2 个答案:

答案 0 :(得分:0)

在其中最简单的本质......你只想生成一个随机数:

Random rand = new Random();
final int MAX_INT = 7;

int  n = rand.nextInt(MAX_INT) + 1;
//7 is the maximum and the 1 is our minimum 

答案 1 :(得分:0)

由于您的实际任务是角色分配,因此您不会查找真正的随机数。您有一组固定的可用数字,并希望没有重复,只需一次

实现此目标的最简单方法是将所有可用数字放入列表中,然后shuffle

import java.util.*;

class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
        Collections.shuffle(numbers);
        System.out.println(numbers);
    }
}

您可以使用任何类型的列表,因此如果您只对您的角色字符串感兴趣,则可以完全跳过这些数字:

import java.util.*;

class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        List<String> roles = Arrays.asList("M", "M", "A", "D", "C", "C");
        Collections.shuffle(roles);
        System.out.println(roles);
    }
}

在ideone上查看working example