public Gedachte InspireerMij(Persoonlijkheid persoonlijkheid) { Gedachte gedachte = new Gedachte(_iConcept, Cloner.DeepClone(persoonlijkheid)); if (++_iConcept > 9) { _iConcept = 1; } return(gedachte); }
public void Bid() { if (_liGedachtes.Count < _iMaxGedachtes) { Gedachte gedachte = _inspiratie.InspireerMij(_persoonlijkheid); Console.WriteLine(string.Format("{0} bidt en komt tot een gedachte: {1}.", _sNaam, gedachte.ToString())); _liGedachtes.Add(gedachte); } else { Console.WriteLine(string.Format("{0} hoofd zit vol, gedacht niet opgeslagen. Hij gaat even nadenken.", _sNaam)); if (!DenkNa()) { Console.WriteLine(string.Format("Hoofd van pater {0} zit vol en nadenken brengt geen soelaas.", _sNaam)); throw new Exception(string.Format("{0} zijn hoofd zit vol!", _sNaam)); } } }
public void Luister(Woord verteldWoord) { Console.WriteLine(string.Format("{0} luistert naar de volgende woorden: {1}.", _sNaam, verteldWoord)); if (_liGedachtes.Count < _iMaxGedachtes) { Gedachte gedachte = new Gedachte(verteldWoord, _persoonlijkheid); Console.WriteLine(string.Format("{0} denkt er dit van: {1}", _sNaam, gedachte)); _liGedachtes.Add(gedachte); } else { Console.WriteLine(string.Format("{0} hoofd zit vol, gedacht niet opgeslagen. Hij gaat even nadenken.", _sNaam)); if (!DenkNa()) { Console.WriteLine(string.Format("Hoofd van pater {0} zit vol en nadenken brengt geen soelaas.", _sNaam)); throw new Exception(string.Format("{0} zijn hoofd zit vol!", _sNaam)); } } }
private void OrdenCreativiteitsgewijs() { List <Gedachte> liGeordendeGedachtes = new List <Gedachte>(); foreach (int iConcept in _liGedachtes.Select(gedachte => gedachte.Concept).Distinct()) { int iKleinsteVerschil = int.MaxValue; Gedachte besteGedachte = null; foreach (Gedachte gedachte in _liGedachtes.Where(gedachte => gedachte.Concept == iConcept).Select(gedachte => gedachte)) { int iVerschil = Math.Abs(gedachte.Persoonlijkheid.Creativiteit - _persoonlijkheid.Creativiteit); if (iVerschil < iKleinsteVerschil) { //besteGedachte = Cloner.DeepClone(gedachte); besteGedachte = gedachte; iKleinsteVerschil = iVerschil; } } liGeordendeGedachtes.Add(besteGedachte); } _liGedachtes = liGeordendeGedachtes; }
public Woord(Gedachte gedachte, Persoonlijkheid begeestering) { _gedachte = gedachte; _begeestering = begeestering; }