Beispiel #1
0
    public void SelectManipulationCard(int number)
    {
        selectedManipulationCard = players[currentPlayer].avlManipulationCards[number];

        if (players[currentPlayer].avlManipulationCards[number].getCardName() == ManipulationCard.ManipulationCardName.KolegaWKomitecie)
        {
            players[currentPlayer].avlManipulationCards[number].PlayCard();
        }
    }
Beispiel #2
0
    public void PlayManipulationCard()
    {
        playedManipulationCard   = selectedManipulationCard;
        isManipulationCardPlayed = true;

        if (playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.KolegaWKomitecie)
        {
            //pokaż na 3 sekundy 2 pierwsze karty dostaw
        }
    }
Beispiel #3
0
 public void FoldManipulationCard()
 {
     if (phase == Phase.Manipulations)
     {
         selectedManipulationCard = null;
         playedManipulationCard   = null;
         isManipulationCardPlayed = false;
         players[currentPlayer].ToFold();
         EndOfTurn();
     }
 }
Beispiel #4
0
 public void GetNextPlayer()
 {
     isPawnSelected           = false;
     isManipulationCardPlayed = false;
     selectedManipulationCard = null;
     currentPlayer            = (currentPlayer + 1) % numberOfPlayers;
     uiManager.UpdatePlayer(currentPlayer);
     uiManager.UpdateShoppingList(players[currentPlayer].shoppinglist.image);
     if (phase == Phase.Manipulations)
     {
         uiManager.UpdateManipulationCards();
     }
 }
Beispiel #5
0
    public void PlayManipulationCard(ManipulationCard manipulationCard)
    {
        //manipulationCard.PlayCard();

        for (int i = 0; i < this.manipulationCards.Count; i++)  //usuwanie karty z listy
        {
            if ((int)this.manipulationCards[i].getCardName() == (int)manipulationCard.getCardName())
            {
                this.manipulationCards.RemoveAt(i);
            }
        }

        for (int i = 0; i < this.avlManipulationCards.Count; i++)   //usuwanie karty z dostępnej trójki
        {
            if ((int)this.avlManipulationCards[i].getCardName() == (int)manipulationCard.getCardName())
            {
                this.avlManipulationCards.RemoveAt(i);
            }
        }
    }
