/// <summary> /// チャレンジ状態にする /// </summary> public static void SetChallenge(int playerNumber) { if (_turn < 1) { return; } _sayChallengePlayerNumber = playerNumber; _gameModeType = GameModeTypes.SelectChallengeNumberMode; }
public void ChangeGameMode() { singlePlayerModeSelected = !singlePlayerModeSelected; if (singlePlayerModeSelected == true) { selectedGameMode = GameModeTypes.SinglePlayer; gameModeSelectedPlayerDisplayer.SinglePlayerSelected(); } else { selectedGameMode = GameModeTypes.TwoPlayer; gameModeSelectedPlayerDisplayer.TwoPlayerSelected(); } }
private void Initialize() { _turn = 0; _startUserNumber = _activeUserNumber; _timeToTurnAndTurn = 1f; _flowerChallengeNumber = 0; _challengePlayerNumber = -1; _openedCardsNumber = 0; _gameModeType = GameModeTypes.PushCardMode; _prevGameModeType = _gameModeType; bottomCard.SetActive(true); bottomChallenge.SetActive(false); bottomSelectField.SetActive(false); }
public void ChangeMatchMode(GameModeTypes gameMode) { switch (gameMode) { case GameModeTypes.SinglePlayer: { matchModeFactory.gameModeTypes = GameModeTypes.SinglePlayer; matchModeFactory.playSide = (GamePlaySide)playSideDropDown.value; matchModeFactory.gameDifficultyTypes = (GameDifficultyTypes)gameDifficultyDropDown.value; matchModeFactory.maxScoreToWin = Convert.ToInt32(maxScoreToWinDropDown.options[maxScoreToWinDropDown.value].text); } break; case GameModeTypes.TwoPlayer: { matchModeFactory.gameModeTypes = GameModeTypes.TwoPlayer; matchModeFactory.playSide = (GamePlaySide)playSideDropDown.value; matchModeFactory.maxScoreToWin = Convert.ToInt32(maxScoreToWinDropDown.options[maxScoreToWinDropDown.value].text); } break; } }
private void OnEnable() { selectedGameMode = GameModeTypes.SinglePlayer; gameModeSelectedPlayerDisplayer.SinglePlayerSelected(); }
private void Update() { switch (_gameModeType) { case GameModeTypes.PushCardMode: //ボタンの無効化有効化 if (_turn > 0) { challengeButton.interactable = _activeUserNumber == 0; } okButtonOnCards.interactable = (_activeUserNumber == 0) && (player.CardField.CardsCount < 4); if (_activeUserNumber != 0) { //CPUs if (_timeToTurnAndTurn <= 0f) { FindActiveCPU(_activeUserNumber)?.Thinking(_gameModeType); _timeToTurnAndTurn = 1f; } else if (_timeToTurnAndTurn >= 1f) { FindActiveCPU(_activeUserNumber)?.StartThinking(_gameModeType); _timeToTurnAndTurn -= Time.deltaTime; } else { _timeToTurnAndTurn -= Time.deltaTime; } } break; case GameModeTypes.SelectChallengeNumberMode: Debug.Log($"act:{_activeUserNumber}\nchallenge:{_challengePlayerNumber}"); if (_activeUserNumber == _challengePlayerNumber) { _gameModeType = GameModeTypes.SelectCardFromOtherPlayerMode; for (int i = 0; i < OverAllManager.PlayerNumber - 1; i++) { cpus[i].SetSelectThisButton(); } return; } if (_prevGameModeType != _gameModeType && _gameModeType == GameModeTypes.SelectChallengeNumberMode) { Challenge(); _prevGameModeType = _gameModeType; } //チャレンジした後の動作 //ボタンの無効化有効化 okButtonOnChallenge.interactable = (_activeUserNumber == 0); passButton.interactable = (_activeUserNumber == 0); challengeNumberSetSlider.interactable = (_activeUserNumber == 0); challengeNumberText.text = $"{challengeNumberSetSlider.value}枚"; if (_activeUserNumber != 0) { //CPUs if (_timeToTurnAndTurn <= 0f) { FindActiveCPU(_activeUserNumber).Thinking(_gameModeType); selectNumber.text = $"{_flowerChallengeNumber}枚"; SetSlider(1, _flowerChallengeNumber + 1, _maxFlowerChallengeNumber); _timeToTurnAndTurn = 1f; } else if (_timeToTurnAndTurn >= 1f) { FindActiveCPU(_activeUserNumber).StartThinking(_gameModeType); _timeToTurnAndTurn -= Time.deltaTime; } else { _timeToTurnAndTurn -= Time.deltaTime; } } break; case GameModeTypes.SelectCardFromOtherPlayerMode: //チャレンジ権利を持つプレイヤーに準場が回ってきた際 bottomChallenge.SetActive(false); bottomSelectField.SetActive(true); okButtonOnSelectCard.interactable = _activeUserNumber == 0; selectCardNumberText.text = $"{_openedCardsNumber} / {_flowerChallengeNumber}枚"; if (_activeUserNumber != 0) { //CPUs if (_timeToTurnAndTurn <= 0f) { Debug.Log("Enter Thinking"); Debug.Log($"ActiveNumber: {_activeUserNumber}"); Debug.Log($"ActiveUser: {FindActiveCPU(_activeUserNumber)}"); FindActiveCPU(_activeUserNumber)?.Thinking(_gameModeType); selectCardNumberText.text = $"{_openedCardsNumber} / {_flowerChallengeNumber}枚"; _timeToTurnAndTurn = 1f; player.ResetThis(); for (int i = 0; i < OverAllManager.PlayerNumber - 1; i++) { cpus[i].ResetThis(); } Initialize(); } else if (_timeToTurnAndTurn >= 1f) { FindActiveCPU(_activeUserNumber).StartThinking(_gameModeType); Debug.Log("Complete StartThinking"); _timeToTurnAndTurn -= Time.deltaTime; } else { Debug.Log("TimeMinus"); _timeToTurnAndTurn -= Time.deltaTime; } } else { if (player.IsClear || player.IsOut) { //スカルが出たか、ポイントを取ったら終了 player.ResetThis(); for (int i = 0; i < OverAllManager.PlayerNumber - 1; i++) { cpus[i].ResetThis(); } Initialize(); break; } player.OpenAllMyCards(); selectCardNumberText.text = $"{_openedCardsNumber} / {_flowerChallengeNumber}枚"; } break; } }