コード例 #1
0
ファイル: GameState.cs プロジェクト: korgan00/dr-qubit
    private void Start()
    {
        _gatesList = GetComponent <QuGatesList>();
        _currentMovementColdDown = movementColdDown;
        SpawnNextQubit();
        _board        = new IBit[8, 16];
        _initialBoard = _initialStateGenerator.getInitialBoard(_boardSize);

        for (int i = 0; i < _boardSize.x; i++)
        {
            for (int j = 0; j < _boardSize.y; j++)
            {
                if (_initialBoard[i, j] != null)
                {
                    ClassicBit cBit = Instantiate(_instanciableClassicBit, _spawnPoint.position, _spawnPoint.rotation);
                    cBit.value = _initialBoard[i, j].value;
                    cBit.transform.position = cBit.transform.position + (Vector3.right * i);
                    cBit.transform.position = cBit.transform.position - (Vector3.up * (_boardSize.y - j));
                    _board[i, j]            = cBit;
                }
            }
        }


        winCanvas.gameObject.SetActive(false);
    }
コード例 #2
0
    public ClassicBit[,] getInitialBoard(Vector2Int boardSize)
    {
        ClassicBit[,] board = new ClassicBit[boardSize.x, boardSize.y];
        rnd = new Random();

        for (int i = 0; i < numClassicBits; i++)
        {
            Vector2Int randomCoord = calculateRandomCoord(boardSize);

            while (board[randomCoord.x, randomCoord.y] != null)
            {
                randomCoord = calculateRandomCoord(boardSize);
            }

            board[randomCoord.x, randomCoord.y]       = new GameObject().AddComponent <ClassicBit>();
            board[randomCoord.x, randomCoord.y].value = rnd.Next(0, 2) == 1;
        }

        return(board);
    }
コード例 #3
0
 private void Start()
 {
     classicBit = GetComponent <ClassicBit>();
 }