Exemplo n.º 1
0
        public bool PlayerStands(ushort playerNumber)
        {
            if (_players.ContainsKey(playerNumber) == false)
            {
                return(false);
            }
            if (_players[playerNumber].IsPlayable == false)
            {
                return(false);
            }
            if (_players[playerNumber].IsBust)
            {
                return(false);
            }

            _gameStatus = GameStatusEnum.PlayersTurn;
            // make this player unplayable and unlock the next player(if there is one)
            _players[playerNumber].IsPlayable = false;
            int nextKeyIndex = _players.IndexOfKey(playerNumber) + 1;

            if (nextKeyIndex < _players.Keys.Count)
            {
                ushort nextKey = _players.Keys[nextKeyIndex];
                _players[nextKey].IsPlayable = true;
            }
            else
            {
                _gameStatus        = GameStatusEnum.DealersTurn;
                _dealer.IsPlayable = true;
            }
            return(true);
        }
        public void DrawResults(
            Graphics graphics,
            GameStatusEnum gameStatus,
            string playerName,
            int playerScore,
            Dictionary <string, int[]> allPlayerScores,
            int width, int height
            )
        {
            var center = width / 2;

            FillBackground(graphics, gameStatus, width, height);
            DrawCenterBlock(graphics, width, height);
            var header = gameStatus == GameStatusEnum.WinScreen ? "LEVEL COMPLETED" : "YOU LOST";

            graphics.DrawString(header, HeaderFont, RedBrush, center, 100, _alignCenter);
            graphics.DrawString($"{playerName} total score: {playerScore}", MainFont, WhiteBrush, center, 160,
                                _alignCenter);
            var counter = 0;

            graphics.DrawString("Level results", BoldFont, WhiteBrush, center, 250, _alignCenter);
            foreach (var(key, value) in allPlayerScores)
            {
                graphics.DrawString(key, MainFont, RedBrush, center, 300 + counter * 80, _alignCenter);
                graphics.DrawString($"{value[0].ToString()}...................{value[1].ToString()}",
                                    MainFont, WhiteBrush, center, 335 + counter * 80, _alignCenter);
                counter++;
            }
            graphics.DrawString("Press ENTER to continue", MainFont, WhiteBrush, center, 750, _alignCenter);
        }
Exemplo n.º 3
0
        public FF_Game GetGame(string tableCode, GameStatusEnum status = GameStatusEnum.无)
        {
            using (FriendshipFirstContext context = new FriendshipFirstContext())
            {
                if (status != GameStatusEnum.无)
                {
                    return(context.ff_game.FirstOrDefault(c => c.GameStatus == (int)status && c.GameCode == tableCode));
                }
                else
                {
                    return(context.ff_game.FirstOrDefault(c => c.GameCode == tableCode));
                }
            }
            //var where = LDMFilter.True<FF_Game>();
            //if (status != GameStatusEnum.无)
            //{
            //    where = where.And(c => c.GameStatus == (int)status);
            //}
            //where = where.And(c => c.GameCode == tableCode);

            //var lst = _repository.GetList(where, "AddTime", false).Result;
            //if (lst != null && lst.TotalItemsCount > 0)
            //{
            //    return JsonModelResult.PackageSuccess(lst.Items.FirstOrDefault());
            //}
            //return JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据);
        }
Exemplo n.º 4
0
 public void StartGame()
 {
     firstPanel.SetActive(false);
     nextLevel.SetActive(false);
     Time.timeScale = 1f;
     gameStatus     = GameStatusEnum.unpaused;
 }
