public string PackageList(Clues cluelist) { clueList.clue001 = "This is the first clue."; string json = JsonUtility.ToJson(clueList); return(json); }
public void AddDocumentToClue(string clue, Document doc) { string[] clueFragments = SeperateClueFragments(clue); if (Clues.ContainsKey(clueFragments[0]) == false) { Clues[clueFragments[0]] = new ClueNode(); } Clues[clueFragments[0]].AddDocument(clueFragments, 0, doc); }
public List <Document> GetDocumentsFromPhrases(string[] cluePhrases) { if (Clues.ContainsKey(cluePhrases[0]) != false) { return(Clues[cluePhrases[0]].GetDocuments(cluePhrases, 0)); } else { return(null); } }
public ClueNode GetClueNodeFromPhrases(string[] cluePhrases) { if (Clues.ContainsKey(cluePhrases[0]) != false) { return(Clues[cluePhrases[0]].GetNode(cluePhrases, 0)); } else { return(null); } }
public async void RefreshClues() { IsRefreshing = true; Clues.Clear(); var clues = await _dataService.GetCluesAsync(_settingsService.RaceId); foreach (var clue in clues) { Clues.Add(clue); } IsRefreshing = false; }
public void RemoveClue(Clue oldClue) { // Remove from document tags record Clues.Remove(oldClue); // Remove from home as well Home home = (App.Current as MULTITUDE.App).CurrentHome; ClueManager.Manager.RemoveClue(oldClue, this); // Also add current document to forgotten universe if we have no clues left and we don't have a name home.Relocate(this); }
//Generate2Clues() //Parameters: none //Returns: void //Description: Method generates 2 hair and fiber clues by creating a clue object, // and adding it to the base member class List Clues. public override void Generate2Clues() { for (int i = 0; i < _NumOf; i++) { RandomGenerator = new Random(Guid.NewGuid().GetHashCode()); Clues.Add(new ClueInfo() { RowCoordinates = RandomGenerator.Next(0, TotalRows - 1), ColumnCoordinates = RandomGenerator.Next(0, TotalColumns - 1), Img = Properties.Resources.hair }); } }
public OverallClueLengthTests() { testClueData = new List <ClueData>(); testClueData.Add(new ClueData(2, "black")); testClueData.Add(new ClueData(5, "black")); testClueData.Add(new ClueData(3, "black")); testClues = new Clues(testClueData); colourClueData = new List <ClueData>(); colourClueData.Add(new ClueData(2, "red")); colourClueData.Add(new ClueData(5, "green")); colourClueData.Add(new ClueData(7, "green")); colourClueData.Add(new ClueData(2, "red")); colourClues = new Clues(colourClueData); }
private void ShowClues(List <int>[] rows, List <int>[] cols) { cluesRow = new Clues[height]; cluesCol = new Clues[width]; float xStart = GetOrigin().x; float yStart = GetOrigin().y; int x; int y = 0; int i = 0; foreach (List <int> row in rows) { cluesRow[i] = new Clues(); row.Reverse(); x = 0; foreach (int clue in row) { cluesRow[i].Add(CreateClue(xStart - 1 - x, yStart + y, clue)); if (clue == height) { cluesRow[i].SetSolved(true); } x++; } y++; i++; } yStart += y; x = 0; i = 0; foreach (List <int> col in cols) { cluesCol[i] = new Clues(); y = 0; foreach (int clue in col) { cluesCol[i].Add(CreateClue(xStart + x, yStart + y, clue)); if (clue == width) { cluesCol[i].SetSolved(true); } y++; } x++; i++; } }
protected override async void OnActivate() { base.OnActivate(); IsBusy = true; IEnumerable <TeamClue> localClues = await _dataService.GetCluesForTeamAsync(SelectedRace.Id); foreach (TeamClue cl in localClues) { Clues.Add(cl); } var a = 1; IsBusy = false; }
//Generate2Clues() //Parameters: None //Returns: None //Description: The method creates 2 clue objects and pushes them to the list Clues, belonging // to the base class. public override void Generate2Clues() { for (int i = 0; i < _NumOf; i++) { //Generates random seed better than using time RandomGenerator = new Random(Guid.NewGuid().GetHashCode()); Clues.Add(new ClueInfo() { RowCoordinates = RandomGenerator.Next(0, TotalRows - 1), ColumnCoordinates = RandomGenerator.Next(0, TotalColumns - 1), Img = Properties.Resources.bloody_hand }); } }
public void AddClue(Clue clue) { Clues.Add(clue); // Add to home as well; Notice a documetn can add whatever many clues it want but not add to home Home home = (App.Current as MULTITUDE.App).CurrentHome; ClueManager.Manager.AddClue(clue, this); // Also remove current document from forgotten universe if we are adding the first ever clue if (Clues.Count == 1) { home.Relocate(this); } // Now for the purpose of encapsulation it might seems legit for Home to actively manage its document rather than get informed when its documents get changed; but require documetns to notify their homes isn't a bad design since it can be considered as some sort of event model, with Home being the central repository and all documents actively register/deregister themselves. }
public List <ClueNode> GetClueNodeFromPartialPhrase(string[] cluePhrases) // Compared with GetClueNodeFromPhrases(), this function doesn't assume the last keyword phrase to be exact { // Make a partial copy string[] partialPhrases = null; Array.Copy(cluePhrases, partialPhrases, cluePhrases.Length - 1); // Get node up till that partial copy ClueNode node = null; if (Clues.ContainsKey(partialPhrases[0]) != false) { node = Clues[partialPhrases[0]].GetNode(partialPhrases, 0); } else { return(null); } // Check result if (node != null) { // Find partial matches List <ClueNode> partialMatches = new List <ClueNode>(); string partialPhrase = cluePhrases[cluePhrases.Length - 1]; foreach (KeyValuePair <string, ClueNode> entry in node.Children) { if (entry.Key.IndexOf(partialPhrase) == 0) { partialMatches.Add(entry.Value); } } if (partialMatches.Count != 0) { return(partialMatches); } else { return(null); } } else { return(null); } }
/// <summary> /// process the effects of using the relic /// </summary> /// <param name="Clue">potion</param> private void ProcessClueUse(Clues clues) { string message; switch (clues.UseAction) { case Clues.UseActionType.OPENLOCATION: message = _gameMap.OpenLocationsByClue(clues.Id); CurrentLocationInformation = clues.UseMessage; break; case Clues.UseActionType.KILLPLAYER: OnPlayerDies(clues.UseMessage); break; default: break; } }
//CheckIfClue() //Parameters: int rowGuess and int columnGuess, representing the users guess as // to where evidence is. //Returns: Returns an Image, either of the bloody hand, or in the case of the // user guess being wrong. A hint is returned. public override Image CheckIfClue(int rowGuess, int columnGuess) { Image ret; //Set New Player Position [0] for row [1] for column PlayerPos[0] = rowGuess; PlayerPos[1] = columnGuess; for (int i = 0; i < _NumOf; i++) { if ((Clues[i].RowCoordinates == rowGuess) && (Clues[i].ColumnCoordinates == columnGuess)) { CluesFound++; ret = Clues[i].Img; Clues.RemoveAt(i); return(ret); } } ret = GetHint(); return(ret); }
public void AddClues(string key, List <string> cluesToAdd) { if (key[0] == '-') { RemoveClues(key.Substring(1)); return; } bool cluesHaveBeenAdded = false; foreach (Clues currentClues in m_cluesList) { if (currentClues.key == key) { currentClues.clues.AddRange(cluesToAdd); cluesHaveBeenAdded = true; } } if (!cluesHaveBeenAdded) { Clues newClues = new Clues(); newClues.key = key; newClues.clues = new List <string>(); newClues.maxClueIndex = 0; newClues.currentClueIndex = 0; newClues.clues.AddRange(cluesToAdd); if (m_cluesList.Count == 0) { m_newClueHasBeenChecked = true; } m_cluesList.Add(newClues); } }
// Search Shorthand clue form public void SearchBySimpleClue(int cursorLocation, string[] keyPhrases, out List <ClueFragment> nextClues, out List <Document> foundDocuments, bool bDeep = false) { // <Dev> Pending implementation cursorLocation // Parameters string lastKeyPhrase = keyPhrases[keyPhrases.Length - 1]; // Can be a clue or a metaname or a metavalue, can be partial nextClues = new List <ClueFragment>(); foundDocuments = new List <Document>(); // Heuristic: Mostly like the last phrase will be a meta because there's little point just entering a clue // Use former clues to confine range string[] partialPhrases; if (keyPhrases.Length > 1) { partialPhrases = new string[keyPhrases.Length - 1]; Array.Copy(keyPhrases, partialPhrases, keyPhrases.Length - 1); } else { partialPhrases = keyPhrases; } // Get node up till that partial copy ClueNode node = null; if (Clues.ContainsKey(partialPhrases[0]) != false) { node = Clues[partialPhrases[0]].GetNode(partialPhrases, 0); // Try as meta foreach (Document doc in node.References) { if (doc.IsPartialCLue(lastKeyPhrase) || doc.IsPartialMetaNameOrValue(lastKeyPhrase)) { foundDocuments.Add(doc); } } string currentClueString = string.Join("-", partialPhrases); if (foundDocuments.Count != 0) { // Add further clues at current level foreach (KeyValuePair <string, ClueNode> entry in node.Children) { List <Document> clueDocuments = entry.Value.References; nextClues.Add(new ClueFragment(entry.Key, clueDocuments.Count, currentClueString + '-' + entry.Key, clueDocuments)); } } else { // Try as clue foreach (KeyValuePair <string, ClueNode> entry in node.Children) { List <Document> clueDocuments = entry.Value.References; nextClues.Add(new ClueFragment(entry.Key, clueDocuments.Count, currentClueString + '-' + entry.Key, clueDocuments)); // foundDocuments.AddRange(clueDocuments); // Add all as possible found } foundDocuments = null; // or we shouldn't have any found } } else { nextClues = null; foundDocuments = null; } }
public string SaveClue(string json, string currClue) { clueList = JsonUtility.FromJson <Clues> (json); Debug.Log("Working1"); if (clueList.clue001 == null) { clueList.clue001 = currClue; } else if (clueList.clue002 == "") { clueList.clue002 = currClue; } else if (clueList.clue003 == "") { clueList.clue003 = currClue; } else if (clueList.clue004 == "") { clueList.clue004 = currClue; } else if (clueList.clue005 == "") { clueList.clue005 = currClue; } else if (clueList.clue006 == "") { clueList.clue006 = currClue; } else if (clueList.clue007 == "") { clueList.clue007 = currClue; } else if (clueList.clue008 == "") { clueList.clue008 = currClue; } else if (clueList.clue009 == "") { clueList.clue009 = currClue; } else if (clueList.clue010 == "") { clueList.clue010 = currClue; } else if (clueList.clue011 == "") { clueList.clue011 = currClue; } else if (clueList.clue012 == "") { clueList.clue012 = currClue; } else if (clueList.clue013 == "") { clueList.clue013 = currClue; } else if (clueList.clue014 == "") { clueList.clue014 = currClue; } else if (clueList.clue015 == "") { clueList.clue015 = currClue; } else if (clueList.clue016 == "") { clueList.clue016 = currClue; } else if (clueList.clue017 == "") { clueList.clue017 = currClue; } else if (clueList.clue018 == "") { clueList.clue018 = currClue; } else if (clueList.clue019 == "") { clueList.clue019 = currClue; } else if (clueList.clue020 == "") { clueList.clue020 = currClue; } else if (clueList.clue021 == "") { clueList.clue021 = currClue; } else if (clueList.clue022 == "") { clueList.clue022 = currClue; } else if (clueList.clue023 == "") { clueList.clue023 = currClue; } else if (clueList.clue024 == "") { clueList.clue024 = currClue; } else if (clueList.clue025 == "") { clueList.clue025 = currClue; } else if (clueList.clue026 == "") { clueList.clue026 = currClue; } else if (clueList.clue027 == "") { clueList.clue027 = currClue; } else if (clueList.clue028 == "") { clueList.clue028 = currClue; } else if (clueList.clue029 == "") { clueList.clue029 = currClue; } else if (clueList.clue030 == "") { clueList.clue030 = currClue; } else if (clueList.clue031 == "") { clueList.clue031 = currClue; } else if (clueList.clue032 == "") { clueList.clue032 = currClue; } else if (clueList.clue033 == "") { clueList.clue033 = currClue; } else if (clueList.clue034 == "") { clueList.clue034 = currClue; } else if (clueList.clue035 == "") { clueList.clue035 = currClue; } else if (clueList.clue036 == "") { clueList.clue036 = currClue; } else if (clueList.clue037 == "") { clueList.clue037 = currClue; } else if (clueList.clue038 == "") { clueList.clue038 = currClue; } else if (clueList.clue039 == "") { clueList.clue039 = currClue; } else { clueList.clue040 = currClue; } return(PackageList(clueList)); }
public void DisplayClue(string json) { clueList = JsonUtility.FromJson <Clues> (json); clueNum = UnityEngine.Random.Range(0, 39); Debug.Log("Working2"); Debug.Log(clueNum); Debug.Log(clueList.clue001); Debug.Log(clueList.clue002); if (clueNum == 0) { myHint.text = clueList.clue001; } else if (clueNum == 1) { myHint.text = clueList.clue002; } else if (clueNum == 2) { myHint.text = clueList.clue003; } else if (clueNum == 3) { myHint.text = clueList.clue004; } else if (clueNum == 4) { myHint.text = clueList.clue005; } else if (clueNum == 5) { myHint.text = clueList.clue006; } else if (clueNum == 6) { myHint.text = clueList.clue007; } else if (clueNum == 7) { myHint.text = clueList.clue008; } else if (clueNum == 8) { myHint.text = clueList.clue009; } else if (clueNum == 9) { myHint.text = clueList.clue010; } else if (clueNum == 10) { myHint.text = clueList.clue011; } else if (clueNum == 11) { myHint.text = clueList.clue012; } else if (clueNum == 12) { myHint.text = clueList.clue013; } else if (clueNum == 13) { myHint.text = clueList.clue014; } else if (clueNum == 14) { myHint.text = clueList.clue015; } else if (clueNum == 15) { myHint.text = clueList.clue016; } else if (clueNum == 16) { myHint.text = clueList.clue017; } else if (clueNum == 17) { myHint.text = clueList.clue018; } else if (clueNum == 18) { myHint.text = clueList.clue019; } else if (clueNum == 19) { myHint.text = clueList.clue020; } else if (clueNum == 20) { myHint.text = clueList.clue021; } else if (clueNum == 21) { myHint.text = clueList.clue022; } else if (clueNum == 22) { myHint.text = clueList.clue023; } else if (clueNum == 23) { myHint.text = clueList.clue024; } else if (clueNum == 24) { myHint.text = clueList.clue025; } else if (clueNum == 25) { myHint.text = clueList.clue026; } else if (clueNum == 26) { myHint.text = clueList.clue027; } else if (clueNum == 27) { myHint.text = clueList.clue028; } else if (clueNum == 28) { myHint.text = clueList.clue029; } else if (clueNum == 29) { myHint.text = clueList.clue030; } else if (clueNum == 30) { myHint.text = clueList.clue031; } else if (clueNum == 31) { myHint.text = clueList.clue032; } else if (clueNum == 32) { myHint.text = clueList.clue033; } else if (clueNum == 33) { myHint.text = clueList.clue034; } else if (clueNum == 34) { myHint.text = clueList.clue035; } else if (clueNum == 35) { myHint.text = clueList.clue036; } else if (clueNum == 36) { myHint.text = clueList.clue037; } else if (clueNum == 37) { myHint.text = clueList.clue038; } else if (clueNum == 38) { myHint.text = clueList.clue039; } else if (clueNum == 39) { myHint.text = clueList.clue040; } if (myHint.text == "") { myHint.text = clueList.clue001; } jsonHolder = jsonHolder2; }