public void Connect()
 {
     gameManager = GetComponent <TicTacToeManager>();
     socket.Connect();
     startMessageText.text    = "상대를 기다리는 중입니다..";
     closeButton.interactable = true;
     // connectButton.gameObject.SetActive(false);
 }
Пример #2
0
    private IEnumerator Run()
    {
        // Select player 1 symbol
        SelectPlayerSymbol(0);
        yield return(new WaitForSeconds(GetSpeed()));

        // Select player 2 symbol
        SelectPlayerSymbol(1);
        yield return(new WaitForSeconds(GetSpeed()));

        // Select grid size
        Transform buttons = gridCanvas.transform.GetChild(0);

        buttons.GetChild((int)data.gridOptions).GetComponent <Button>().onClick.Invoke();
        yield return(new WaitForSeconds(GetSpeed()));

        // Continue
        buttons.GetChild(2).GetComponent <Button>().onClick.Invoke();

        // waiting for the board to be set
        while (waitingForTheBoard)
        {
            yield return(null);
        }

        // Alternate player turns until player wins
        gameManager = gameCanvas.transform.GetChild(2).GetComponent <TicTacToeManager>();
        buttons     = gameCanvas.transform.GetChild(2).GetChild(0);
        int runTime = sizeOfBoard * sizeOfBoard;

        for (int j = 0; j < runTime; ++j)
        {
            if (GameOver.gameIsOver)
            {
                break;
            }

            // player 1's turn
            if (gameManager.GetPlayerTurn() == 0)
            {
                int rng = Random.Range(0, playerOneTiles.Count);
                buttons.GetChild(playerOneTiles[rng]).GetComponent <Button>().onClick.Invoke();
                playerOneTiles.RemoveAt(rng);
            }
            else // player 2's turn
            {
                int rng = Random.Range(0, playerTwoTiles.Count);
                buttons.GetChild(playerTwoTiles[rng]).GetComponent <Button>().onClick.Invoke();
                playerTwoTiles.RemoveAt(rng);
            }
            yield return(new WaitForSeconds(GetSpeed()));
        }
    }
Пример #3
0
    private void Start()
    {
        GameObject so = GameObject.Find("SocketIO");

        socket = so.GetComponent <SocketIOComponent>();
        //TicTacToeManager 호출
        gameManager = GetComponent <TicTacToeManager>();

        socket.On("joinRoom", JoinRoom);
        socket.On("createRoom", CreateRoom);
        socket.On("startGame", StartGame);

        socket.On("doOpponent", DoOpponent);
        socket.On("exitRoom", ExitRoom);
        startPanel.gameObject.SetActive(true);
        closeButton.interactable = false;
    }
Пример #4
0
    void Awake()
    {
        Instance       = this;               //SINGLETON OBJECT
        Time.timeScale = 1.0f;
        CurrentTurn    = Random.Range(1, 3); //TURN RANDOMIZER

        if (PlayerPrefs.GetInt("IsAI") == 1) //AI OR PLAYER-2 CHECK
        {
            IsAI = true;
            Robot.gameObject.SetActive(true);
            ComputerLabel.gameObject.SetActive(true);
        }
        else
        {
            IsAI = false;
            Player2Label.gameObject.SetActive(true);
        }
        AssignMarkerImages();
    }
Пример #5
0
 public TicTacToeCommand(TicTacToeManager <char> manager, Dictionary <char, SquareState> translationDict)
 {
     Manager         = manager;
     TranslationDict = translationDict;
 }