コード例 #1
0
    void PrintBag()
    {
        string output = "";

        for (int i = 0; i < tiles.Length; i++)
        {
            if (tiles[i] != null)
            {
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    output += letter.GetLetter();
                }
                else
                {
                    output += ',';
                }
            }
            else
            {
                output += "null";
            }
        }
        Debug.Log(output);
    }
コード例 #2
0
        private void PopulateBlockList(GameContent gameContent)
        {
            BlockList  = new List <Block>();
            HiddenList = new List <Block>();
            LetterValue letterValue = new LetterValue(gameContent);

            Block      block;
            int        xcord            = XCORD;
            int        ycord            = YCORD;
            List <int> randomSelectList = Randomize();

            for (int ii = 0; ii < 12; ii++)
            {
                block = new Block(xcord, ycord, letterValue.LetterValueList[randomSelectList[ii]].Value,
                                  letterValue.LetterValueList[randomSelectList[ii]].Sprite, spriteBatch, gameContent);
                block.HitBox = new Rectangle(xcord, ycord, 128, 128);
                BlockList.Add(block);

                block = new Block(xcord, ycord, letterValue.LetterValueList[randomSelectList[ii]].Value,
                                  gameContent.question, spriteBatch, gameContent);
                block.HitBox = new Rectangle(xcord, ycord, 128, 128);
                HiddenList.Add(block);

                xcord += BSIZE + GAP;

                if (ii == ROW || ii == (ROW * 2) + 1 || ii == (ROW * 3) + 2)
                {
                    ycord += BSIZE + GAP;
                    xcord  = XCORD;
                }
            }
        }
コード例 #3
0
    //returns the tile with a specific letter value
    //returns null if all such tiles are used up
    public GameObject DealSpecificTile(char letter)
    {
        int index = 150;         //arbitrary large value

        //find the tile
        for (int i = 0; i < tiles.Length; i++)
        {
            if (tiles[i] != null)
            {
                LetterValue letterVal = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letterVal != null)
                {
                    if (letterVal.GetLetter() == letter)
                    {
                        index = i;
                    }
                }
            }
        }
        //if a matching tile was found
        if (index != 150)
        {
            GameObject tile = tiles[index];
            tiles[index] = null;
            PrintBag();
            bagCount--;
            return(tile);
        }
        else
        {
            return(null);
        }
    }
コード例 #4
0
        public void Hint()
        {
            int  hintIndex    = -1;
            int  replaceIndex = -1;
            bool fromEmpty    = false;

            for (int ii = 0; ii < EmptyList.Count; ii++)
            {
                if (EmptyList[ii].Value != WinCheck[ii].Value || EmptyList[ii].IsEmptyBlock)
                {
                    hintIndex = ii;
                    ii        = EmptyList.Count;
                }
            }
            if (hintIndex != -1)
            {
                LetterValue hintValue = WinCheck[hintIndex];
                for (int ii = 0; ii < BlockList.Count; ii++)
                {
                    if (BlockList[ii].Value == hintValue.Value)
                    {
                        replaceIndex = ii;
                        ii           = BlockList.Count;
                    }
                }
                if (replaceIndex == -1)
                {
                    for (int ii = 0; ii < EmptyList.Count; ii++)
                    {
                        if (EmptyList[ii].Value == hintValue.Value)
                        {
                            replaceIndex = ii;
                            ii           = EmptyList.Count;
                            fromEmpty    = true;
                        }
                    }
                }
            }
            if (hintIndex != -1 && replaceIndex != -1)
            {
                if (fromEmpty)
                {
                    EmptyList[replaceIndex].IsSelected = true;
                    EmptyList[hintIndex].IsSelected    = true;
                    MoveHighlightedBlock(EmptyList[replaceIndex].HitBox);
                }
                else
                {
                    BlockList[replaceIndex].IsSelected = true;
                    EmptyList[hintIndex].IsSelected    = true;
                    MoveHighlightedBlock(BlockList[replaceIndex].HitBox);
                }
                UsedHint = true;
            }
        }