Exemplo n.º 5
0
 private void UpdateGameStatus()
 {
     if (Model.OpenTime == null)
     {
         if (!MainWindow.GamePortal.User.CheckRateAllow(Model.Settings.RateSettings))
         {
             GameStatus = GameStatusEnum.Block;
         }
         else
         {
             GameStatus = GameStatusEnum.New;
         }
     }
     else if (Model.CloseTime != null)
     {
         GameStatus = GameStatusEnum.Close;
     }
     else if (Model.GameUser.Any(p => !p.IsCapitulated && !string.IsNullOrEmpty(p.HomeType) && string.IsNullOrEmpty(p.Login)))
     {
         GameStatus = GameStatusEnum.Replace;
     }
     else
     {
         GameStatus = GameStatusEnum.Open;
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// 设置游戏状态
 /// </summary>
 public void SetGameStatus(GameStatusEnum gameStatus, string nickname = null, string uid = null)
 {
     if (mIsPlatReady && mInstance != null)
     {
         mInstance.SetGameStatus(gameStatus, nickname, uid);
     }
 }
Exemplo n.º 7
0
 public void EndGame()
 {
     endScreen.SetActive(true);
     Time.timeScale = 0f;
     endScore.text += Scores.totalScore.ToString();
     gameStatus     = GameStatusEnum.paused;
 }
Exemplo n.º 8
0
 public GameStatusStateMachine(GameStatusEnum gameStatus)
 {
     GameStatusStatesFactory.SetGameStateMachine(this); // Set GameStatusStateMachine in Factory
     currentGameStatusState = GameStatusStatesFactory.GetGameState(gameStatus);
     ChangeGameStatus(gameStatus);                      // To enter the currentGameStatusState
     currentGameStatusEnum = gameStatus;                // To be set after currentGameStatusState has been entered
 }
Exemplo n.º 9
0
 public void ReStart()
 {
     Matrix.Reset();
     Matrix.AddNewTile();
     Matrix.AddNewTile();
     GameStatue = GameStatusEnum.Normal;
 }
Exemplo n.º 10
0
 public void TogglePauseGame()
 {
     if (Time.timeScale == 1)
     {
         Time.timeScale = 0;
         _gameStatus    = GameStatusEnum.Paused;
         if (GameStatusChanged != null)
         {
             GameStatusChanged(_gameStatus);
         }
         if (!Cursor.visible)
         {
             Cursor.visible   = true;
             Cursor.lockState = CursorLockMode.None;
         }
     }
     else if (Time.timeScale == 0)
     {
         Time.timeScale = 1;
         _gameStatus    = GameStatusEnum.Resumed;
         if (GameStatusChanged != null)
         {
             GameStatusChanged(_gameStatus);
         }
         if (Cursor.visible)
         {
             Cursor.visible   = false;
             Cursor.lockState = CursorLockMode.Locked;
         }
     }
 }
Exemplo n.º 11
0
 public void ReStart()
 {
     Matrix.Reset();
     Matrix.AddNewTile();
     Matrix.AddNewTile();
     GameStatue = GameStatusEnum.Normal;
 }
Exemplo n.º 12
0
    // Start is called before the first frame update
    void Start()
    {
        gameStatusEnum = GameObject.Find("GameManager").GetComponent <GameStatusEnum>();

        Application.targetFrameRate = 60;

        touchInputScript = inputHolder.GetComponent <TouchInput>();
    }
    //EnviromentSkinEnum enviromentSkinEnumScript;
    // Start is called before the first frame update
    void Start()
    {
        gameManagerObject = GameObject.Find("GameManager");

        gameStatusEnum = gameManagerObject.GetComponent <GameStatusEnum>();

        playerManagerObject = GameObject.Find("PlayerManager");
    }
Exemplo n.º 14
0
 public virtual void ResumeGame()
 {
     _gameStatus = GameStatusEnum.Play;
     if (_timeManager != null)
     {
         _timeManager.Factor = 1f;
     }
 }
Exemplo n.º 15
0
 // Start is called before the first frame update
 void Start()
 {
     InitializeGame();
     playerTurn = 0;
     players[playerTurn].GetComponent <PlayerScript>().InitiatePersonTurn();
     gameCanvas.PlayerMovementUI(players[playerTurn].GetComponent <PlayerScript>().CurrentMovementPlayer, turno.ToString());
     gameStatus = GameStatusEnum.Game;
 }
Exemplo n.º 16
0
 public virtual void PauseGame()
 {
     _gameStatus = GameStatusEnum.Pause;
     if (_timeManager != null)
     {
         _timeManager.Factor = 0f;
     }
 }
Exemplo n.º 17
0
 public bool CheckInStatus(GameStatusEnum status, out string errMsg)
 {
     errMsg = string.Empty;
     if (this.Status != status)
     {
         errMsg = string.Format(Constants.Instance.ErrorMessage.Already_In_The_Game, status.ToString());
     }
     return(this.Status == status);
 }
Exemplo n.º 18
0
    // Start is called before the first frame update
    void Start()
    {
        GameObject gameManagerObj = GameObject.Find("GameManager");

        gameStatusEnum   = GameObject.Find("GameManager").GetComponent <GameStatusEnum>();
        uiGameOverScript = GameObject.Find("GameManager").GetComponent <UI_GameOver>();
        startPosition    = this.transform.position;
        scoreCountScript = GameObject.Find("GameManager").GetComponent <ScoreCount>();
    }
Exemplo n.º 19
0
        private async Task UpdateGameStateAsync(GameStatusEnum newState)
        {
            _Game.State = newState;

            // Save state in DB
            if (SaveGameStatusAsyncCallback != null)
            {
                await SaveGameStatusAsyncCallback(_Game.GameId, newState).ConfigureAwait(false);
            }
        }
Exemplo n.º 20
0
    public void ChangeGameStatus(GameStatusEnum gameStatus)
    {
        GetGameData().gameStatus = gameStatus;
        switch (gameStatus)
        {
        case GameStatusEnum.GamePre:
            //扫描地形
            //AstarPath.active.ScanAsync();
            //初始化数据
            handler_GameData.GetPlayerInitData(out float playerSpeed, out int playerLife);
            GameBean gameData = new GameBean(playerSpeed, playerLife);
            SetGameData(gameData);
            manager_UI.RefreshAllUI();
            //打开UI
            manager_UI.OpenUIAndCloseOther <UIGameStart>(UIEnum.GameStart);
            //创建金币
            GameLevelBean gameLevelData = GetGameLevelData();
            handler_Gold.CreateGold(gameLevelData.gold_pile, gameLevelData.gold_number, gameLevelData.gold_id);
            break;

        case GameStatusEnum.GameIng:
            //开启角色创建
            UserDataBean      userData            = handler_GameData.GetUserData();
            CharacterDataBean playerCharacterData = new CharacterDataBean(CharacterTypeEnum.Player)
            {
                life      = userData.life + GetGameData().playerForLife,
                maxLife   = userData.life + GetGameData().playerForLife,
                moveSpeed = userData.speed + GetGameData().GetPlayerSpeed()
            };
            CharacterDataBean enemyCharacterData = new CharacterDataBean(CharacterTypeEnum.Enemy)
            {
                life      = GetGameLevelData().enemy_life,
                maxLife   = GetGameLevelData().enemy_life,
                moveSpeed = GetGameLevelData().enemy_speed
            };
            StartCoroutine(handler_Character.InitCreateCharacter(playerCharacterData, enemyCharacterData, GetGameLevelData().enemy_number));
            //创建船
            Action enemyShipCallBack = () =>
            {
                //开启敌舰自动攻击
                handler_Ship.OpenShipFireAutoForEnemy();
            };
            handler_Ship.CreateShip(CharacterTypeEnum.Player, 1, null);
            handler_Ship.CreateShip(CharacterTypeEnum.Enemy, GetGameLevelData().enemy_ship_id, enemyShipCallBack);
            //开启经验计算
            StartCoroutine(CoroutineForLevelProgress());
            break;

        case GameStatusEnum.GameEnd:
            //打开UI
            manager_UI.OpenUIAndCloseOther <UIGameEnd>(UIEnum.GameEnd);
            CleanGameData();
            break;
        }
    }
Exemplo n.º 21
0
 private void Start()
 {
     GameLoopManager.Instance.Managers += OnUpdate;
     _states = new Dictionary <GameStatusEnum, IGamesStates>();
     _states.Add(GameStatusEnum.PRELOAD, new PreloadState());
     _states.Add(GameStatusEnum.MENU, new MainMenuState());
     _states.Add(GameStatusEnum.LOADING, new LoadingState());
     _states.Add(GameStatusEnum.GAME, new GameState());
     _states.Add(GameStatusEnum.DEV, new DevState());
     _currentGameStatus = GameStatusEnum.PRELOAD;
     ChangeState(GameStatusEnum.GAME);
 }
Exemplo n.º 22
0
    // Start is called before the first frame update
    void Start()
    {
        gameManagerObject = GameObject.Find("GameManager");

        mainGameManagerScript = gameManagerObject.GetComponent <GameManagerMain>();

        gameStatusEnum = gameManagerObject.GetComponent <GameStatusEnum>();

        smoothMoveBodyScript = playerBody.GetComponent <SmoothMoveBody>();

        playerOnBoatScript = this.gameObject.GetComponent <PlayerOnBoat>();
    }
Exemplo n.º 23
0
    // Start is called before the first frame update
    void Start()
    {
        mainDataScript          = GameObject.Find("PlayerData").GetComponent <MainData>();
        gameStatusEnum          = GameObject.Find("GameManager").GetComponent <GameStatusEnum>();
        scoreCount              = GameObject.Find("GameManager").GetComponent <ScoreCount>();
        topScoreScript          = this.gameObject.GetComponent <UI_TopScore>();
        barrierStartSpawnScript = GameObject.Find("BarrierSpawnManager").GetComponent <BarrierStartSpawn>();

        startPlayerPosition = playerNextPosition.transform.position; //positionAt start

        touchInputScript = inputHolder.GetComponent <TouchInput>();

        mainGameManagerScript = this.gameObject.GetComponent <GameManagerMain>();
    }
Exemplo n.º 24
0
 private void Initialize()
 {
     totalScoreText.text = "Score = " + Scores.totalScore.ToString();
     if (Scores.totalScore == 0)
     {
         firstPanel.SetActive(true);
     }
     else
     {
         nextLevel.SetActive(true);
     }
     gameStatus     = GameStatusEnum.paused;
     Time.timeScale = 0f;
 }
Exemplo n.º 25
0
        public void ReStart()
        {
            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    Matrix._cells[i, j] = 0;
                }
            }

            GameStatue    = GameStatusEnum.Normal;
            Matrix._score = 0;
            _matrixHelper.AddNewTile();
            _matrixHelper.AddNewTile();
        }
