示例#1
0
    private void ComputeStat(ushort id, GameStat stat)
    {
        int totalProduction = 0;

        for (ushort x = 0; x < this.map.Width; x++)
        {
            for (ushort y = 0; y < this.map.Height; y++)
            {
                var site = this.map[x, y];
                totalProduction += site.Production;


                if (site.Owner == id)
                {
                    stat.Territory++;
                    stat.Production += site.Production;
                    stat.Strength   += site.Strength / 255.0;
                }
            }
        }

        int count = this.map.Width * this.map.Height;

        stat.Territory /= count;

        if (totalProduction != 0)
        {
            stat.Production /= totalProduction;
        }

        stat.Strength /= count;
    }
示例#2
0
 protected override void OnDeactivated(object sender, System.EventArgs args)
 {
     if (Stat_Curent == GameStat.Play)
     {
         Stat_Next = GameStat.Pause;
     }
 }
示例#3
0
        private static void FindStat(string statNameToFind)
        {
            var statToFind = parentThing.FindGameStat(statNameToFind);
            var stat       = (WRMStat)Convert.ChangeType(statToFind, typeof(WRMStat));

            privateStat = (GameStat)Convert.ChangeType(parentThing.FindGameStat(stat.Name), typeof(GameStat));
        }
示例#4
0
        private void Stat_Game_Win()
        {
            accelState.Stop();

            Game_Play.Menu_Game.Win(Game_Play.Game_Level.Score_Count);

            if (Game_Play.Game_Level.Score_Count == 0)
            {
                Stars = 3;
            }
            else
            {
                Stars = (int)(((float)Score / (float)Game_Play.Game_Level.Score_Count) * 3f);
            }

            if (Score >= Level_Data[Level].Score)
            {
                Level_Data[Level].Score = Score;
                Level_Data[Level].Stars = Stars;
            }
            Level_Data[Level].Used = true;
            SaveData();
            CheckData();

            if (Game_Play.Sound_Fan_Inst.State == SoundState.Playing)
            {
                Game_Play.Sound_Fan_Inst.Stop();
            }

            Stat_Curent = GameStat.Win;
        }
    /********************************/

    // Use this for initialization
    void Start()
    {
        inputValues         = new List <double>();
        desiredOutputValues = new List <double>();

        randomizeButton.onClick.AddListener(delegate { OnRandomizeButtonClicked(); });

        gameStatList = new List <GameStat>();
        foreach (GameStatTypes item in Enum.GetValues(typeof(GameStatTypes)))
        {
            GameObject newGameStatObj = Instantiate(gameStatPrefab, gameStatsPanel.transform);
            newGameStatObj.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, -120 - (int)item * 100);
            GameStat newGameStat = newGameStatObj.GetComponent <GameStat>();
            newGameStat.statName.text = item.ToString();
            gameStatList.Add(newGameStat);
        }

        foreach (var item in inputSliders)
        {
            item.onValueChanged.AddListener(delegate { UpdateCurrentValue(); });
        }

        /*** Neural Network ***/
        net      = new NeuralNet(inputSliders.Count, 10, gameStatList.Count);
        dataSets = new List <DataSet>();
        /**********************/
    }
示例#6
0
        public int StartGame(string[] players)
        {
            var startTime = DateTime.Now;

            var newGame = new Game { StartedAt = startTime,EndedAt = startTime.AddYears(-1),WinnerID = null };
            _dataContext.Games.InsertOnSubmit(newGame);
            _dataContext.SubmitChanges();

            var gameID = _dataContext.Games.Single(game => game.StartedAt == startTime);

            var gameResultList = new List<GameStat>();
            foreach (var player in players)
            {

                var playerID = _dataContext.Players.Single(p => p.Nickname == player);

                var gameResult = new GameStat
                {
                    GameID = gameID.ID,
                    IsWinner = false,
                    PlayerID = playerID.ID,
                    Points = 0,
                };
                gameResultList.Add(gameResult);
                // _dataContext.GameStats.InsertOnSubmit(gameResult);

            }
            _dataContext.GameStats.InsertAllOnSubmit(gameResultList);
            _dataContext.SubmitChanges();

            return gameID.ID;
        }