Beispiel #6
0
    public void SelectPawn(string pawnName, Player pawnPlayer)
    {
        int  pawnNumber = 0;
        bool isVendor   = false;

        int[] tmpPawn = new int[2];

        if (pawnName == "Pawn 0")
        {
            pawnNumber = 0;
        }
        else if (pawnName == "Pawn 1")
        {
            pawnNumber = 1;
        }
        else if (pawnName == "Pawn 2")
        {
            pawnNumber = 2;
        }
        else if (pawnName == "Pawn 3")
        {
            pawnNumber = 3;
        }
        else if (pawnName == "Pawn 4")
        {
            pawnNumber = 4;
        }
        else
        {
            isVendor = true;
            if (pawnName == "Newsstand Vendor")
            {
                pawnNumber = 0;
            }
            else if (pawnName == "Grocery Vendor")
            {
                pawnNumber = 1;
            }
            else if (pawnName == "Electronic Vendor")
            {
                pawnNumber = 2;
            }
            else if (pawnName == "Furniture Vendor")
            {
                pawnNumber = 3;
            }
            else if (pawnName == "Clothing Vendor")
            {
                pawnNumber = 4;
            }
        }

        if (isVendor)
        {
            tmpPawn[0] = 9;
            tmpPawn[1] = pawnNumber;
        }
        else
        {
            tmpPawn[0] = pawnPlayer.numberOfPlayer;
        }
        tmpPawn[1] = pawnNumber;

        if (isManipulationCardPlayed == true && playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.KrytykaWladzy)
        {
            int tmpQue   = 0;
            int tmpField = 0;

            for (int i = 0; i < 5; i++)
            {
                int j = 0;
                foreach (int[] pawn in pawnOwners[i])
                {
                    if (pawn[0] == pawnPlayer.numberOfPlayer && pawn[1] == pawnNumber)
                    {
                        tmpQue   = i;
                        tmpField = j;
                    }
                    j++;
                }
            }

            List <GameObject> tmpFieldsQueue = fieldsDictionary[tmpQue];

            List <int[]> tmpQueueList = new List <int[]>();
            foreach (int[] pawn in pawnOwners[tmpQue])
            {
                tmpQueueList.Add(pawn);
            }

            pawnOwners[tmpQue].Clear();

            int k = 0;
            foreach (int[] pawn in tmpQueueList)
            {
                if (k < tmpField)
                {
                    pawnOwners[tmpQue].Add(pawn);
                }
                else
                {
                    break;
                }
                k++;
            }

            for (; k < (tmpField + 2) && k < tmpQueueList.Count; k++)
            {
                pawnOwners[tmpQue].Add(tmpQueueList[k + 1]);
                int[] tmp = tmpQueueList[k + 1];

                if (tmp[0] != 9)
                {
                    MovePawn(players[tmp[0]].pawns[tmp[1]], tmpFieldsQueue[k]);
                }
                else
                {
                    MovePawn(blackPawns[tmp[1]], tmpFieldsQueue[k]);
                }
            }

            pawnOwners[tmpQue].Add(tmpPawn);
            if (tmpPawn[0] != 9)
            {
                MovePawn(players[tmpPawn[0]].pawns[tmpPawn[1]], tmpFieldsQueue[k]);
            }
            else
            {
                MovePawn(blackPawns[tmpPawn[1]], tmpFieldsQueue[k]);
            }

            for (k++; k < tmpQueueList.Count; k++)
            {
                pawnOwners[tmpQue].Add(tmpQueueList[k]);
                int[] tmp = tmpQueueList[k];
                if (tmp[0] != 9)
                {
                    MovePawn(players[tmp[0]].pawns[tmp[1]], tmpFieldsQueue[k]);
                }
                else
                {
                    MovePawn(blackPawns[tmp[1]], tmpFieldsQueue[k]);
                }
            }

            players[currentPlayer].PlayManipulationCard(playedManipulationCard);
            selectedManipulationCard = null;
            playedManipulationCard   = null;

            EndOfTurn();
        }
        else if (isManipulationCardPlayed == true && playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.MatkaZDzieckiem)
        {
            int tmpQue   = 0;
            int tmpField = 0;

            for (int i = 0; i < 5; i++)
            {
                int j = 0;
                foreach (int[] pawn in pawnOwners[i])
                {
                    if (pawn[0] == pawnPlayer.numberOfPlayer && pawn[1] == pawnNumber)
                    {
                        tmpQue   = i;
                        tmpField = j;
                    }
                    j++;
                }
            }

            List <GameObject> tmpFieldsQueue = fieldsDictionary[tmpQue];

            List <int[]> tmpQueueList = new List <int[]>();
            foreach (int[] pawn in pawnOwners[tmpQue])
            {
                tmpQueueList.Add(pawn);
            }

            pawnOwners[tmpQue].Clear();

            int k = 0;

            pawnOwners[tmpQue].Add(tmpPawn);
            if (tmpPawn[0] != 9)
            {
                MovePawn(players[tmpPawn[0]].pawns[tmpPawn[1]], tmpFieldsQueue[k]);
            }
            else
            {
                MovePawn(blackPawns[tmpPawn[1]], tmpFieldsQueue[k]);
            }

            for (k++; k <= tmpField && k < tmpQueueList.Count; k++)
            {
                pawnOwners[tmpQue].Add(tmpQueueList[k - 1]);
                int[] tmp = tmpQueueList[k - 1];

                if (tmp[0] != 9)
                {
                    MovePawn(players[tmp[0]].pawns[tmp[1]], tmpFieldsQueue[k]);
                }
                else
                {
                    MovePawn(blackPawns[tmp[1]], tmpFieldsQueue[k]);
                }
            }

            for (; k < tmpQueueList.Count; k++)
            {
                pawnOwners[tmpQue].Add(tmpQueueList[k]);
                int[] tmp = tmpQueueList[k];

                if (tmp[0] != 9)
                {
                    MovePawn(players[tmp[0]].pawns[tmp[1]], tmpFieldsQueue[k]);
                }
                else
                {
                    MovePawn(blackPawns[tmp[1]], tmpFieldsQueue[k]);
                }
            }

            players[currentPlayer].PlayManipulationCard(playedManipulationCard);
            selectedManipulationCard = null;
            playedManipulationCard   = null;

            EndOfTurn();
        }
        else if (isManipulationCardPlayed == true && playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.PanTuNieStal)
        {
            int tmpQue   = 0;
            int tmpField = 0;

            for (int i = 0; i < 5; i++)
            {
                int j = 0;
                foreach (int[] pawn in pawnOwners[i])
                {
                    if (pawn[0] == pawnPlayer.numberOfPlayer && pawn[1] == pawnNumber)
                    {
                        tmpQue   = i;
                        tmpField = j;
                    }
                    j++;
                }
            }

            if (tmpField > 0)
            {
                List <int[]> tmpPawnQueue  = pawnOwners[tmpQue];
                int[]        tmpCloserPawn = new int[2];
                tmpCloserPawn = tmpPawnQueue[tmpField - 1];
                List <GameObject> tmpFieldsQueue = fieldsDictionary[tmpQue];

                if (isVendor)
                {
                    if (tmpCloserPawn[0] == 9)
                    {
                        MovePawn(blackPawns[tmpPawn[1]], tmpFieldsQueue[tmpField - 1]);
                        MovePawn(blackPawns[tmpCloserPawn[1]], tmpFieldsQueue[tmpField]);
                    }
                    else
                    {
                        MovePawn(blackPawns[tmpPawn[1]], tmpFieldsQueue[tmpField - 1]);
                        MovePawn(players[tmpCloserPawn[0]].pawns[tmpCloserPawn[1]], tmpFieldsQueue[tmpField]);
                    }
                }
                else
                {
                    if (tmpCloserPawn[0] == 9)
                    {
                        MovePawn(players[tmpPawn[0]].pawns[tmpPawn[1]], tmpFieldsQueue[tmpField - 1]);
                        MovePawn(blackPawns[tmpCloserPawn[1]], tmpFieldsQueue[tmpField]);
                    }
                    else
                    {
                        MovePawn(players[tmpPawn[0]].pawns[tmpPawn[1]], tmpFieldsQueue[tmpField - 1]);
                        MovePawn(players[tmpCloserPawn[0]].pawns[tmpCloserPawn[1]], tmpFieldsQueue[tmpField]);
                    }
                }

                pawnOwners[tmpQue].RemoveAt(tmpField);
                pawnOwners[tmpQue].RemoveAt(tmpField - 1);

                pawnOwners[tmpQue].Insert(tmpField - 1, tmpPawn);
                pawnOwners[tmpQue].Insert(tmpField, tmpCloserPawn);


                players[currentPlayer].PlayManipulationCard(playedManipulationCard);
                selectedManipulationCard = null;
                playedManipulationCard   = null;

                EndOfTurn();
            }
        }
        else if (isManipulationCardPlayed == true && playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.SzczesliwyTraf)
        {
            selectedPawn       = tmpPawn;
            selectedPawnPlayer = pawnPlayer;
            isPawnSelected     = true;
        }
    }
