public void replacePlayer(int index, UserVoter user) { playersTypeOrder[index] = "replaced"; replacingAgents.Add(new FirstModel(this, user.CurrPriority, user.userID)); replaceTurn++; string disconnect = user.userID + "," + roundNumber; playersDisconnected.Add(disconnect); }
public string createNumOfVotesString(UserVoter player) { string numOfvotesString = ""; List <string> priority = priorities.ElementAt(player.inGameIndex); List <string> candNames = candidatesNames; for (int i = 0; i < votedBy.Count; i++) { numOfvotesString = numOfvotesString + "#" + votedBy[candNames.IndexOf(priority[i])].Count; } return(numOfvotesString); }
public Boolean addPlayerID(UserVoter playerID) { if (status != "init") { return(false); } playersID.Add(playerID.connectionID); int indexofP = getPlayerIndex(playerID.connectionID); playerID.JoinGame(this, indexofP, priorities[indexofP]); if (playersID.Count == numOfHumanPlayers) { status = "ready"; updateLog(); } return(true); }
public int CompareTo(object obj) { if (obj == null) { return(1); } UserVoter otherPlayer = obj as UserVoter; if (otherPlayer != null) { return(String.Compare(this.connectionID, otherPlayer.connectionID, StringComparison.Ordinal)); } else { throw new ArgumentException("Object is not a Player"); } }
public string createCandNamesString(UserVoter userPlayer) { List <string> priority = priorities.ElementAt(userPlayer.inGameIndex); return(priority.Aggregate("", (current, t) => current + "#" + t)); }
public void updateLog() { if (logUpdated == false) { //priorities string priorityString = ""; //titles string titles = "time,player,vote,duration,current winner,"; int agentidx = -1; for (int i = 0; i < this.numOfCandidates; i++) { titles += "votes for candidate " + (i + 1) + ","; } for (int i = 0; i < getNumOfPlayers(); i++) { if (playersTypeOrder[i] != "human") { agentidx++; } if (playersTypeOrder[i] == "human" || Program.LogAgents) { UserVoter tmp = null; if (playersTypeOrder[i] != "human") { priorityString = "comp_" + agents[agentidx].agentsIDinGame; } else { tmp = Program.ConnIDtoUser[playersID[gethumanNumber(i)]]; priorityString = tmp.userID.ToString(); } for (int k = 0; k < priorities[i].Count; k++) { priorityString = priorityString + "," + (candidatesNames.IndexOf(priorities[i][k]) + 1); } if (tmp != null) { priorityString = tmp.mTurkID.Length > 0 ? priorityString + "," + tmp.mTurkID : priorityString + "," + tmp.connectionID; } writeToFile.Add(priorityString); } if (playersTypeOrder[i] == "human") { titles += "points player" + Program.ConnIDtoUser[playersID[gethumanNumber(i)]].userID + ","; } else { titles += "points comp_" + agents[agentidx].agentsIDinGame + ","; } } titles = titles.Remove(titles.Length - 1); writeToFile.Add(titles); logUpdated = true; timeStarted = DateTime.Now; } }