示例#7
0
        private Dictionary <string, GameStat[]> PreLoadStats(XmlDocument data)
        {
            Dictionary <string, GameStat[]> gameStats = new Dictionary <string, GameStat[]>();

            foreach (XmlElement stat in data["Bundle"]["Stats"].ChildNodes)
            {
                string   team     = stat["Team"].InnerText;
                int      week     = int.Parse(stat["Week"].InnerText);
                GameStat gameStat = new GameStat()
                {
                    Touchdowns        = int.Parse(stat["Touchdowns"].InnerText),
                    TouchdownsAllowed = int.Parse(stat["TouchdownsAllowed"].InnerText),
                    FieldGoals        = int.Parse(stat["FieldGoals"].InnerText),
                    FirstDowns        = int.Parse(stat["FirstDowns"].InnerText),
                    PassingYards      = int.Parse(stat["PassingYards"].InnerText),
                    RushingYards      = int.Parse(stat["RushingYards"].InnerText),
                    Penalties         = int.Parse(stat["Penalties"].InnerText),
                    PenaltyYards      = int.Parse(stat["PenaltyYards"].InnerText),
                    Turnovers         = int.Parse(stat["Turnovers"].InnerText),
                    Punts             = int.Parse(stat["Punts"].InnerText),
                    PuntYards         = int.Parse(stat["PuntYards"].InnerText),
                    TimeOfPosession   = stat["TimeOfPosession"].InnerText.ToTimeSpan()
                };

                if (!gameStats.ContainsKey(team))
                {
                    gameStats.Add(team, new GameStat[17]);
                }
                gameStats[team][week - 1] = gameStat;
            }

            return(gameStats);
        }
示例#8
0
 private void Start()
 {
     GameReLoad();
     GameLoadedAction?.Invoke();
     gameStat            = GameStat.Loaded;
     plane.localPosition = Vector3.zero;
 }
示例#9
0
    void UpdateUI() //get vals from DB
    {
        name.text = FirebaseController.instance._patient.PatientName;

        age.text = FirebaseController.instance._patient.age.ToString();// (DateTime.Now.Year - int.Parse(string.Format("{0:yyyy}",DateTime.Parse(FirebaseController.instance._patient.birthday)))).ToString();
        //performanece.text = "100"; TODO

        diseases.text = FirebaseController.instance._patient.disease;
        comment.text  = FirebaseController.instance._patient.comment;

        GameStat g1_stat = new GameStat("", "", 0);
        GameStat g2_stat = new GameStat("", "", 0);
        GameStat g3_stat = new GameStat("", "", 0);
        int      G1_lvl;
        int      G2_lvl;
        int      G3_lvl;

        FirebaseController.instance.getGameStat(result =>
        {
            if (result.IsCompleted)
            {
                G1_lvl = (int)result.Result.Child("Game1").ChildrenCount;
                if (G1_lvl != 0)
                {
                    g1_stat = JsonUtility.FromJson <GameStat>(result.Result.Child("Game1").Child($"level{G1_lvl}").GetRawJsonValue()); // divide the result "Result" into games & its stats & diffeculties
                }
                else
                {
                    G1_lvl  = 1;
                    g1_stat = new GameStat("", "", 0);
                }


                G2_lvl = (int)result.Result.Child("Game2").ChildrenCount;
                if (G2_lvl != 0)
                {
                    g2_stat = JsonUtility.FromJson <GameStat>(result.Result.Child("Game2").Child($"level{G2_lvl}").GetRawJsonValue());
                }
                else
                {
                    G2_lvl  = 1;
                    g2_stat = new GameStat("", "", 0);
                }


                G3_lvl = (int)result.Result.Child("Game3").ChildrenCount;
                if (G3_lvl != 0)
                {
                    g3_stat = JsonUtility.FromJson <GameStat>(result.Result.Child("Game3").Child($"level{G3_lvl}").GetRawJsonValue());
                }
                else
                {
                    G3_lvl  = 1;
                    g3_stat = new GameStat("", "", 0);
                }
            }
            UnityMainThreadDispatcher.Instance().Enqueue(() => { performanece.text = ((g1_stat.perfomance + g2_stat.perfomance + g3_stat.perfomance) / 3f).ToString(); });
        });
    }