Beispiel #7
0
    public void SelectQueue(QueueManager queueManager)
    {
        string queue = queueManager.name;
        int    tmpQue;

        if (queue == "Newsstand Queue")
        {
            tmpQue = 0;
        }
        else if (queue == "Grocery Queue")
        {
            tmpQue = 1;
        }
        else if (queue == "Electronic Queue")
        {
            tmpQue = 2;
        }
        else if (queue == "Furniture Queue")
        {
            tmpQue = 3;
        }
        else if (queue == "Clothing Queue")
        {
            tmpQue = 4;
        }
        else //if(myQueue.name == "Bazaar Queue")
        {
            tmpQue = 5;
        }

        if (isManipulationCardPlayed == true && playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.ListaSpoleczna)
        {
            List <int[]> tmpQueueList = new List <int[]>();
            foreach (int[] pawn in pawnOwners[tmpQue])
            {
                tmpQueueList.Add(pawn);
            }
            tmpQueueList.Reverse();
            pawnOwners[tmpQue].Clear();

            int i = 0;
            foreach (GameObject field in fieldsDictionary[tmpQue])
            {
                int[] tmpPawn = tmpQueueList[i];

                if (tmpPawn[0] != 9)
                {
                    MovePawn(players[tmpPawn[0]].pawns[tmpPawn[1]], field);
                }
                else
                {
                    MovePawn(blackPawns[tmpPawn[1]], field);
                }

                pawnOwners[tmpQue].Add(tmpPawn);
                i++;
            }

            players[currentPlayer].PlayManipulationCard(playedManipulationCard);
            selectedManipulationCard = null;
            playedManipulationCard   = null;

            EndOfTurn();
        }
        else if (playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.SzczesliwyTraf && isPawnSelected == true)
        {
            int tmpPawnQue   = 0;
            int tmpPawnField = 0;

            for (int i = 0; i < 5; i++)
            {
                int j = 0;
                foreach (int[] pawn in pawnOwners[i])
                {
                    if (pawn[0] == selectedPawnPlayer.numberOfPlayer && pawn[1] == selectedPawn[1])
                    {
                        tmpPawnQue   = i;
                        tmpPawnField = j;
                    }
                    j++;
                }
            }

            //dodanie pionka do innej kolejki
            pawnOwners[tmpQue].Insert(1, selectedPawn);
            for (int i = 1; i < (pawnOwners[tmpQue].Count - 1); i++)
            {
                if (pawnOwners[tmpQue][i][0] == 9)
                {
                    MovePawn(blackPawns[pawnOwners[tmpQue][i][1]], fieldsDictionary[tmpQue][i]);
                }
                else
                {
                    MovePawn(players[pawnOwners[tmpQue][i][0]].pawns[pawnOwners[tmpQue][i][1]], fieldsDictionary[tmpQue][i]);
                }
            }

            GameObject freeField = queueManager.getFreeField();

            if (freeField != null)
            {
                fieldsDictionary[tmpQue].Add(freeField);
                if (pawnOwners[tmpQue][pawnOwners[tmpQue].Count - 1][0] == 9)
                {
                    MovePawn(blackPawns[pawnOwners[tmpQue][pawnOwners[tmpQue].Count - 1][1]], fieldsDictionary[tmpQue][pawnOwners[tmpQue].Count - 1]);
                }
                else
                {
                    MovePawn(players[pawnOwners[tmpQue][pawnOwners[tmpQue].Count - 1][0]].pawns[pawnOwners[tmpQue][pawnOwners[tmpQue].Count - 1][1]], fieldsDictionary[tmpQue][pawnOwners[tmpQue].Count - 1]);
                }
            }
            else
            {
                pawnOwners[tmpQue].RemoveAt(pawnOwners[tmpQue].Count - 1);
            }

            //usuniecie pionka
            pawnOwners[tmpPawnQue].RemoveAt(tmpPawnField);
            fieldsDictionary[tmpPawnQue].RemoveAt(fieldsDictionary[tmpPawnQue].Count - 1);

            for (int i = tmpPawnField; i < pawnOwners[tmpPawnQue].Count; i++)
            {
                if (pawnOwners[tmpPawnQue][i][0] == 9)
                {
                    MovePawn(blackPawns[pawnOwners[tmpPawnQue][i][1]], fieldsDictionary[tmpPawnQue][i]);
                }
                else
                {
                    MovePawn(players[pawnOwners[tmpPawnQue][i][0]].pawns[pawnOwners[tmpPawnQue][i][1]], fieldsDictionary[tmpPawnQue][i]);
                }
            }

            //koniec

            players[currentPlayer].PlayManipulationCard(playedManipulationCard);
            selectedManipulationCard = null;
            playedManipulationCard   = null;

            EndOfTurn();
        }
    }