// ***************************************************************************** // IMatchable implementation // ***************************************************************************** public override bool Match(MatchNode matchNode, MatchEngine engine) { if (!base.Match(matchNode, engine)) { return(false); } foreach (KeyValuePair <IMatchable.MatchProperties, MatchNode.RuleValue> rule in matchNode .GetRules()) { MatchNode.RuleValue value = rule.Value; IMatchable.MatchProperties key = rule.Key; if (key == IMatchable.MatchProperties.Exprent_Consttype) { if (!value.value.Equals(this.constType)) { return(false); } } else if (key == IMatchable.MatchProperties.Exprent_Constvalue) { if (value.IsVariable() && !engine.CheckAndSetVariableValue(value.value.ToString() , this.value)) { return(false); } } } return(true); }
public override bool Match(MatchNode matchNode, MatchEngine engine) { if (matchNode.GetType() != MatchNode.Matchnode_Statement) { return(false); } foreach (KeyValuePair <IMatchable.MatchProperties, MatchNode.RuleValue> rule in matchNode .GetRules()) { switch (rule.Key.ordinal()) { case 0: { if (this.type != (int)rule.Value.value) { return(false); } break; } case 2: { if (this.stats.Count != (int)rule.Value.value) { return(false); } break; } case 3: { int exprsize = (int)rule.Value.value; if (exprsize == -1) { if (this.exprents != null) { return(false); } } else if (this.exprents == null || this.exprents.Count != exprsize) { return(false); } break; } case 1: { if (!engine.CheckAndSetVariableValue((string)rule.Value.value, this)) { return(false); } break; } } } return(true); }
public ImageMatchProvider GetImageMatchProvider(IFillProvider <IImageData> fillProvider, IImageDataSorter imageDataSorter) { IFillProviderFactory <IImageData, IImageData> fillProviderFactory = new FilteredFillProviderFactory <IImageData, IImageData>(fillProvider, _filterStrategyFactory); IMatchProvider <IImageData, ImageMatch> matchProvider = new MatchProvider <IImageData, IImageData, ImageMatch>( _matchStrategy, fillProviderFactory); IMatchEngine <IImageData, ImageMatch> matchEngine = new MatchEngine <IImageData, ImageMatch>(matchProvider, _matchFilter); return(new ImageMatchProvider(matchEngine)); }
// ***************************************************************************** // IMatchable implementation // ***************************************************************************** public override bool Match(MatchNode matchNode, MatchEngine engine) { if (!base.Match(matchNode, engine)) { return(false); } int type = (int)matchNode.GetRuleValue(IMatchable.MatchProperties.Exprent_Functype ); return(type == null || this.funcType == type); }
public static string MatchEngineToString(MatchEngine me) { if (me == MatchEngine.Filters) { return("filter"); } else { return("regex"); } }
void Start() { SetPriceText(); SetAmountText(); SetLoanFundsText(); Hour = 0; Day = 1; buyOrder = GameObject.FindObjectOfType(typeof(BuyOrder)) as BuyOrder; //Funciona!!!!! Sirve para poder llamar funciones de otros scripts sellOrder = GameObject.FindObjectOfType(typeof(SellOrder)) as SellOrder; loanController = GameObject.FindObjectOfType(typeof(LoanController)) as LoanController; shareHolder = GameObject.FindObjectOfType(typeof(ShareHolder)) as ShareHolder; lastTradesList = GameObject.FindObjectOfType(typeof(LastTradesList)) as LastTradesList; matchEngine = GameObject.FindObjectOfType(typeof(MatchEngine)) as MatchEngine; InvokeRepeating("DistributeBalance", 1, 1); InvokeRepeating("GetData", 5, 5); InvokeRepeating("SetMarketData", 1, 1); InvokeRepeating("GetTime", 1, 1); InvokeRepeating("TimeContador", 0.1f, 0.1f); }
// ***************************************************************************** // IMatchable implementation // ***************************************************************************** public override bool Match(MatchNode matchNode, MatchEngine engine) { if (!base.Match(matchNode, engine)) { return(false); } MatchNode.RuleValue rule = matchNode.GetRules().GetOrNull(IMatchable.MatchProperties .Exprent_Var_Index); if (rule != null) { if (rule.IsVariable()) { return(engine.CheckAndSetVariableValue((string)rule.value, this.index)); } else { return(this.index == int.Parse((string)rule.value)); } } return(true); }
public void Start() { shareHolder = GameObject.FindObjectOfType(typeof(ShareHolder)) as ShareHolder; variables = GameObject.FindObjectOfType(typeof(Variables)) as Variables; matchEngine = GameObject.FindObjectOfType(typeof(MatchEngine)) as MatchEngine; Init(); //var order0 = new SellOrder(shareHolder.companyName, 400000, 320, 0.0008f, variables.timeContador); var order = new SellOrder("Limit", 1, 9999999, 9999999, variables.timeContador); sellOrders.Add(order); //sellOrders.Add(order0); for (int i = 0; i < 20; i++) { var orderi = new SellOrder(shareHolder.companyName, 100000 * i, 100000 * i * 0.0008f * i, 0.0008f * i, variables.timeContador); sellOrders.Add(orderi); } sellOrders.Sort((p1, p2) => p1.Price.CompareTo(p2.Price)); DisplaySellList(); }
public override bool Match(MatchNode matchNode, MatchEngine engine) { if (matchNode.GetType() != MatchNode.Matchnode_Exprent) { return(false); } foreach (KeyValuePair <IMatchable.MatchProperties, MatchNode.RuleValue> rule in matchNode .GetRules()) { IMatchable.MatchProperties key = rule.Key; if (key == IMatchable.MatchProperties.Exprent_Type && this.type != (int)rule.Value .value) { return(false); } if (key == IMatchable.MatchProperties.Exprent_Ret && !engine.CheckAndSetVariableValue ((string)rule.Value.value, this)) { return(false); } } return(true); }
public void Start() { shareHolder = GameObject.FindObjectOfType(typeof(ShareHolder)) as ShareHolder; variables = GameObject.FindObjectOfType(typeof(Variables)) as Variables; matchEngine = GameObject.FindObjectOfType(typeof(MatchEngine)) as MatchEngine; Init(); var order3 = new BuyOrder("Alberto", 20, 0.008f, 0.0004f, variables.timeContador); var order4 = new BuyOrder("Alberto", 200, 0.04f, 0.0002f, variables.timeContador); var order5 = new BuyOrder("Pepe", 5000, 0.5f, 0.0001f, variables.timeContador); var order6 = new BuyOrder("Alberto", 20, 0.006f, 0.0003f, variables.timeContador); var order7 = new BuyOrder("Alberto", 5, 0.0035f, 0.0007f, variables.timeContador); var order8 = new BuyOrder("Pepe", 37, 0.01295f, 0.00035f, variables.timeContador); var order9 = new BuyOrder("Limit", 10000000, 1000, 0.0001f, variables.timeContador); buyOrders.Add(order3); buyOrders.Add(order4); buyOrders.Add(order5); buyOrders.Add(order6); buyOrders.Add(order7); buyOrders.Add(order8); buyOrders.Add(order9); buyOrders.Sort((p1, p2) => - p1.Price.CompareTo(p2.Price)); DisplayBuyList(); }
// ***************************************************************************** // IMatchable implementation // ***************************************************************************** public override bool Match(MatchNode matchNode, MatchEngine engine) { if (!base.Match(matchNode, engine)) { return(false); } foreach (KeyValuePair <IMatchable.MatchProperties, MatchNode.RuleValue> rule in matchNode .GetRules()) { MatchNode.RuleValue value = rule.Value; IMatchable.MatchProperties key = rule.Key; if (key == IMatchable.MatchProperties.Exprent_Invocation_Parameter) { if (value.IsVariable() && (value.parameter >= lstParameters.Count || !engine.CheckAndSetVariableValue (value.value.ToString(), lstParameters[value.parameter]))) { return(false); } } else if (key == IMatchable.MatchProperties.Exprent_Invocation_Class) { if (!value.value.Equals(this.classname)) { return(false); } } else if (key == IMatchable.MatchProperties.Exprent_Invocation_Signature) { if (!value.value.Equals(this.name + this.stringDescriptor)) { return(false); } } } return(true); }
protected MatchTestBase() { var randomnessProvider = new ThreadSafeRandomnessProvider(); var actions = new IAction[] { new Foul(randomnessProvider), new Shot(randomnessProvider) }; var actionService = new ActionService(actions, randomnessProvider); StubMatchEngine = new MatchEngine(actionService); StubHomePlayer = new Card { Id = Guid.NewGuid(), Name = "GK", Rating = 80, Fitness = 100 }; StubHomeSub = new Card { Id = Guid.NewGuid(), Name = "ST", Rating = 40, Fitness = 100 }; StubAwayPlayer = new Card { Id = Guid.NewGuid(), Name = "ST", Rating = 40, Fitness = 100 }; StubAwaySub = new Card { Id = Guid.NewGuid(), Name = "ST", Rating = 40, Fitness = 100 }; var stubHomeTeamLineup = new Dictionary <string, IEnumerable <Card> > { { "GK", new List <Card> { StubHomePlayer } }, { "DEF", new List <Card> { new Card { Id = Guid.NewGuid(), Name = "LB", Rating = 80, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "CB", Rating = 80, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "CB", Rating = 80, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "RB", Rating = 80, Fitness = 100 } } }, { "MID", new List <Card> { new Card { Id = Guid.NewGuid(), Name = "LM", Rating = 80, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "CM", Rating = 80, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "CM", Rating = 80, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "RM", Rating = 80, Fitness = 100 } } }, { "ATT", new List <Card> { new Card { Id = Guid.NewGuid(), Name = "ST", Rating = 80, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "ST", Rating = 80, Fitness = 100 } } } }; var stubAwayTeamLineup = new Dictionary <string, IEnumerable <Card> > { { "GK", new List <Card> { new Card { Id = Guid.NewGuid(), Name = "GK", Rating = 40, Fitness = 100 } } }, { "DEF", new List <Card> { new Card { Id = Guid.NewGuid(), Name = "LB", Rating = 40, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "CB", Rating = 40, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "CB", Rating = 40, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "RB", Rating = 40, Fitness = 100 } } }, { "MID", new List <Card> { new Card { Id = Guid.NewGuid(), Name = "LM", Rating = 40, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "CM", Rating = 40, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "CM", Rating = 40, Fitness = 100 }, new Card { Id = Guid.NewGuid(), Name = "RM", Rating = 40, Fitness = 100 } } }, { "ATT", new List <Card> { StubAwayPlayer, new Card { Id = Guid.NewGuid(), Name = "ST", Rating = 40, Fitness = 100 } } } }; StubHomeSquad = new Squad { Id = Guid.NewGuid(), Lineup = stubHomeTeamLineup, Subs = new[] { StubHomeSub }, Name = "Good FC" }; StubAwaySquad = new Squad { Id = Guid.NewGuid(), Lineup = stubAwayTeamLineup, Subs = new[] { StubAwaySub }, Name = "Shitty FC" }; StubHomeUserId = Guid.NewGuid(); var stubAwayUserId = Guid.NewGuid(); StubHomeTeamDetails = new TeamDetails { UserId = StubHomeUserId, Squad = StubHomeSquad }; StubMatch = new ApplicationCore.Models.Match { Id = Guid.NewGuid(), KickOff = DateTime.Now, HomeTeam = StubHomeTeamDetails, AwayTeam = new TeamDetails { UserId = stubAwayUserId, Squad = StubAwaySquad } }; }
static void Main(string[] args) { var connollyBD = new BaseData("Connolly", 8, 6, 10, 0, 11); var connolly = new Player(connollyBD, Area.HomeGoalRight, Role.Defender); var carsleyBD = new BaseData("Carsley", 10, 8, 14, 0, 17); var carsley = new Player(carsleyBD, Area.MidCenter, Role.Midfielder); var branchBD = new BaseData("Branch", 8, 8, 5, 0, 11); var branch = new Player(branchBD, Area.AwayGoalLeft, Role.Attacker); var gravesenBD = new BaseData("Gravesen", 14, 10, 10, 0, 15); var gravesen = new Player(gravesenBD, Area.MidCenter, Role.Midfielder); var yoboBD = new BaseData("Yobo", 11, 4, 16, 0, 11); var yobo = new Player(yoboBD, Area.HomeGoalCenter, Role.Defender); var cummingsBD = new BaseData("Cummings", 12, 12, 12, 0, 10); var cummings = new Player(cummingsBD, Area.MidLeft, Role.Midfielder); var maldiniBD = new BaseData("Maldini", 14, 6, 18, 0, 16); var maldini = new Player(maldiniBD, Area.HomeGoalLeft, Role.Defender); var jevonsBD = new BaseData("Jevons", 8, 13, 6, 0, 8); var jevons = new Player(jevonsBD, Area.AwayGoalRight, Role.Attacker); var xavierBD = new BaseData("Xavier", 7, 6, 13, 0, 9); var xavier = new Player(xavierBD, Area.MidRight, Role.Midfielder); var dunneBD = new BaseData("Dunne", 10, 6, 15, 0, 16); var dunne = new Player(dunneBD, Area.HomeGoalCenter, Role.Defender); var southallBD = new BaseData("Southall", 13, 3, 10, 18, 15); var southall = new Player(southallBD, Area.HomeGoalCenter, Role.Goalkeeper); var finnanBD = new BaseData("Finnan", 13, 6, 14, 0, 13); var finnan = new Player(finnanBD, Area.AwayGoalRight, Role.Defender); var whelanBD = new BaseData("Whelan", 10, 8, 8, 0, 10); var whelan = new Player(whelanBD, Area.MidRight, Role.Midfielder); var babelBD = new BaseData("Babel", 12, 14, 6, 0, 10); var babel = new Player(babelBD, Area.AwayGoalLeft, Role.Attacker); var sounessBD = new BaseData("Souness", 14, 14, 16, 0, 15); var souness = new Player(sounessBD, Area.MidCenter, Role.Midfielder); var babbBD = new BaseData("Babb", 9, 4, 13, 0, 12); var babb = new Player(babbBD, Area.AwayGoalCenter, Role.Defender); var jonesBD = new BaseData("Jones", 12, 10, 15, 0, 13); var jones = new Player(jonesBD, Area.AwayGoalLeft, Role.Defender); var molbyBD = new BaseData("Molby", 17, 15, 9, 0, 8); var molby = new Player(molbyBD, Area.MidLeft, Role.Midfielder); var saundersBD = new BaseData("Saunders", 8, 16, 6, 0, 14); var saunders = new Player(saundersBD, Area.HomeGoalRight, Role.Attacker); var thompsonBD = new BaseData("Thompson", 14, 6, 13, 0, 9); var thompson = new Player(thompsonBD, Area.MidRight, Role.Midfielder); var carragherBD = new BaseData("Carragher", 10, 6, 18, 0, 18); var carragher = new Player(carragherBD, Area.AwayGoalLeft, Role.Defender); var grobelaarBD = new BaseData("Grobelaar", 11, 3, 9, 14, 12); var grobelaar = new Player(grobelaarBD, Area.AwayGoalCenter, Role.Goalkeeper); IEnumerable <Player> evertonPlayers = new List <Player> { southall, carsley, gravesen, branch, xavier, cummings, connolly, jevons, dunne, maldini, yobo }; IEnumerable <Player> liverpoolPlayers = new List <Player> { grobelaar, carragher, thompson, saunders , molby, jones, babb, souness, babel, whelan, finnan }; var everton = new Team("Everton", evertonPlayers); var liverpool = new Team("Liverpool", liverpoolPlayers); MatchEngine.SimulateMatch(everton, liverpool); Console.ReadLine(); }
public void Start() { Console.WriteLine("Please Enter the First Team's Name:"); string team1Name = Console.ReadLine(); Console.WriteLine("Please Enter the Second Team's Name:"); string team2Name = Console.ReadLine(); // ********** FOR TESTING USE ********** // Console.WriteLine("Please Enter test case:"); // string team1Name = ""; // string team2Name = ""; // switch(Console.ReadLine()) // { // case "0": // team1Name = "North Carolina"; // team2Name = "Gonzaga"; // break; // case "1": // team1Name = "SMU"; // team2Name = "USC"; // break; // case "2": // team1Name = "Wisconsin"; // team2Name = "Virginia Tech"; // break; // case "3": // team1Name = "Creighton"; // team2Name = "Rhode Island"; // break; // case "4": // team1Name = "Northwestern"; // team2Name = "Vanderbilt"; // break; // case "5": // team1Name = "Michigan"; // team2Name = "Oklahoma St"; // break; // case "6": // team1Name = "Minnesota"; // team2Name = "MTSU"; // break; // } FinalResult finalResult = null; var dataLoaderEngine = new DataLoaderEngine(); var matchEngine = new MatchEngine(); var finalizerEngine = new FinalizerEngine(team1Name, team2Name); if (dataLoaderEngine.Load(team1Name, team2Name)) { MatchResults engineResult = matchEngine.Process(dataLoaderEngine.Team1, dataLoaderEngine.Team2); finalResult = finalizerEngine.ComputeWinner(engineResult); } if (finalResult == null || finalResult.Winner < 0 || finalResult.Winner > 1) { Logger.Error("Failed to decided a winner"); } else { Console.WriteLine("The Winner is: " + (finalResult.Winner == 0 ? finalResult.Team1 : finalResult.Team2)); //Console.WriteLine("The Winner is: " + (finalResult.Winner == 0 ? finalResult.Team1 : finalResult.Team2) + ". Score: " + finalResult.Team1Score + " - " + finalResult.Team2Score); } ProcessAnotherMatch(); }