public Gedachte(Woord verteldWoord, Persoonlijkheid persoonlijkheidPater) { int iGoedheid = (verteldWoord.Gedachte.Persoonlijkheid.Goedheid + verteldWoord.Begeestering.Goedheid + persoonlijkheidPater.Goedheid) / 3; int iCreativiteit = (verteldWoord.Gedachte.Persoonlijkheid.Creativiteit + verteldWoord.Begeestering.Creativiteit + persoonlijkheidPater.Creativiteit) / 3; _iConcept = verteldWoord.Gedachte._iConcept; _persoonlijkheid = new Persoonlijkheid(iGoedheid, iCreativiteit); }
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)); } } }
public Woord Spreek() { Woord gesprokenWoord = null; if (_liGedachtes.Count > 0) { gesprokenWoord = _liGedachtes.ElementAt(_iVolgendeGedachte).Verwoord(Cloner.DeepClone(_persoonlijkheid)); Console.WriteLine(string.Format("{0} spreekt over het volgende: {1}.", _sNaam, gesprokenWoord)); if (++_iVolgendeGedachte > _liGedachtes.Count) { _iVolgendeGedachte = 0; } } else { throw new Exception(string.Format("{0} heeft niets te zeggen.", _sNaam)); } return(gesprokenWoord); }