Exemplo n.º 26
0
        public void ReStart()
        {
            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < 4; j++)
                {

                    Matrix._cells[i, j] = 0;
                }
            }

            GameStatue = GameStatusEnum.Normal;
            Matrix._score = 0;
            _matrixHelper.AddNewTile();
            _matrixHelper.AddNewTile();
        }
Exemplo n.º 27
0
        public async Task <bool> UpdateGameStatusAsync(string gameId, GameStatusEnum gameStatus)
        {
            var createResponse = await CosmosClient.CreateDatabaseIfNotExistsAsync(_DatabaseName, _DatabaseThroughput);

            var database = createResponse.Database;

            var containerProperties = new ContainerProperties(_GamesContainerName, _GamesContainerPartitionKeyPath);

            var containerResponse = await database.CreateContainerIfNotExistsAsync(
                containerProperties,
                _GamesContainerThroughput);

            var container = containerResponse.Container;

            var query = new QueryDefinition($"SELECT * FROM {_GamesContainerName} c WHERE c.game_id = @game_id")
                        .WithParameter("@game_id", gameId);

            var queryIterator = container.GetItemQueryIterator <Game>(query, requestOptions: new QueryRequestOptions()
            {
                MaxConcurrency = 1
            });

            Game game = null;

            while (queryIterator.HasMoreResults)
            {
                var response = await queryIterator.ReadNextAsync();

                game = response.FirstOrDefault();
            }

            if (game == null)
            {
                return(false);
            }

            game.State = gameStatus;

            var upsertItemResponse = await container.UpsertItemAsync(game, new PartitionKey(game.GameId));

            if (upsertItemResponse.StatusCode == HttpStatusCode.Created || upsertItemResponse.StatusCode == HttpStatusCode.OK)
            {
                return(true);
            }
            return(false);
        }
