private void ConstructBot(BotLevel mode) { _bot = new Bot(_generator, mode); _bot.Load(); Remove(_levelScreen); AddQuestionScreen(); }
public int CompareTo(object obj) { var other = (MapPathNode)obj; var result = Cost.CompareTo(other.Cost); if (result != 0) { return(result); } result = CellNumbers.Length.CompareTo(other.CellNumbers.Length); if (result != 0) { return(result); } result = BotLevel.CompareTo(other.BotLevel); if (result != 0) { return(result); } result = HasTeleport.CompareTo(other.HasTeleport); return(result); }
public void newUnit(BotType type, Vehicle target, Player owner, BotLevel level, Helpers.ObjectState state = null) { Unit newUnit = new Unit(this); Bot bot = newBot(_titan, type, target, owner, level, state); newUnit._vehicleID = (ushort)bot._type.Id; newUnit._state = state; newUnit._id = (ushort)(_database.getLastBotID(_owner) + 1); newUnit._bot = bot; _database.addBot(bot, _owner); _units.Add(bot._id, newUnit); }
private void botGameInit(BotLevel level) { botGameCopy = null; botGameIsPlaying = true; if (!firstMove.Checked) { playerColor = Player.O; botColor = Player.X; } botGame = new UTTT(botField); bot = new Bot(level, botColor); if (!firstMove.Checked) { botGame.SetMark(bot.NextMove(botGame.gameStateToString())); } analysis.Checked = false; diff.SelectedIndex = 0; }
//Constructor public Bot(QAGenerator generator, BotLevel mode) : base(generator) { _mode = mode; _neurons = new List <Neuron>(); _generator = generator; }
private Bot newBot(Team team, BotType type, Vehicle target, Player owner, BotLevel level, Helpers.ObjectState state = null) { if (_bots == null) { _bots = new List <Bot>(); } //Max bots? if (_bots.Count >= _botMax) { //Unless we're a special bot type, disregard if (type == BotType.Marine || type == BotType.Ripper) { Log.write(TLog.Warning, "Excessive bot spawning"); return(null); } } //What kind is it? switch (type) { #region Gunship case BotType.Gunship: { //Collective vehicle ushort vehid = 134; //Titan vehicle? if (team._name == "Titan Militia") { vehid = 147; } Gunship gunship = _arena.newBot(typeof(Gunship), vehid, team, owner, state, null) as Gunship; if (gunship == null) { return(null); } gunship._team = team; gunship.type = BotType.Dropship; gunship.init(state, _baseScript, target, owner, Settings.GameTypes.RTS); gunship.Destroyed += delegate(Vehicle bot) { _bots.Remove((Bot)bot); }; _bots.Add(gunship); return(gunship as Bot); } #endregion #region Elite Heavy case BotType.EliteHeavy: { //Collective vehicle ushort vehid = 148; EliteHeavy heavy = _arena.newBot(typeof(EliteHeavy), vehid, team, null, state, null) as EliteHeavy; if (heavy == null) { return(null); } heavy._team = team; heavy.type = BotType.EliteHeavy; heavy.init(Settings.GameTypes.RTS, _collective); heavy.Destroyed += delegate(Vehicle bot) { _bots.Remove((Bot)bot); }; _bots.Add(heavy); return(heavy as Bot); } #endregion #region Elite Marine case BotType.EliteMarine: { //Collective vehicle ushort vehid = 146; EliteMarine elitemarine = _arena.newBot(typeof(EliteMarine), vehid, team, null, state, null) as EliteMarine; if (elitemarine == null) { return(null); } elitemarine._team = team; elitemarine.type = BotType.EliteHeavy; elitemarine.init(Settings.GameTypes.RTS, _collective); elitemarine.Destroyed += delegate(Vehicle bot) { _bots.Remove((Bot)bot); }; _bots.Add(elitemarine); return(elitemarine as Bot); } #endregion #region Marine case BotType.Marine: { //Collective vehicle ushort vehid = 131; switch (level) { case BotLevel.Adept: vehid = 151; break; } Marine marine = _arena.newBot(typeof(Marine), vehid, team, null, state, null) as Marine; if (marine == null) { return(null); } marine._team = team; marine.type = BotType.Marine; marine.init(Settings.GameTypes.RTS, _collective); marine.Destroyed += delegate(Vehicle bot) { _bots.Remove((Bot)bot); }; _bots.Add(marine); return(marine as Bot); } #endregion #region Ripper case BotType.Ripper: { //Collective vehicle normal Marine ushort vehid = 145; switch (level) { case BotLevel.Adept: vehid = 152; break; } Ripper ripper = _arena.newBot(typeof(Ripper), vehid, team, null, state, null) as Ripper; if (ripper == null) { return(null); } ripper._team = team; ripper.type = BotType.Ripper; ripper.init(Settings.GameTypes.RTS, _collective); ripper.Destroyed += delegate(Vehicle bot) { _bots.Remove((Bot)bot); }; _bots.Add(ripper); return(ripper as Bot); } #endregion #region ExoLight case BotType.ExoLight: { //Collective vehicle ushort vehid = 149; //Titan vehicle? if (team._name == "Titan Militia") { vehid = 133; } ExoLight exo = _arena.newBot(typeof(ExoLight), vehid, team, null, state, null) as ExoLight; if (exo == null) { return(null); } exo._team = team; exo.type = BotType.ExoLight; exo.init(Settings.GameTypes.RTS); exo.Destroyed += delegate(Vehicle bot) { _bots.Remove((Bot)bot); }; _bots.Add(exo); return(exo as Bot); } #endregion #region ExoHeavy case BotType.ExoHeavy: { //Collective vehicle ushort vehid = 430; //Titan vehicle? if (team._name == "Titan Militia") { vehid = 133; } ExoHeavy exo = _arena.newBot(typeof(ExoHeavy), vehid, team, null, state, null) as ExoHeavy; if (exo == null) { return(null); } exo._team = team; exo.type = BotType.ExoHeavy; exo.init(Settings.GameTypes.RTS); exo.Destroyed += delegate(Vehicle bot) { _bots.Remove((Bot)bot); }; _bots.Add(exo); return(exo as Bot); } #endregion } return(null); }
public void maintainBots(int now) { if (now - _tickLastBotUpdate < 5000 && _tickLastBotUpdate != 0) { return; } bool bUpdated = (_bots.Count == _units.Count); foreach (Unit bot in _units.Values) { if (bUpdated) { break; } BotLevel level = BotLevel.Normal; BotType type = BotType.Marine; switch (bot._vehicleID) { case 152: level = BotLevel.Adept; type = BotType.Ripper; break; case 151: level = BotLevel.Adept; type = BotType.Marine; break; case 131: level = BotLevel.Normal; type = BotType.Marine; break; case 145: level = BotLevel.Normal; type = BotType.Ripper; break; case 146: level = BotLevel.Elite; type = BotType.EliteMarine; break; case 148: level = BotLevel.Elite; type = BotType.EliteHeavy; break; } //Avoids spawning bots under computer vehicles/buildings if (_arena.getVehiclesInRange(bot._state.positionX, bot._state.positionY, 150).Count(veh => veh._type.Type == VehInfo.Types.Computer) > 0) { Helpers.randomPositionInArea(_arena, 200, ref bot._state.positionX, ref bot._state.positionY); } Bot newUnit = newBot(_titan, type, null, null, level, bot._state); if (newUnit == null) { Log.write("[RTS] Could not spawn bot"); } else { bot._bot = newUnit; } } }
public Bot(BotLevel level, Player player) { botLevel = level; botColor = player; File.Delete("Game.ai"); }
/// <summary> /// Initializes a new instance of the <see cref="BotPlayer"/> class. /// </summary> /// <param name="name">The name of the player.</param> /// <param name="level">The level at which this bot will score.</param> public BotPlayer(string name, BotLevel level) : base(name, PlayerType.Bot) { this.Level = level; }