示例#10
0
 public static Stat ConvertType(GameStat o)
 {
     return(new Stat()
     {
         Value = o.Value,
         StatType = o.StatType
     });
 }
示例#11
0
 void Start()
 {
     evt   = GameObject.Find("Main Camera").GetComponent <Event>();
     stat  = GameObject.Find("Main Camera").GetComponent <GameStat>();
     month = 3;
     week  = 4;
     nextWeek();
 }
示例#12
0
 private float GetReward(GameStat last, GameStat current)
 {
     if (current.lose)
     {
         return(-5); // lose
     }
     return(current.coins);
 }
示例#13
0
 public int GetStat(GameStat stat)
 {
     if (!Stats.TryGetValue(stat, out var num))
     {
         return(0);
     }
     return(num);
 }
示例#14
0
 public GameStat(GameStat g)
 {
     gameId      = g.gameId;
     paramId     = g.paramId;
     score       = g.score;
     nbDefeats   = g.nbDefeats;
     nbVictories = g.nbVictories;
 }
示例#15
0
 private void Stat_Game_Next()
 {
     Level++;
     Game_Play = null;
     accelState.Start();
     Game_Play   = new GamePlay(this);
     Stat_Curent = GameStat.Play;
 }
示例#16
0
 public void GameOver()
 {
     gameUI.FadeOut();
     gameOverUI.gameObject.SetActive(true);
     gameOverUI.socre.text = totalScore.ToString();
     gameStat = GameStat.GameOver;
     GameOverAction?.Invoke();
 }
示例#17
0
        private float QValue(GameStat stat, Moves move)
        {
            int pos     = stat.pos;
            int height  = stat.height;
            int dist    = stat.dist[pos];
            int obsType = (int)stat.obstacleType[pos];

            return(QMat[pos, height, dist, (int)move, obsType]);
        }
示例#18
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (Application.loadedLevelName != "EditorMap")
     {
         Debug.Log("WIN !");
         GameStat.Win();
         SceneManager.LoadScene(_sceneWin);
     }
 }
示例#19
0
 void sendGameStatsRPC(string uniqueID, int gameId, int paramId, int score)
 {
     if (currentGameEnum == (EnumGame)gameId)
     {
         GameStat g = new GameStat(gameId, paramId, score, 0, 0);
         clientsInfos[uniqueID].addGameStat(g);
         serverMenu.addScore(score, paramId, clientsInfos[uniqueID].Login);
     }
 }
示例#20
0
 private void Stat_Menu_Settings()
 {
     switch (Stat_Curent)
     {
     case GameStat.MenuMain:
         Menu_Main.Reset();
         break;
     }
     Stat_Curent = GameStat.MenuSettings;
 }
示例#21
0
 public bool CreateGameStat(GameStat instance)
 {
     if (instance.id == 0)
     {
         Db.GameStats.InsertOnSubmit(instance);
         Db.GameStats.Context.SubmitChanges();
         return true;
     }
     return false;
 }
示例#22
0
 /// <summary>
 /// Creates GameStat objects for all of the given StatProfile objects
 /// </summary>
 /// <param name="statProfiles"></param>
 public void SetStats(IEnumerable <StatProfile> statProfiles)
 {
     stats.Clear();
     foreach (var profile in statProfiles)
     {
         var s = new GameStat(profile.statname, profile.persist, profile.monotonic);
         s.SetPersistor(Persistor);
         stats[profile.statname] = s;
     }
 }
