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)); }
private void ViewVariables(TreeNode node, LangObject obj) { if (obj.objectType == ObjectType.NUMBER) { node.Text = ((LangNumber)obj).numberValue.Value + ""; } else if (obj.objectType == ObjectType.STRING) { node.Text = "\"" + ((LangString)obj).stringValue.Value + "\""; } else if (obj.objectType == ObjectType.MAP) { LangMap mp = ((LangMap)obj); node.Text = "map"; SortedDictionary <Object, LangObject> sd = new SortedDictionary <object, LangObject>(); foreach (DictionaryEntry dic in mp.arrayValue.Value) { sd.Add(dic.Key, (LangObject)dic.Value); } foreach (KeyValuePair <Object, LangObject> dic in sd) { TreeNode child = new TreeNode(); ViewVariables(child, dic.Value); child.Text = "[" + dic.Key.ToString() + "]" + " : " + child.Text; node.Nodes.Add(child); } } else if (obj.objectType == ObjectType.CLASS) { LangClass objcls = (LangClass)obj; node.Text = objcls.name.Value; foreach (DictionaryEntry it in objcls.vars.Value) { bool cont = false; foreach (string mod in ((ArrayList)objcls.permissions.Value[it.Key])) { if (mod == "private") { cont = true; break; } } if (cont) { continue; } LangObject obj2 = ((LangObject)it.Value); TreeNode child = new TreeNode((string)it.Key); TreeNode child2 = new TreeNode(); ViewVariables(child2, obj2); child.Nodes.Add(child2); node.Nodes.Add(child); } } }
void Start () { if (objects.Count == 0) { TextAsset txtAsset = Resources.Load("items") as TextAsset; string jsonString = txtAsset.text; JsonData jsonData = JsonMapper.ToObject(jsonString); foreach (DictionaryEntry item in jsonData) { string key = item.Key as string; JsonData itemJson = item.Value as JsonData; string model = itemJson["model"].ToString() as string; LangObject langObject = new LangObject(key, model); foreach (DictionaryEntry langItem in itemJson) { string lang = langItem.Key as string; if (lang != "model") { string text = itemJson[lang]["text"].ToString(); string audio = itemJson[lang]["audio"].ToString(); langObject.addLang(lang, text, audio); } } objects.Add(langObject); } objects = Shuffle(objects); } gameFinishedCanvas = GameObject.Find("GameFinishedCanvas"); playAudioClipButton = GameObject.Find("PlayAudioClip"); correctAnswerAudioClip = Resources.Load("Audios/Game/correct_answer") as AudioClip; wrongAnswerAudioClip = Resources.Load("Audios/Game/wrong_answer") as AudioClip; levelCompletedAudioClip = Resources.Load("Audios/Game/level_completed") as AudioClip; playAudioClipButton.SetActive (false); HideGameFinishedCanvas(); }
public void NextQuestion() { ResetSceneElements(); System.Random rnd = new System.Random(); int pos = rnd.Next(0, langItemKeys.Count); LangObject langObject = langItemKeys[pos] as LangObject; game.setCurrentLangObject(langObject); GameObject gameObject = game.InitializeObject(); game.setCurrentGameObject(gameObject); game.LoadAudio(gameObject, langObject, (string)selectedLangs[langObject]); game.PlayAudio(gameObject); game.InitializeChoicesText((ArrayList)langItems[langObject]); langItemKeys.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); }
private bool CheckAnswer(LangObject langObject, string answer) { return (string)correctAnswersHash[langObject] == answer; }
public bool CheckAnswer(LangObject langObject, string answer) { string correctAnswer = langObject.getLang(selectedLang)["text"].ToString(); return answer == correctAnswer; }
private bool CheckAnswer(LangObject langObject, string answer) { return((string)correctAnswersHash[langObject] == answer); }
public void LoadAudio(GameObject gameObject, LangObject langObject, string lang) { string audioPath = "Audios/" + langObject.getLang(lang)["audio"].ToString(); AudioSource audioSource = gameObject.GetComponent<AudioSource>(); audioSource.clip = Resources.Load(audioPath) as AudioClip; }
public void setCurrentLangObject(LangObject langObject) { currentLangObject = langObject; }