コード例 #5
0
    /*Prints letters in player's hand to console*/
    void PrintHand()
    {
        string output = "PlayerHand: ";

        for (int i = 0; i < hand.Length; i++)
        {
            LetterValue letter = hand[i].GetComponent(typeof(LetterValue)) as LetterValue;
            if (letter != null)
            {
                output += letter.GetLetter();
            }
            else
            {
                output += ',';
            }
        }
        //Debug.Log(output);
    }
コード例 #6
0
    /*Checks board that player is using*/
    public void CheckBoard()
    {
        char[,] boardLetters = new char[16, 25];
        int totalLetters = 0;

        //ask each cell if it has a child, if so get the letter
        for (int i = 0; i < 16; i++)
        {
            for (int j = 0; j < 25; j++)
            {
                //Debug.Log("Index: " + cells[i,j].transform.GetSiblingIndex());
                //if the cell has a child
                if (cells[i, j].transform.childCount > 0)
                {
                    GameObject child = cells[i, j].transform.GetChild(0).gameObject;
                    //get letter
                    LetterValue letterObj = child.GetComponent(typeof(LetterValue)) as LetterValue;
                    if (letterObj != null)
                    {
                        boardLetters[i, j] = letterObj.GetLetter();
                        totalLetters++;
                    }
                    else
                    {
                        boardLetters[i, j] = ' ';
                    }
                }
                else
                {
                    boardLetters[i, j] = ' ';
                }
            }
        }

        //if not all letters were played
        if (totalLetters < hand.Length)
        {
            Debug.Log("Not all tiles were played.");
            modalPanel.Choice("You must play all tiles.", okayErrorAction);
        }
        else
        {
            //check board
            int error = boardChecker.CheckBoard(boardLetters, 16, 25);
            Debug.Log("BoardChecker returned: " + error);
            //if board is all good
            if (error == 0)
            {
                Debug.Log("Bag count: " + tileDistributor.GetBagCount());
                if (tileDistributor.GetBagCount() <= 1)
                {
                    Debug.Log("You win!");
                    modalPanel.Choice("You win!\nYou have used all tiles.", okayErrorAction);
                }
                else
                {
                    modalPanel.Choice("Good job! Here's another tile!", dealOneTileAction);
                }
            }
            //disconnected tile
            else if (error == 1)
            {
                modalPanel.Choice("It looks like you have a disconnected word!", okayErrorAction);
            }
            //wrong word
            else if (error == 2)
            {
                modalPanel.Choice("Oops...you misspelled a word.", okayErrorAction);
            }
        }
        Print2DArray(boardLetters);
    }
コード例 #7
0
        public void CreateGame(SpriteBatch spriteBatch, GameContent gameContent, GameState state)
        {
            Skip     = false;
            IsWinner = false;
            UsedHint = false;

            switch (state)
            {
            case GameState.SpellingBlocksNature:
                CategoryIndex = 0;
                break;

            case GameState.SpellingBlocksAnimals:
                CategoryIndex = 1;
                break;

            case GameState.SpellingBlocksMachines:
                CategoryIndex = 2;
                break;
            }

            BlockList    = new List <Block>();
            EmptyList    = new List <Block>();
            LetterValues = new LetterValue(gameContent);
            WinCheck     = new List <LetterValue>();
            AllWords     = new Words(gameContent);
            Random random = new Random();

            CurrentWordIndex = random.Next(0, WORD_COUNT);

            List <LetterValue> wordPreBlocks = new List <LetterValue>();

            for (int ii = 0; ii < AllWords.WordsLists[CategoryIndex][CurrentWordIndex].Value.Count(); ii++)
            {
                wordPreBlocks.Add(AllWords.WordsLists[CategoryIndex][CurrentWordIndex].Value[ii]);
                WinCheck.Add(AllWords.WordsLists[CategoryIndex][CurrentWordIndex].Value[ii]);
            }

            while (wordPreBlocks.Count < BLOCK_COUNT)
            {
                wordPreBlocks.Add(LetterValues.LetterValueList[random.Next(0, ALPHABET)]);
            }
            Randomize(wordPreBlocks);

            int blockPosX = 112; //remove this ?
            int blockPosY = 480;

            Block block;

            for (int ii = 0; ii < wordPreBlocks.Count; ii++)
            {
                block = new Block(blockPosX, blockPosY, wordPreBlocks[ii].Value, wordPreBlocks[ii].Sprite, spriteBatch, gameContent);
                BlockList.Add(block);
                blockPosX += 64 + 16;
            }
            blockPosX = GetBlockPositionX(AllWords.WordsLists[CategoryIndex][CurrentWordIndex].Value.Count());
            blockPosY = 384;

            for (int ii = 0; ii < AllWords.WordsLists[CategoryIndex][CurrentWordIndex].Value.Count(); ii++)
            {
                block = new Block(blockPosX, blockPosY, '0', gameContent.emptySprite, spriteBatch, gameContent)
                {
                    IsEmptyBlock = true
                };
                EmptyList.Add(block);
                blockPosX += 64 + 16;
            }
        }
