예제 #1
0
    // Use this for initialization
    void Start()
    {
        Tile[] allTilesOneDim = transform.GetComponentsInChildren <Tile>();

        //Tile[] allTilesOneDim = GameObject.FindObjectsOfType<Tile>();
        //Debug.Log(allTilesOneDim.Length);
        foreach (Tile t in allTilesOneDim)
        {
            t.Number = 0;
            alltiles[t.indexRow, t.indexCol] = t;
            emptyTiles.Add(t);
        }

        columns.Add(new Tile[] { alltiles[0, 0], alltiles[1, 0], alltiles[2, 0], alltiles[3, 0] });
        columns.Add(new Tile[] { alltiles[0, 1], alltiles[1, 1], alltiles[2, 1], alltiles[3, 1] });
        columns.Add(new Tile[] { alltiles[0, 2], alltiles[1, 2], alltiles[2, 2], alltiles[3, 2] });
        columns.Add(new Tile[] { alltiles[0, 3], alltiles[1, 3], alltiles[2, 3], alltiles[3, 3] });

        rows.Add(new Tile[] { alltiles[0, 0], alltiles[0, 1], alltiles[0, 2], alltiles[0, 3] });
        rows.Add(new Tile[] { alltiles[1, 0], alltiles[1, 1], alltiles[1, 2], alltiles[1, 3] });
        rows.Add(new Tile[] { alltiles[2, 0], alltiles[2, 1], alltiles[2, 2], alltiles[2, 3] });
        rows.Add(new Tile[] { alltiles[3, 0], alltiles[3, 1], alltiles[3, 2], alltiles[3, 3] });

        //Creat two tiles
        Generate();
        Generate();

        //Make connection to GameOverChecker
        gameOverChecker = transform.GetChild(1).GetComponent <GameOverChecker>();
        gameOverChecker.transform.gameObject.SetActive(false);
        //gameOverChecker.gameManager = this;
    }
예제 #2
0
    // Use this for initialization
    void Start()
    {
        onCostPage = false;
        //load tutorial things
        inTutorial = true;
        foreach (Image i in TutorialPages)
        {
            i.gameObject.SetActive(false);
        }
        //TutorialPages[0].gameObject.SetActive(true);
        //currPage = 0;
        //look for transition manager
        if (transitionManager == null)
        {
            transitionManager = FindObjectOfType <LevelTransition>();
        }
        //look for player info
        if (playerInfo == null)
        {
            playerInfo = FindObjectOfType <PlayerInfo>();
            playerInfo.foodCostPerDay  = foodCostPerDay;
            playerInfo.houseCostPerDay = houseCostPerDay;
            playerInfo.taxCostPerDay   = taxCostPerDay;
        }
        //look for game over checker
        if (gameOverCheck == null)
        {
            gameOverCheck = FindObjectOfType <GameOverChecker>();
        }

        // Reset all newspaper objects
        leftLongBody.SetActive(false);
        leftShortBody.SetActive(false);
        leftImageObj.SetActive(false);
        rightLongBody.SetActive(false);
        rightShortBody.SetActive(false);
        rightImageObj.SetActive(false);
        newspaperCanvas.SetActive(false);

        // Reset all email objects
        emailCanvas.SetActive(false);

        // Start with newspaper if there is one
        if (todaysNewspaper != "null")
        {
            currentGameState = GameState.Newspaper;
            ParseNewspaperFile();
            UpdateNewspaperObjects();
            // Show newspaper
            newspaperCanvas.SetActive(true);
        }

        // Prepare email
        if (todaysEmail != "null")
        {
            ParseEmailFile();
            UpdateEmailObjects();
        }
    }
 public TurnManager(Direction direction, Board board, IUpdater updater, TileAdder adder, GameOverChecker gameOverChecker, Tracker tracker, DecisionTreeModel model)
 {
     this.GameBoard       = board;
     this.Swiper          = direction;
     this.Updater         = updater;
     this.Adder           = adder;
     this.GameOverChecker = gameOverChecker;
     this.Tracker         = tracker;
     this.Model           = model;
 }
 static void Train(DecisionTreeModel model = null)
 {
     for (int i = 0; i <= 100; i++)
     {
         Board           board     = new Board();
         Direction       direction = new Direction();
         TileAdder       adder     = new TileAdder(board);
         IUpdater        updater   = new Updater(board, direction, adder);
         GameOverChecker checker   = new GameOverChecker(board, direction, updater);
         Tracker         tracker   = new Tracker(15);
         TurnManager     manager   = new TurnManager(direction, board, updater, adder, checker, tracker, model);
         manager.Play();
         Uploader uploader = new Uploader();
         uploader.Upload(manager.GetTracker().GetTrainData());
     }
 }
예제 #5
0
        private void Clear()
        {
            if (GameOverChecker != null)
            {
                GameOverChecker.Clear();
                GameOverChecker = null;
            }

            if (WinChecker != null)
            {
                WinChecker.Clear();
                WinChecker = null;
            }

            CellsField.Clear();
            App.Instance.WindowManager.CloseAll();
        }
예제 #6
0
    // Update is called once per frame
    void Update()
    {
        if (transitionManager == null)
        {
            transitionManager = FindObjectOfType <LevelTransition>();
        }
        //look for game over checker
        if (gameOverCheck == null)
        {
            gameOverCheck = FindObjectOfType <GameOverChecker>();
        }
        //look for player info
        if (playerInfo == null)
        {
            playerInfo = FindObjectOfType <PlayerInfo>();
        }
        if (inTutorial)
        {
        }
        if (inCostTutorial)
        {
        }
        if (onCostPage)
        {
            TotalField.text     = playerInfo.currMoney.ToString();
            foodCostField.text  = playerInfo.foodCostPerDay.ToString();
            houseCostField.text = playerInfo.houseCostPerDay.ToString();
            TaxCostField.text   = playerInfo.taxCostPerDay.ToString();
        }

        // Check for mouse click to advance newspaper / email
        if (Input.GetMouseButtonDown(0))
        {
            if (currentGameState == GameState.Newspaper)
            {
                // Hide newspaper
                newspaperCanvas.SetActive(false);

                // Advance to email if there is one
                if (todaysEmail != "null")
                {
                    currentGameState = GameState.Email;
                    emailCanvas.SetActive(true);
                }

                // Otherwise, proceed to in-game state
                else
                {
                    currentGameState = GameState.Game;
                }
            }

            else if (currentGameState == GameState.Email)
            {
                // Hide email
                emailCanvas.SetActive(false);

                // Proceed to in-game state
                currentGameState = GameState.Game;
            }
        }
    }
예제 #7
0
 private void Awake()
 {
     instance = this;
     resultPopUp.SetActive(false);
 }