public override void IstGestorben(Todesart todesart) { if (Kaste == "Sammler" && AktuelleLast >= 10 && (ZielOptimized == Speicher.bau || Ziel == Speicher.bau)) { Speicher.zucker_counter = Speicher.zucker_counter - 1; } }
/// <summary> /// Wird einmal aufgerufen, wenn die Ameise gestorben ist. /// </summary> /// <param name="todesart">Die Todesart der Ameise</param> public override void IstGestorben(Todesart todesart) { memory.ActionUnsuccessful(); Todesart = todesart; DiedAnts.Enqueue(this); Ants.Remove(id); }
/// <summary> /// Wenn eine Ameise stirbt, wird diese Methode aufgerufen. Man erfährt dadurch, wie /// die Ameise gestorben ist. Die Ameise kann zu diesem Zeitpunkt aber keinerlei Aktion /// mehr ausführen. /// Weitere Infos unter http://wiki.antme.net/de/API1:IstGestorben /// </summary> /// <param name="todesart">Art des Todes</param> public override void IstGestorben(Todesart todesart) { if (Kaste != "ApfelSammler") { Ticketmanager.Instance.UnregisterAmeise(this, ticket); } if (Kaste != "ZuckerSammler") { Apfelticketmanager.InstanceApfel.UnregisterApfelAmeise(this); } }
/// <summary> /// Wird einmal aufgerufen, wenn die Ameise gestorben ist. /// </summary> /// <param name="todesart">Die Todesart der Ameise</param> public override void IstGestorben(Todesart todesart) { if (todesart == Todesart.Verhungert) { return; } if (Kaste.Substring(0, 7) == "Sammler") { if (letzteLast > 0) { erfolgloseSammler++; aktualisiereSammler(); } } else { erfolgloseKrieger++; aktualisiereKrieger(); } }
private static Character InheritAnt(SmartassAnt Parent1, SmartassAnt Parent2, SmartassAnt DiedAnt) { Todesart DeathReason = DiedAnt.Todesart; Character inheritedCharacter = new Character(); //Vereerbungsfunktion inheritedCharacter.faulheit.OverrideValue((Parent1.character.faulheit.Value() + Parent2.character.faulheit.Value()) / 2.0); inheritedCharacter.teamfaehigkeit.OverrideValue((Parent1.character.teamfaehigkeit.Value() + Parent2.character.teamfaehigkeit.Value()) / 2.0); inheritedCharacter.wut.OverrideValue((Parent1.character.wut.Value() + Parent2.character.wut.Value()) / 2.0); //Memory (inkl. Ratings vereerben?) //Lernen von gestorbener Ameise switch (DeathReason) { case Todesart.Besiegt: //Mehr Wut, weil das andere Ameisenvolk aggressiv ist inheritedCharacter.wut.OverrideValue(Math.Min(inheritedCharacter.wut.Value() + 10 * Memory.learneffect, 100.0)); //Mehr Teamfähigkeit, weil sie im Team seltener stirbt inheritedCharacter.teamfaehigkeit.OverrideValue(Math.Min(inheritedCharacter.teamfaehigkeit.Value() + 10 * Memory.learneffect, 100.0)); break; case Todesart.Gefressen: //Weniger Wut, weil das zum Tod führt inheritedCharacter.wut.OverrideValue(Math.Max(inheritedCharacter.wut.Value() - 10 * Memory.learneffect, 0.0)); //Weniger Faulheit, damit sie Wanzen nicht mehr im Weg stehen bleiben inheritedCharacter.faulheit.OverrideValue(Math.Max(inheritedCharacter.faulheit.Value() - 10 * Memory.learneffect, 0.0)); //Mehr Teamfähigkeit, weil sie im Team seltener stirbt inheritedCharacter.teamfaehigkeit.OverrideValue(Math.Min(inheritedCharacter.teamfaehigkeit.Value() + 10 * Memory.learneffect, 100.0)); break; case Todesart.Verhungert: //Mehr Faulheit, weil sie nicht verhungern können, wenn sie stehen bleiben inheritedCharacter.faulheit.OverrideValue(Math.Min(inheritedCharacter.faulheit.Value() + 10 * Memory.learneffect, 100.0)); //Weniger Teamfähigkeit, damit sie nicht mehr beim helfen verhungern kann inheritedCharacter.teamfaehigkeit.OverrideValue(Math.Max(inheritedCharacter.teamfaehigkeit.Value() - 10 * Memory.learneffect, 0.0)); break; } //Mutation Random randBool = new Random(), randDirection = new Random(), randValue = new Random(); //Faulheit if (randBool.Next(2) == 1) { if (randDirection.NextDouble() >= 0.5) { //Wert verstärken, höchstens 15 Punkte mehr, aber nicht auf mehr als 100.0 inheritedCharacter.faulheit.OverrideValue(Math.Min(inheritedCharacter.faulheit.Value() + 0.15 * randValue.NextDouble() * 100, 100.0)); } else { //Wert verringern, maximal 15 Punkte weniger, aber weniger als 0.0 inheritedCharacter.faulheit.OverrideValue(Math.Max(inheritedCharacter.faulheit.Value() - 0.15 * randValue.NextDouble() * 100, 0.0)); } } //Teamfähigkeit //Entscheiden, ob Mutation eintritt if (randBool.Next(2) == 1) { if (randDirection.NextDouble() >= 0.5) { //Wert verstärken, höchstens 15 Punkte mehr, aber nicht auf mehr als 100.0 inheritedCharacter.teamfaehigkeit.OverrideValue(Math.Min(inheritedCharacter.teamfaehigkeit.Value() + 0.15 * randValue.NextDouble() * 100, 100.0)); } else { //Wert verringern, maximal 15 Punkte weniger, aber weniger als 0.0 inheritedCharacter.teamfaehigkeit.OverrideValue(Math.Max(inheritedCharacter.teamfaehigkeit.Value() - 0.15 * randValue.NextDouble() * 100, 0.0)); } } //Wut if (randBool.Next(2) == 1) { if (randDirection.NextDouble() >= 0.5) { //Wert verstärken, höchstens 15 Punkte mehr, aber nicht auf mehr als 100.0 inheritedCharacter.wut.OverrideValue(Math.Min(inheritedCharacter.wut.Value() + 0.15 * randValue.NextDouble() * 100, 100.0)); } else { //Wert verringern, maximal 15 Punkte weniger, aber weniger als 0.0 inheritedCharacter.wut.OverrideValue(Math.Max(inheritedCharacter.wut.Value() - 0.15 * randValue.NextDouble() * 100, 0.0)); } } return(inheritedCharacter); }
/// <summary> /// Wird einmal aufgerufen, wenn die Ameise gestorben ist. /// </summary> /// <param name="todesart">Die Todesart der Ameise</param> public override void IstGestorben(Todesart todesart) { networkCommands("IstGestorben"); }
/// <summary> /// Wird einmal aufgerufen, wenn die Ameise gestorben ist. /// </summary> /// <param name="todesart">Die Todesart der Ameise</param> public override void IstGestorben(Todesart todesart) { memory.ActionUnsuccessful(); }
/// <summary> /// Wenn eine Ameise stirbt, wird diese Methode aufgerufen. Man erfährt dadurch, wie /// die Ameise gestorben ist. Die Ameise kann zu diesem Zeitpunkt aber keinerlei Aktion /// mehr ausführen. /// Weitere Infos unter http://wiki.antme.net/de/API1:IstGestorben /// </summary> /// <param name="todesart">Art des Todes</param> public override void IstGestorben(Todesart todesart) { }
public override void IstGestorben(Todesart todesart) { Storage.scouting[dir] = false; Storage.ants.Remove(this); Denke(((Todesart)todesart).ToString()); }
/// <summary> /// Wenn eine Ameise stirbt, wird diese Methode aufgerufen. Man erfährt dadurch, wie /// die Ameise gestorben ist. Die Ameise kann zu diesem Zeitpunkt aber keinerlei Aktion /// mehr ausführen. /// <see href="http://wiki.antme.net/de/API1:IstGestorben">Weitere Infos</see> /// </summary> /// <param name="todesart">Art des Todes</param> public virtual void IstGestorben(Todesart todesart) { }
public override void IstGestorben(Todesart todesart) { Denke(((Todesart)todesart).ToString()); Storage.ants.Remove(this); }
/// <summary> /// Wenn eine Ameise stirbt, wird diese Methode aufgerufen. Man erfährt dadurch, wie /// die Ameise gestorben ist. Die Ameise kann zu diesem Zeitpunkt aber keinerlei Aktion /// mehr ausführen. /// Weitere Infos unter http://wiki.antme.net/de/API1:IstGestorben /// </summary> /// <param name="todesart">Art des Todes</param> public override void IstGestorben(Todesart todesart) { brain.IstGestorben(todesart); }
public override void IstGestorben(Todesart todesart) { Storage.ants.Remove(this); }
public override void IstGestorben(Todesart todesart) { ameisenActionHandler.IstGestorben(todesart); }
public abstract void IstGestorben(Todesart todesart);
public void IstGestorben(Todesart todesart) { throw new System.NotImplementedException(); }
/// <summary> && zuckers == null /// Wenn eine Ameise stirbt, wird diese Methode aufgerufen. Man erfährt dadurch, wie /// die Ameise gestorben ist. Die Ameise kann zu diesem Zeitpunkt aber keinerlei Aktion /// mehr ausführen. /// Weitere Infos unter http://wiki.antme.net/de/API1:IstGestorben /// </summary> /// <param name="todesart">Art des Todes</param> public override void IstGestorben(Todesart todesart) { TicketManager.Instance.UnregisterAmeise(this); }
/// <summary> /// Wenn eine Ameise stirbt, wird diese Methode aufgerufen. Man erfährt dadurch, wie /// die Ameise gestorben ist. Die Ameise kann zu diesem Zeitpunkt aber keinerlei Aktion /// mehr ausführen. /// Weitere Infos unter http://wiki.antme.net/de/API1:IstGestorben /// </summary> /// <param name="todesart">Art des Todes</param> public override void IstGestorben(Todesart todesart) { // 1vs1, Todersursache ist egal }
public override void IstGestorben(Todesart todesart) { verhalten.IstGestorben(todesart); }
public override void IstGestorben(Todesart todesart) { }
/// <summary> /// Wenn eine Ameise stirbt, wird diese Methode aufgerufen. Man erfährt dadurch, wie /// die Ameise gestorben ist. Die Ameise kann zu diesem Zeitpunkt aber keinerlei Aktion /// mehr ausführen. /// </summary> /// <param name="todesart">Art des Todes</param> public override void IstGestorben(Todesart todesart) { // Man sagt die Guten sterben jung, doch die Besten sterben nie.. deshalb haben wir diese Methode nicht ausprogrammiert }