Exemplo n.º 28
0
    public void ChangeGameStatus(GameStatusEnum gameStatus)
    {
        if (currentGameStatusEnum == gameStatus)
        {
            Debug.LogWarning($"GameStatusStateMachine : Trying to set an already active {currentGameStatusEnum} GameStatusState!!");
            return;
        }

        if (currentGameStatusState != null)
        {
            PreviousGameStatusEnum = currentGameStatusEnum;
            currentGameStatusEnum  = gameStatus;
            currentGameStatusState.Exit();
        }
        Debug.Log($"Game Current State : {currentGameStatusEnum}");
        currentGameStatusState = GameStatusStatesFactory.GetGameState(gameStatus);
        currentGameStatusState.Enter();
    }
        private void FillBackground(Graphics graphics, GameStatusEnum gameStatus, int width, int height)
        {
            for (var i = 0; i < height / 16; i++)
            {
                for (var j = 0; j < width / 16; j++)
                {
                    var destRect =
                        new Rectangle(new Point(j * GameEntity.FormsSize * 2, i * GameEntity.FormsSize * 2),
                                      new Size(GameEntity.FormsSize * 2, GameEntity.FormsSize * 2));
                    var srcRect = new Rectangle(new Point(1 * 16, 1 * 16), new Size(16, 16));
                    graphics.DrawImage(MainSprites, destRect, srcRect, GraphicsUnit.Pixel);
                }
            }
            var semiTransBrush = gameStatus == GameStatusEnum.WinScreen
                ? new SolidBrush(Color.FromArgb(100, 4, 114, 77))
                : new SolidBrush(Color.FromArgb(100, 178, 13, 48));
            var rect = new Rectangle(0, 0, width, height);

            graphics.FillRectangle(semiTransBrush, rect);
        }
    public void UpdateStaus(GameStatusEnum newStatus)
    {
        if (currentStatus == newStatus)
        {
            return;
        }
        currentStatus = newStatus;
        switch (currentStatus)
        {
        case (GameStatusEnum.InLobbySearch):
            Destroy(currentStatusElementUI);
            currentStatusElementUI = Instantiate(UIStatusElements[0], this.transform);
            break;

        case (GameStatusEnum.InLobbyIddle):
            Destroy(currentStatusElementUI);
            // implement visual element (tank roaming around?) for iddle
            break;
        }
    }
