Exemplo n.º 1
0
        private void pctCarta_TabP_Click(object sender, EventArgs e)
        {
            PictureBox aux = (PictureBox)sender;

            if (acao == 1 && aux.BackColor != Color.Gray)
            {
                MessageBoxManager.Yes = "Atacar";
                MessageBoxManager.No  = "Mudar modo";

                var escolha = MessageBox.Show("O que deseja fazer com esta carta?", "CARTA", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (escolha == DialogResult.Yes)
                {
                    if (aux.BackColor == Color.Blue)
                    {
                        MessageBoxManager.Yes = "Sim";
                        MessageBoxManager.No  = "Não";

                        var certeza = MessageBox.Show("Esta carta está em modo defesa! Atacar com ela mudará o modo da mesma.\nDeseja continuar?", "CARTA", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                        if (certeza == DialogResult.Yes)
                        {
                            for (int x = 0; x < 5; x++)
                            {
                                if (cartaTabP[x] == aux)
                                {
                                    modoCartaTab[x] = 1;
                                    Funcoes.atualizarToolTipCartas(YGO_IM.playerid, cartaTabP, tooltipTabP, modoCartaTab);

                                    cartaSelecionada = x;

                                    break;
                                }
                            }

                            acao = 2;
                        }
                    }
                    else
                    {
                        for (int x = 0; x < 5; x++)
                        {
                            if (cartaTabP[x] == aux)
                            {
                                cartaSelecionada = x;

                                break;
                            }
                        }

                        acao = 2;
                    }
                }
                else
                {
                    for (int x = 0; x < 5; x++)
                    {
                        if (cartaTabP[x] == aux)
                        {
                            if (modoCartaTab[x] == 1)
                            {
                                cartaTabP[x].BackColor = Color.Blue;
                                modoCartaTab[x]        = 0;
                            }
                            else
                            {
                                cartaTabP[x].BackColor = Color.Red;
                                modoCartaTab[x]        = 1;
                            }

                            Funcoes.atualizarToolTipCartas(YGO_IM.playerid, cartaTabP, tooltipTabP, modoCartaTab);

                            break;
                        }
                    }
                }
            }
            else if (acao == 3)
            {
                aux.Tag = "-1";

                btnFinalizarTurno.Visible = true;

                modoCartaTab[cartaSelecionada] = Funcoes.lancarCarta(YGO_IM.playerid, cartaDeck[cartaSelecionada], tooltipDeck[cartaSelecionada], cartaTabP, tooltipTabP);
                totalCartasUsadas++;
                Funcoes.atualizarCarta(YGO_IM.playerid, totalCartasUsadas, cartaDeck[cartaSelecionada], tooltipDeck[cartaSelecionada]);
                atualizarCartasNoTab();

                MessageBox.Show("Selecione uma carta para atacar!", "ATAQUE");

                acao = 1;

                gpbDeck.Visible = false;
            }
        }
Exemplo n.º 2
0
        private void carta_deck_Click(object sender, EventArgs e)
        {
            if (acao == 0)
            {
                atualizarLabels();

                if (checarCondicoes() == true)
                {
                    return;
                }
                else
                {
                    int tlt = 0;

                    bool tabFull = true;

                    for (int x = 0; x < 5; x++)
                    {
                        if (cartaDeck[x] == (PictureBox)sender)
                        {
                            tlt = x;
                        }

                        if (cartaTabP[x].Tag.ToString() == "-1")
                        {
                            tabFull = false;
                        }
                    }

                    if (tabFull == true)
                    {
                        MessageBox.Show("Tabuleiro cheio! Escolha uma carta para ser substituida!", "GAME");

                        gpbDeck.Visible = false;

                        cartaSelecionada = tlt;

                        acao = 3;
                    }
                    else
                    {
                        bool achou = false;
                        int  aux   = -1;

                        for (int x = 0; x < 5 && achou == false; x++)
                        {
                            bool result = cartaTabP[x].Tag.Equals("-1");

                            if (result == true)
                            {
                                aux   = x;
                                achou = true;
                            }
                        }

                        modoCartaTab[aux] = Funcoes.lancarCarta(YGO_IM.playerid, (PictureBox)sender, tooltipDeck[tlt], cartaTabP, tooltipTabP);
                        totalCartasUsadas++;
                        Funcoes.atualizarCarta(YGO_IM.playerid, totalCartasUsadas, (PictureBox)sender, tooltipDeck[tlt]);
                        atualizarCartasNoTab();

                        if (jogada == 0)
                        {
                            MessageBox.Show("VEZ DO BOT!", "GAME");
                            BOT_executarJogada(cartaTabB, tooltipTabB, cartaTabP);
                            BOT_cartasNoTab++;

                            if (checarCondicoes() == true)
                            {
                                return;
                            }
                            else
                            {
                                MessageBox.Show("SUA VEZ!", "GAME");

                                gpbDeck.Visible = true;

                                jogada++;
                            }
                        }
                        else
                        {
                            MessageBox.Show("Selecione uma carta para atacar ou passe a vez!", "GAME");

                            acao = 1;

                            gpbDeck.Visible = false;

                            btnFinalizarTurno.Visible = true;
                        }
                    }

                    atualizarLabels();
                }
            }
        }