コード例 #8
0
    // Use this for initialization
    void Awake()
    {
        Debug.Log("running");
        for (int i = 0; i < 144; i++)
        {
            Debug.Log(i);
            Instantiate(tilePrefab, new Vector3(100, 100, 0), Quaternion.identity);
        }

        //load sprites
        sprites = Resources.LoadAll <Sprite>("Letters");           //not working
        Debug.Log("size of sprites: " + sprites.Length);           //returns 0

        //add all tiles to array
        tiles = GameObject.FindGameObjectsWithTag("Tile");

        Debug.Log(tiles.Length);

        if (tiles != null)
        {
            //A
            for (int i = 0; i < 13; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[1];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('A');
                }
                spriteR.sortingLayerName = "Tiles";
                spriteR.sortingOrder     = 10;
            }
            //B
            for (int i = 13; i < 16; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[2];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('B');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //C
            for (int i = 16; i < 19; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[3];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('C');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //D
            for (int i = 19; i < 25; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[4];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('D');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //E
            for (int i = 25; i < 43; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[5];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('E');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //F
            for (int i = 43; i < 46; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[6];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('F');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //G
            for (int i = 46; i < 50; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[7];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('G');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //H
            for (int i = 50; i < 53; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[8];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('H');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //I
            for (int i = 53; i < 65; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[9];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('I');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //J
            for (int i = 65; i < 67; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[10];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('J');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //K
            for (int i = 67; i < 69; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[11];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('K');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //L
            for (int i = 69; i < 74; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[12];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('L');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //M
            for (int i = 74; i < 77; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[13];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('M');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //N
            for (int i = 77; i < 85; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[14];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('N');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //O
            for (int i = 85; i < 96; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[15];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('O');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //P
            for (int i = 96; i < 99; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[16];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('P');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //Q
            for (int i = 99; i < 101; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[17];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('Q');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //R
            for (int i = 101; i < 110; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[18];
                Debug.Log(i);
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('R');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //S
            for (int i = 110; i < 116; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[19];
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('S');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //T
            for (int i = 116; i < 125; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[20];
                Debug.Log(i);
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('T');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //U
            for (int i = 125; i < 131; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[21];
                Debug.Log(i);
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('U');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //V
            for (int i = 131; i < 134; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[22];
                Debug.Log(i);
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('V');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //W
            for (int i = 134; i < 137; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[23];
                Debug.Log(i);
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('W');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //X
            for (int i = 137; i < 139; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[24];
                Debug.Log(i);
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('X');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //Y
            for (int i = 139; i < 142; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[25];
                Debug.Log(i);
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('Y');
                }
                spriteR.sortingLayerName = "Tiles";
            }
            //Z
            for (int i = 142; i < 144; i++)
            {
                spriteR        = tiles[i].GetComponent <SpriteRenderer>();
                spriteR.sprite = sprites[26];
                Debug.Log(i);
                LetterValue letter = tiles[i].GetComponent(typeof(LetterValue)) as LetterValue;
                if (letter != null)
                {
                    letter.SetLetter('Z');
                }
                spriteR.sortingLayerName = "Tiles";
            }
        }
        else
        {
            Debug.Log("null");
        }
        PrintBag();
    }
コード例 #9
0
ファイル: LetterValue.cs プロジェクト: Grace-H/picklepieces2
 // Use this for initialization
 void Awake()
 {
     Instance = this;
 }