Exemplo n.º 31
0
 public void TryMove(DirectionEnum directionEnum)
 {
     if (_matrixHelper.Move(directionEnum))
     {
         if (IsWin())
         {
             GameStatue = GameStatusEnum.Win;
         }
         else
         {
             _matrixHelper.AddNewTile();
         }
     }
     else
     {
         if (IsFailed())
         {
             GameStatue = GameStatusEnum.Failed;
         }
     }
 }
Exemplo n.º 32
0
    void Start()
    {
        scoreCountScript = this.gameObject.GetComponent <ScoreCount>();
        gameStatusEnum   = GameObject.Find("GameManager").GetComponent <GameStatusEnum>();

        //spawnRoadManager = GameObject.Find("SkinShell").GetComponent<SpawnRoadManager>();

        stepsToSpawn = BarrierValueHolder.barrierValueHolder.stepsToSpawn;

        stepDistance = GameObject.Find("PlayerNextPosition").GetComponent <PlayerMove>().stepDistance;

        barrierStartSpawnScript = GameObject.Find("SkinShell").GetComponent <BarrierStartSpawn>();

        //Debug.Log($"desitance to spawn = {stepsToSpawn}");

        playerNextPosition    = GameObject.Find("PlayerNextPosition");
        playerCurrentPosition = GameObject.Find("PlayerCurrentPosition");
        startPlayerPosition   = playerNextPosition.transform.position;

        mainDataScript = MainData.mainDataScript;
    }
Exemplo n.º 33
0
 public void TryMove(DirectionEnum directionEnum)
 {
     if (_matrixHelper.Move(directionEnum))
     {
         if (IsWin())
         {
             GameStatue = GameStatusEnum.Win;
         }
         else
         {
             _matrixHelper.AddNewTile();
         }
     }
     else
     {
         if (IsFailed())
         {
             GameStatue = GameStatusEnum.Failed;
         }
     }
 }
Exemplo n.º 34
0
 public GameStatus(GameStatusEnum status, int age)
 {
     CreationTime = DateTime.Now;
 }