0

我正在尝试使用哈希图创建一个带有单词列表的简单游戏。我想做的是。我想以一种混乱的方式向用户显示列表中的一个单词。例如,像 hello 这样的词将是“loeh”。用户必须输入他的答案,如果答案正确,用户将获得一分。有人可以告诉如何将地图列表中的键打乱以显示给用户;

这是我到目前为止的代码;

public class Game extends Applet {

/*
 * (non-Javadoc)
 * 
 * @see java.applet.Applet#init()
 */

// create a list words with answers. probbaly a map list


Map<String, String> words =  new HashMap<String, String>();     
// add words and  definition to the  list
     words.put("HI", " A form Salutation");
4

2 回答 2

0

这是我要采用的概念。

for each letter in word
    listofletters.add(letter)

while(listofletters.notEmpty())
    scrambledword += listofletters.pop(RandomNum(0,listofletters.size))

print scambledword

pop here 既返回字母又将其从列表中删除。如果您将我的伪代码编码到 java 中并且有错误将其作为编辑发布回来,我会帮助您调试。

于 2013-05-02T13:59:35.747 回答
0
public String shuffle (String yourKey) {
    char tmp;
    char[] newStr = yourKey.toCharArray();
    Random r = new Random();
    int newPos;
    for (int i=0; i < yourKey.length(); i++) {
        newPos = r.nextInt(yourKey.length());
        tmp = newStr[i];
        newStr[i] = newStr[newPos];
        tab[newPos] = tmp;
    }
    return new String(newStr);
}

在主代码中

String newStr = shuffle(yourKey);
while(newStr.compareTo(yourKey)==0) {
    newStr = shuffle(yourKey);
}
于 2013-05-02T14:00:47.870 回答