Esempio n. 1
0
    //comprueba las dos primeras prioridades, sala sin info con sospechoso sin info o sala sin info con gente
    private DeckManager.DeckElements[] checkOptions(Player p)
    {
        DeckManager.DeckElements[] sol = new DeckManager.DeckElements[2];
        bool[] rooms = p.GetSuspectList().getRooms();
        int    index = 0;

        foreach (bool r in rooms)
        {
            if (!r)
            {
                List <Sospechoso> l =
                    GameManager.instance.IsSomeoneInMyPlace((GameManager.Place)index);

                sol[0] = (DeckManager.DeckElements)index;
                sol[1] = (DeckManager.DeckElements)index;
                bool[] sospechosos = p.GetSuspectList().getSuspetcs();
                foreach (Sospechoso s in l)
                {
                    if (!sospechosos[s.getType()])
                    {
                        sol[1] = (DeckManager.DeckElements)s.getType() +
                                 (int)DeckManager.DeckElements.Terraza + 1;
                        return(sol);
                    }
                }
            }
            index++;
        }

        //si llega aqui, significa que no hay habitaciones que no tenga con sospechosos que tampoco tenga
        return(sol);
    }
Esempio n. 2
0
    //crea la sugerencia
    public void makeAccusation(DeckManager.DeckElements e, int index)
    {
        this.acc[index] = e;
        this.acc[0]     = (DeckManager.DeckElements) this.getPlayerActive().getActualCas().getType();

        /*print(".....");
        *       foreach (DeckManager.DeckElements a in this.acc)
        *       {
        *               print(a);
        *       }
        *       print(".....");*/

        if (this.acc[1] >= DeckManager.DeckElements.Sra_Amapola && this.acc[1] <= DeckManager.DeckElements.Cnel_Rubio &&
            this.acc[2] >= DeckManager.DeckElements.Candelabro) //acusacion valida
        {
            accuseButton.gameObject.SetActive(true);
            ColorBlock colors = accuseButton.colors;
            colors.normalColor      = Color.green;
            colors.highlightedColor = Color.green;
            colors.pressedColor     = Color.green;
            accuseButton.colors     = colors;

            this.accuseText.text = "Suggest";

            accuseButton.onClick.RemoveAllListeners();
            accuseButton.onClick.AddListener(confEvSuggest.Invoke);
        }
    }
Esempio n. 3
0
    //se mueve a una casilla libre de una sala concreta
    private void moveTo(Player p, DeckManager.DeckElements room)
    {
        List <Casilla> lst = GameManager.instance.tablero.getCasillasOfType((int)room);

        foreach (Casilla cas in lst)
        {
            if (!cas.getOcupada())
            {
                p.Move(cas.getPosition());
                return;
            }
        }
    }
Esempio n. 4
0
    //COMPROBAMOS SI TENEMOS UN ELEMENTOS

    public int[] checkElement(DeckManager.DeckElements d)
    {
        //RETURN INT[TIPO/ELEMENTO]
        if ((int)d < difElem_[0])
        {
            rooms[(int)d] = true;
            return(new int[] { 0, (int)d });
        }
        else if ((int)d < difElem_[0] + difElem_[1])
        {
            suspetcs[(int)d - (int)difElem_[0]] = true;
            return(new int[] { 1, (int)d - (int)difElem_[0] });
        }
        else
        {
            weapons[(int)d - (int)difElem_[0] - (int)difElem_[1]] = true;
            return(new int[] { 2, (int)d - (int)difElem_[0] - (int)difElem_[1] });
        }
    }
Esempio n. 5
0
 //anyade una carta a la baraja, actualiza la tabla
 public void addCard(DeckManager.DeckElements d)
 {
     print("ADD" + "          " + d);
     myCards.Add(d);
     GameManager.instance.table.CheckElem(GetComponent <SuspectList> ().checkElement(d), order);
 }