private ArrayList GenerateChoices(LangObject o) { ArrayList allObjects = game.getObjects().Clone() as ArrayList; ArrayList langs = o.getLangs() as ArrayList; ArrayList choices = new ArrayList(); choices.Add(correctAnswersHash[o]); System.Random rnd = new System.Random(); for (int i = 0; i < allObjects.Count; i++) { LangObject x = allObjects[i] as LangObject; if (x.getName() == o.getName()) { allObjects.RemoveAt(i); break; } } for (int i = 0; i < game.numberOfChoices - 1; i++) { int pos = rnd.Next(0, allObjects.Count); LangObject langObject = allObjects[pos] as LangObject; string wrongAnswer = langObject.getLang((string)langs[rnd.Next(0, langs.Count)])["text"] as string; choices.Add(wrongAnswer); allObjects.RemoveAt(pos); } return(game.Shuffle(choices)); }
private void InitializeLangItems() { ArrayList allObjects = game.getObjects().Clone() as ArrayList; System.Random rnd = new System.Random(); for (int i = 0; i < game.numberOfQuestions; i++) { int pos = rnd.Next(0, allObjects.Count); LangObject langObject = allObjects[pos] as LangObject; ArrayList langs = langObject.getLangs() as ArrayList; string randomLang = langs[rnd.Next(0, langs.Count)] as string; string correctAnswer = langObject.getLang(randomLang)["text"] as string; correctAnswersHash.Add(langObject, correctAnswer); selectedLangs.Add(langObject, randomLang); ArrayList choices = GenerateChoices(langObject); langItems.Add(langObject, choices); allObjects.RemoveAt(pos); } }
private ArrayList GenerateChoices(LangObject o) { ArrayList allObjects = game.getObjects().Clone() as ArrayList; ArrayList langs = o.getLangs() as ArrayList; ArrayList choices = new ArrayList(); choices.Add(correctAnswersHash[o]); System.Random rnd = new System.Random(); for (int i = 0; i < allObjects.Count; i++) { LangObject x = allObjects[i] as LangObject; if (x.getName() == o.getName()) { allObjects.RemoveAt(i); break; } } for (int i = 0; i < game.numberOfChoices - 1; i++) { int pos = rnd.Next(0, allObjects.Count); LangObject langObject = allObjects[pos] as LangObject; string wrongAnswer = langObject.getLang((string)langs[rnd.Next(0, langs.Count)])["text"] as string; choices.Add(wrongAnswer); allObjects.RemoveAt(pos); } return game.Shuffle(choices); }