private void InitializeTrustExchangeTask() { List <TrustExchangeTask.Round> rounds = new List <TrustExchangeTask.Round>(TrustExchangeTaskRoundcount); TrustExchangeTask = new TrustExchangeTask(rounds); while (rounds.Count < TrustExchangeTaskRoundcount) { Persona roundPersonaCandidate = Personas[new Random().Next(0, Personas.Count - 1)]; if (!rounds.Select(r => r.Persona).Cast <Persona>().ToList().Contains(roundPersonaCandidate)) { rounds.Add( new TrustExchangeTask.Round( roundPersonaCandidate, () => { PersonaClassification[] options = new PersonaClassification[] { PersonaClassifications.COOPERATOR, PersonaClassifications.DEFECTOR }; return (options[new Random().Next(0, options.Count())]); } ) ); } } }
public bool AdvanceTrustExchangeRound() { if (TrustExchangeTask.CurrentRoundIndex < TrustExchangeTask.Rounds.Count - 1) { TrustExchangeTask.Advance(); } return(TrustExchangeTask.CurrentRoundIndex == TrustExchangeTask.Rounds.Count - 1); }