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 ここでは、文字を返すことと、リストから削除することの両方を行っています。私の疑似コードを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 に答える