示例#23
0
 private void Stat_Menu_Help()
 {
     switch (Stat_Curent)
     {
     case GameStat.MenuMain:
         Menu_Main.Reset();
         break;
     }
     Stat_Curent = GameStat.Help;
 }
示例#24
0
 public bool UpdateGameStat(GameStat instance)
 {
     GameStat cache = Db.GameStats.Where(p => p.id == instance.id).FirstOrDefault();
     if (cache != null)
     {
         //TODO : Update fields for GameStat
         Db.GameStats.Context.SubmitChanges();
         return true;
     }
     return false;
 }
示例#25
0
 /*
  * Return the Player Stat value correspondig the parameter key
  *
  * key - GameStat to be returned
  */
 public static float GetPlayerStatValue(GameStat key)
 {
     try
     {
         return(GameController.Instance.Game.IngameState.Data.LocalPlayer.GetComponent <Stats>().StatDictionary[key]);
     }
     catch
     {
         return(0.0f);
     }
 }
示例#26
0
 /*
  * Check if player has the asked stat
  */
 public static bool GetPlayerHasStat(GameStat key)
 {
     try
     {
         return(GameController.Instance.Game.IngameState.Data.LocalPlayer.GetComponent <Stats>().StatDictionary[GameStat.DamageRemovedFromManaBeforeLifePct] != null);
     }
     catch
     {
         return(false);
     }
 }
示例#27
0
 /*
  * Return the Player Stat value correspondig the parameter key
  *
  * key - GameStat to be returned
  */
 public static float GetSupportStatValue(GameStat key)
 {
     try
     {
         return(GameController.Instance.Game.IngameState.Data.LocalPlayer.GetComponent <Actor>().ActorSkills[rfIndex].Stats[key]);
     }
     catch
     {
         return(0.0f);
     }
 }
示例#28
0
 private void Stat_Game_Pause(GameTime gameTime)
 {
     accelState.Stop();
     Game_Play.Menu_Game.Pause();
     Stat_Curent             = GameStat.Pause;
     Game_Play.GamePauseTime = gameTime.TotalGameTime;
     if (Game_Play.Sound_Fan_Inst.State == SoundState.Playing)
     {
         Game_Play.Sound_Fan_Inst.Pause();
     }
 }
示例#29
0
 private void Stat_Game_Resume(GameTime gameTime)
 {
     accelState.Start();
     Stat_Curent           = GameStat.Play;
     Game_Play.Return_En   = true;
     Game_Play.Return_Time = 3;
     if (Game_Play.Sound_Fan_Inst.State == SoundState.Paused)
     {
         Game_Play.Sound_Fan_Inst.Resume();
     }
 }
 public static bool HaveStat(Entity entity, GameStat stat)
 {
     try
     {
         var result = entity?.GetComponent <Stats>()?.StatDictionary?[stat];
         return(result > 0);
     }
     catch (Exception)
     {
         return(false);
     }
 }
示例#31
0
 private void Stat_Menu_Select()
 {
     switch (Stat_Curent)
     {
     case GameStat.MenuMain:
         CheckData();
         Menu_Select = new MenuSelect(this);
         Menu_Main   = null;
         break;
     }
     Stat_Curent = GameStat.MenuSelect;
 }
示例#32
0
        private void Stat_Game_Lose()
        {
            accelState.Stop();
            Game_Play.Menu_Game.Lose();

            if (Game_Play.Sound_Fan_Inst.State == SoundState.Playing)
            {
                Game_Play.Sound_Fan_Inst.Stop();
            }

            Stat_Curent = GameStat.Lose;
        }
        public bool IsBadMod(GameStat AreaMod)
        {
            foreach (var BadMod in AreaModWarningList)
            {
                if (string.Equals(BadMod, AreaMod.ToString(), StringComparison.CurrentCultureIgnoreCase))
                {
                    return(true);
                }
            }

            return(false);
        }