public static string state2string(AntMe.Spieler.MeineAmeise ant) { // generate list of attributes, // join attributes into json like object string attributes = ""; try { attributes += String.Format("{0}:{1},", "AktuelleEnergie", ant.AktuelleEnergie.ToString()); attributes += String.Format("{0}:{1},", "AktuelleGeschwindigkeit", ant.AktuelleGeschwindigkeit.ToString()); attributes += String.Format("{0}:{1},", "AktuelleLast", ant.AktuelleLast.ToString()); attributes += String.Format("{0}:{1},", "Angekommen", ant.Angekommen.ToString()); attributes += String.Format("{0}:{1},", "Angriff", ant.Angriff.ToString()); attributes += String.Format("{0}:{1},", "AnzahlAmeisenDerSelbenKasteInSichtweite", ant.AnzahlAmeisenDerSelbenKasteInSichtweite.ToString()); attributes += String.Format("{0}:{1},", "AnzahlAmeisenDesTeamsInSichtweite", ant.AnzahlAmeisenDesTeamsInSichtweite.ToString()); attributes += String.Format("{0}:{1},", "AnzahlAmeisenInSichtweite", ant.AnzahlAmeisenInSichtweite.ToString()); attributes += String.Format("{0}:{1},", "AnzahlFremderAmeisenInSichtweite", ant.AnzahlFremderAmeisenInSichtweite.ToString()); attributes += String.Format("{0}:{1},", "IstMuede", ant.IstMüde.ToString()); attributes += String.Format("{0}:{1},", "Reichweite", ant.Reichweite.ToString()); attributes += String.Format("{0}:{1},", "Richtung", ant.Richtung.ToString()); attributes += String.Format("{0}:{1},", "Sichtweite", ant.Sichtweite.ToString()); attributes += String.Format("{0}:{1},", "WanzenInSichtweite", ant.WanzenInSichtweite.ToString()); attributes += String.Format("{0}:{1},", "ZurueckgelegteStrecke", ant.ZurückgelegteStrecke.ToString()); if (ant.Ziel != null) attributes += String.Format("{0}:{1},", "Ziel", AntMe.Spieler.MeineAmeise.addTarget(ant.Ziel)); else attributes += String.Format("{0}:{1},", "Ziel", 0); if (ant.GetragenesObst != null) attributes += String.Format("{0}:{1},", "GetragenesObst", ant.GetragenesObst.ToString()); if (ant.Kaste != null) attributes += String.Format("{0}:{1},", "Kaste", ant.Kaste.ToString()); } catch (NullReferenceException) { return String.Format("{0}:{1},", "AktuelleEnergie", ant.AktuelleEnergie.ToString()); } return attributes; }
/// <summary> /// Nyilvántartásba vesz egy ellenséges hangyát /// </summary> /// <param name="UnderlyingAnt">A követendő hangya</param> public EnemyAnt(AntMe.English.Ant UnderlyingAnt) { this.Type = ItemType.EnemyAnt; this.UnderlyingAnt = UnderlyingAnt; if (BaseList.Contains(UnderlyingAnt) || UnderlyingAnt.CurrentEnergy <= 0) { return; } List.Add(this); }
/// <summary> /// Nyilvántartásba vesz egy gyümölcsöt /// </summary> /// <param name="UnderlyingFruit">A követendő gyümölcs</param> public Fruit(AntMe.English.Fruit UnderlyingFruit) { this.Type = ItemType.Fruit; this.UnderlyingFruit = UnderlyingFruit; if (BaseList.Contains(UnderlyingFruit) || UnderlyingFruit.Amount <= 0) { return; } List.Add(this); }
/// <summary> /// Nyilvántartásba vesz egy cukorhegyet /// </summary> /// <param name="UnderlyingSugar">A követendő cukorhegy</param> public Sugar(AntMe.English.Sugar UnderlyingSugar) { this.Type = ItemType.Sugar; this.UnderlyingSugar = UnderlyingSugar; if (BaseList.Contains(UnderlyingSugar) || UnderlyingSugar.Amount <= 0) { return; } List.Add(this); }
/// <summary> /// converts game data into a string that can be sent over the network. /// format: key:value, key:value, ... /// </summary> /// <param name="function">ant function to call on the server</param> /// <param name="objNo">[optional] object no of object in parameter</param> /// <param name="objParam1">[optional] parameters of the object</param> /// <param name="objParam2">[optional] parameters of the object</param> /// <param name="meineAmeise">the current ant where most info is extracted</param> /// <returns></returns> internal static string state2string(string function, int objNo, string objParam1, string objParam2, AntMe.Spieler.MeineAmeise meineAmeise) { if (objParam1 != null && objParam2 == null) return String.Format("gameObject:{0}#{1},{2},function:{3}", objNo, objParam1, state2string(meineAmeise), function); if (objParam1 != null && objParam2 != null) return String.Format("gameObject:{0}#{1}#{2},{3},function:{4}", objNo, objParam1, objParam2, state2string(meineAmeise), function); return String.Format("gameObject:{0},{1},function:{2}", objNo, state2string(meineAmeise), function); }
internal static string state2string(string function, AntMe.Spieler.MeineAmeise meineAmeise) { return String.Format("{0},function:{1}", state2string(meineAmeise), function); }