Ejemplo n.º 1
0
        public void Init(CurrencyView currencyView)
        {
            _enemy = new Enemy("Enemy Flappy");

            _money = new Money(nameof(Money));
            _money.Attach(_enemy);

            _heath = new Health(nameof(Health));
            _heath.Attach(_enemy);

            _force = new Force(nameof(Force));
            _force.Attach(_enemy);

            _crimeRate = new CrimeRate(nameof(CrimeRate));
            _crimeRate.Attach(_enemy);

            _currencyView = currencyView;

            _cameraShaker = new CameraShakeBehaviour();

            _addHealthButton.onClick.AddListener(() => ChangeHealth(true));
            _minusHealthButton.onClick.AddListener(() => ChangeHealth(false));

            _addPowerButton.onClick.AddListener(() => ChangeForce(true));
            _minusPowerButton.onClick.AddListener(() => ChangeForce(false));

            _addCrimeRateButton.onClick.AddListener(() => ChangeCrimeRate(true));
            _minusCrimeRateButton.onClick.AddListener(() => ChangeCrimeRate(false));

            _fightButton.onClick.AddListener(Fight);
            _skipButton.onClick.AddListener(Skip);
        }
        /// <summary>
        /// Receives a county and a number of months.
        /// Returns the predicted monthly records of that county for the months specified.
        /// </summary>
        /// <param name="county">Number of months</param>
        /// <param name="months">County to predict</param>
        /// <returns></returns>
        public List <Record> ReturnPredictedRecords(County county, int months)
        {
            //Trains SVR model
            var svm             = TrainSVR(county);
            var returnedRecords = new List <Record>();
            var predictionSet   = new double[months][];
            //Start date for predictions
            var startDate = county.Records.OrderBy(x => x.Date).Last().Date.AddMonths((1));
            //End date for predictions
            var endDate = county.Records.OrderBy(x => x.Date).Last().Date.AddMonths((months));
            int counter = 0;

            //Months to predict
            for (DateTime dateTime = startDate; dateTime <= endDate; dateTime = dateTime.AddMonths((1)))
            {
                predictionSet[counter] = new double[] { dateTime.Month, dateTime.Year };
                counter++;
            }
            //Predicted records
            double[] outputs = svm.Score(predictionSet);
            for (int i = 0; i < outputs.Length; i++)
            {
                //Assign the predicted months ranks Low,Normal or High
                CrimeRate crime_rate = ReturnPredictedRank(county, (int)(outputs[i] * 1000));
                returnedRecords.Add(new Record()
                {
                    Date        = new DateTime((int)predictionSet[i][1], (int)predictionSet[i][0], 1),
                    AllCrimes   = (int)(outputs[i] * 1000),
                    CrimeRateId = crime_rate.Rank
                });
            }
            return(returnedRecords);
        }
Ejemplo n.º 3
0
        public IHttpActionResult Details(List <String> suburbs)
        {
            System.Diagnostics.Debug.WriteLine("debug:");
            System.Diagnostics.Debug.WriteLine(suburbs);
            if (suburbs != null)
            {
                //find suburbs
                List <SuburbCrime> SuburbCrimeList = new List <SuburbCrime>();
                foreach (var i in suburbs)
                {
                    Suburb    theSuburb = db.Suburb.Find(i);
                    CrimeRate theRate   = db.CrimeRate.Find(i);
                    if (theSuburb != null && theRate != null)
                    {
                        var newSub = new SuburbCrime();
                        newSub.suburbname = i;
                        newSub.boundary   = theSuburb.Boundary1 + theSuburb.Boundary2;
                        newSub.crimeRate  = theRate.Rate;
                        SuburbCrimeList.Add(newSub);
                    }
                }

                String json = JsonConvert.SerializeObject(SuburbCrimeList);

                //output Json type suburb details to front-end
                return(Json(json));
            }
            else
            {
                return(Json("failed"));
            }
            //Suburb suburb = db.Suburb.Find(id);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Tests the database correctly stores data
        /// </summary>
        public void PopulateDatabase()
        {
            County county1 = _db.Counties.Add(new County()
            {
                Name = "Example1", PoliceDepartmentId = 0, Population = 100000
            });
            County county2 = _db.Counties.Add(new County()
            {
                Name = "Example2", PoliceDepartmentId = 2, Population = 200000
            });
            County county3 = _db.Counties.Add(new County()
            {
                Name = "Example3", PoliceDepartmentId = 3, Population = 300000
            });

            PoliceDepartment pd1 = _db.PoliceDepartments.Add(new PoliceDepartment()
            {
                Name = "Example1"
            });
            PoliceDepartment pd2 = _db.PoliceDepartments.Add(new PoliceDepartment()
            {
                Name = "Example2"
            });
            PoliceDepartment pd3 = _db.PoliceDepartments.Add(new PoliceDepartment()
            {
                Name = "Example3"
            });

            Record record1 = _db.Records.Add(new Record()
            {
                AllCrimes = 100000, CrimesPer1000 = 5400, Date = DateTime.UtcNow
            });
            Record record2 = _db.Records.Add(new Record()
            {
                AllCrimes = 200000, CrimesPer1000 = 5400, Date = DateTime.UtcNow
            });
            Record record3 = _db.Records.Add(new Record()
            {
                AllCrimes = 300000, CrimesPer1000 = 5400, Date = DateTime.UtcNow
            });

            CrimeRate rank1 = _db.CrimeRates.Add(new CrimeRate()
            {
                Name = "LOW", Rank = 1
            });
            CrimeRate rank2 = _db.CrimeRates.Add(new CrimeRate()
            {
                Name = "MEDIUM", Rank = 2
            });
            CrimeRate rank3 = _db.CrimeRates.Add(new CrimeRate()
            {
                Name = "HIGH", Rank = 3
            });

            CrimeRate crimerate1 = _db.CrimeRates.Add(new CrimeRate()
            {
                Name = "LOW", Rank = 4
            });
            CrimeRate crimerate2 = _db.CrimeRates.Add(new CrimeRate()
            {
                Name = "MEDIUM", Rank = 5
            });
            CrimeRate crimerate3 = _db.CrimeRates.Add(new CrimeRate()
            {
                Name = "HIGH", Rank = 6
            });

            _db.SaveChanges();
        }