Ejemplo n.º 1
0
    //Testa a compatibilidade da placa de vídeo com a placa-mãe baseado no SLI/Crossfire
    public static bool PlacaDeVideoConectaPlacaMae(GameObject Panel)
    {
        //Verifica se os objetos estão ativos, se não estiverem não haverá como comparar
        if ((Panel.GetComponentInChildren <DisplayPlacaDeVideo>() != null) && (Panel.GetComponentInChildren <DisplayPlacaMae>() != null))
        {
            PlacaDeVideo placadevideo = Panel.GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo;
            PlacaMae     placamae     = Panel.GetComponentInChildren <DisplayPlacaMae>().placaMae;

            //Compara o suporte de SLI/Crossfire da placa-mãe com o SLI/Crossfire da placa de vídeo
            if (((placamae.SuporteSLI == placadevideo.SLI) || ((placamae.SuporteSLI == true) && (placadevideo.SLI == false))) &&
                ((placamae.SuporteCrossfire == placadevideo.Crossfire) || ((placamae.SuporteCrossfire == true) && (placadevideo.Crossfire == false))))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        else
        {
            Debug.Log("Não há elementos suficientes para determinar a compatibilidade entre a placa de vídeo e a placa-mãe");
            return(false);
        }
    }
Ejemplo n.º 2
0
 public PcGamerFacede()
 {
     this.processador  = new Processador();
     this.discoRigido  = new DiscoRigido();
     this.memoriaRAM   = new MemoriaRAM();
     this.fonte        = new Fonte();
     this.gabinete     = new Gabinete();
     this.placaDeVideo = new PlacaDeVideo();
     this.placaMae     = new PlacaMae();
 }
Ejemplo n.º 3
0
    //Testa a compatibilidade da fonte com a placa de vídeo baseado na fonte mínima recomendada da placa e na capacidade da fonte
    public static bool FonteConectaPlacaDeVideo(GameObject Panel)
    {
        //Verifica se os objetos estão ativos, se não estiverem não haverá como comparar
        if ((Panel.GetComponentInChildren <DisplayFonte>() != null) && (Panel.GetComponentInChildren <DisplayPlacaDeVideo>() != null))
        {
            Fonte        fonte        = Panel.GetComponentInChildren <DisplayFonte>().fonte;
            PlacaDeVideo placadevideo = Panel.GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo;

            //Compara a capacidade da fonte com a fonte mínima recomendada da placa de vídeo
            if (fonte.Capacidade >= placadevideo.FonteMinima)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        else
        {
            Debug.Log("Não há elementos suficientes para determinar a compatibilidade entre a fonte e a placa de vídeo");
            return(false);
        }
    }
Ejemplo n.º 4
0
    public void TrocarCartas(string componente, GameObject Panel)
    {
        //Verifica se o jogador que jogou a carta tem HardCash suficiente para trocar
        if (Panel.gameObject.tag == "PlayerCard")
        {
            if (HardCash.HardCashJogador == 0)
            {
                Debug.Log("HardCash insuficiente!");
                return;
            }
        }
        else if (Panel.gameObject.tag == "OpponentCard")
        {
            if (HardCash.HardCashOponente == 0)
            {
                Debug.Log("HardCash insuficiente!");
                return;
            }
        }

        Manager.PodeInteragir = false;

        GameObject OutroPanel;

        //Encontra o panel do jogador adversário se baseando no panel do jogador que jogou a carta
        if (Panel.gameObject.tag == "PlayerCard")
        {
            OutroPanel = Informacoes.PanelOponente;
        }
        else
        {
            OutroPanel = Informacoes.PanelJogador;
        }

        //Armazena a rodada que o jogador jogou a carta baseado no parâmetro recebido pela função
        if (StateMachine.EstadoAtual == StateMachine.Estados.VezDoJogador)
        {
            switch (componente)
            {
            case "PlacaMae":
                RodadaPlacaMaeJogador = StateMachine.Rodada;

                PlacaMae placamaeAleatoria = Lista.ListaPlacaMae[Random.Range(0, Lista.ListaPlacaMae.Count)];                         //Gera uma placa-mãe aleatória da lista

                //Verifica se a carta é igual a carta que o jogador já tinha ou a carta do jogador adversário
                while ((placamaeAleatoria == GetComponentInChildren <DisplayPlacaMae>().placaMae) || (placamaeAleatoria == OutroPanel.GetComponentInChildren <DisplayPlacaMae>().placaMae))
                {
                    placamaeAleatoria = Lista.ListaPlacaMae[Random.Range(0, Lista.ListaPlacaMae.Count)];
                }

                GetComponentInChildren <DisplayPlacaMae>().placaMae = placamaeAleatoria;

                //Informa que houve alteração na carta
                Informacoes.JogadorCartaPlacaMaeMudou = true;
                HardCash.HardCashJogador--;

                break;

            case "Processador":
                RodadaProcessadorJogador = StateMachine.Rodada;

                Processador processadorAleatorio = Lista.ListaProcessador[Random.Range(0, Lista.ListaProcessador.Count)];                         //Gera um processador aleatório da lista

                while ((processadorAleatorio == GetComponentInChildren <DisplayProcessador>().processador) || (processadorAleatorio == OutroPanel.GetComponentInChildren <DisplayProcessador>().processador))
                {
                    processadorAleatorio = Lista.ListaProcessador[Random.Range(0, Lista.ListaProcessador.Count)];
                }

                GetComponentInChildren <DisplayProcessador>().processador = processadorAleatorio;

                //Informa que houve alteração na carta
                Informacoes.JogadorCartaProcessadorMudou = true;
                HardCash.HardCashJogador--;

                break;

            case "Memoria":
                RodadaMemoriaJogador = StateMachine.Rodada;

                Memoria memoriaAleatoria = Lista.ListaMemoria[Random.Range(0, Lista.ListaMemoria.Count)];                         //Gera uma memória aleatória da lista

                while ((memoriaAleatoria == GetComponentInChildren <DisplayMemoria>().memoria) || (memoriaAleatoria == OutroPanel.GetComponentInChildren <DisplayMemoria>().memoria))
                {
                    memoriaAleatoria = Lista.ListaMemoria[Random.Range(0, Lista.ListaMemoria.Count)];
                }

                GetComponentInChildren <DisplayMemoria>().memoria = memoriaAleatoria;

                //Informa que houve alteração na carta
                Informacoes.JogadorCartaMemoriaMudou = true;
                HardCash.HardCashJogador--;

                break;

            case "PlacaDeVideo":
                RodadaPlacaDeVideoJogador = StateMachine.Rodada;

                PlacaDeVideo placadevideoAleatoria = Lista.ListaPlacaDeVideo[Random.Range(0, Lista.ListaPlacaDeVideo.Count)];                         //Gera uma placa de vídeo aleatória da lista

                while ((placadevideoAleatoria == GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo) || (placadevideoAleatoria == OutroPanel.GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo))
                {
                    placadevideoAleatoria = Lista.ListaPlacaDeVideo[Random.Range(0, Lista.ListaPlacaDeVideo.Count)];
                }

                GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo = placadevideoAleatoria;

                //Informa que houve alteração na carta
                Informacoes.JogadorCartaPlacaDeVideoMudou = true;
                HardCash.HardCashJogador--;

                break;

            case "Disco":
                RodadaDiscoJogador = StateMachine.Rodada;

                Disco discoAleatorio = Lista.ListaDisco[Random.Range(0, Lista.ListaDisco.Count)];                         //Gera um disco aleatório da lista

                while ((discoAleatorio == GetComponentInChildren <DisplayDisco>().disco) || (discoAleatorio == OutroPanel.GetComponentInChildren <DisplayDisco>().disco))
                {
                    discoAleatorio = Lista.ListaDisco[Random.Range(0, Lista.ListaDisco.Count)];
                }

                GetComponentInChildren <DisplayDisco>().disco = discoAleatorio;

                //Informa que houve alteração na carta
                Informacoes.JogadorCartaDiscoMudou = true;
                HardCash.HardCashJogador--;

                break;

            case "Fonte":
                RodadaFonteJogador = StateMachine.Rodada;

                Fonte fonteAleatoria = Lista.ListaFonte[Random.Range(0, Lista.ListaFonte.Count)];                         //Gera uma fonte aleatória da lista

                while ((fonteAleatoria == GetComponentInChildren <DisplayFonte>().fonte) || (fonteAleatoria == OutroPanel.GetComponentInChildren <DisplayFonte>().fonte))
                {
                    fonteAleatoria = Lista.ListaFonte[Random.Range(0, Lista.ListaFonte.Count)];
                }

                GetComponentInChildren <DisplayFonte>().fonte = fonteAleatoria;

                //Informa que houve alteração na carta
                Informacoes.JogadorCartaFonteMudou = true;
                HardCash.HardCashJogador--;

                break;

            case "Gabinete":
                RodadaGabineteJogador = StateMachine.Rodada;

                Gabinete gabineteAleatorio = Lista.ListaGabinete[Random.Range(0, Lista.ListaGabinete.Count)];                         //Gera um gabinete aleatório da lista

                while ((gabineteAleatorio == GetComponentInChildren <DisplayGabinete>().gabinete) || (gabineteAleatorio == OutroPanel.GetComponentInChildren <DisplayGabinete>().gabinete))
                {
                    gabineteAleatorio = Lista.ListaGabinete[Random.Range(0, Lista.ListaGabinete.Count)];
                }

                GetComponentInChildren <DisplayGabinete>().gabinete = gabineteAleatorio;

                //Informa que houve alteração na carta
                Informacoes.JogadorCartaGabineteMudou = true;
                HardCash.HardCashJogador--;

                break;
            }
        }
        else if (StateMachine.EstadoAtual == StateMachine.Estados.VezDoOponente)
        {
            switch (componente)
            {
            case "PlacaMae":
                RodadaPlacaMaeOponente = StateMachine.Rodada;

                PlacaMae placamaeAleatoria = Lista.ListaPlacaMae[Random.Range(0, Lista.ListaPlacaMae.Count)];                         //Gera uma placa-mãe aleatória da lista

                //Verifica se a carta é igual a carta que o jogador já tinha ou a carta do jogador adversário
                while ((placamaeAleatoria == GetComponentInChildren <DisplayPlacaMae>().placaMae) || (placamaeAleatoria == OutroPanel.GetComponentInChildren <DisplayPlacaMae>().placaMae))
                {
                    placamaeAleatoria = Lista.ListaPlacaMae[Random.Range(0, Lista.ListaPlacaMae.Count)];
                }

                GetComponentInChildren <DisplayPlacaMae>().placaMae = placamaeAleatoria;

                //Informa que houve alteração na carta
                Informacoes.OponenteCartaPlacaMaeMudou = true;
                HardCash.HardCashOponente--;

                break;

            case "Processador":
                RodadaProcessadorOponente = StateMachine.Rodada;

                Processador processadorAleatorio = Lista.ListaProcessador[Random.Range(0, Lista.ListaProcessador.Count)];                         //Gera um processador aleatório da lista

                while ((processadorAleatorio == GetComponentInChildren <DisplayProcessador>().processador) || (processadorAleatorio == OutroPanel.GetComponentInChildren <DisplayProcessador>().processador))
                {
                    processadorAleatorio = Lista.ListaProcessador[Random.Range(0, Lista.ListaProcessador.Count)];
                }

                GetComponentInChildren <DisplayProcessador>().processador = processadorAleatorio;

                //Informa que houve alteração na carta
                Informacoes.OponenteCartaProcessadorMudou = true;
                HardCash.HardCashOponente--;

                break;

            case "Memoria":
                RodadaMemoriaOponente = StateMachine.Rodada;

                Memoria memoriaAleatoria = Lista.ListaMemoria[Random.Range(0, Lista.ListaMemoria.Count)];                         //Gera uma memória aleatória da lista

                while ((memoriaAleatoria == GetComponentInChildren <DisplayMemoria>().memoria) || (memoriaAleatoria == OutroPanel.GetComponentInChildren <DisplayMemoria>().memoria))
                {
                    memoriaAleatoria = Lista.ListaMemoria[Random.Range(0, Lista.ListaMemoria.Count)];
                }

                GetComponentInChildren <DisplayMemoria>().memoria = memoriaAleatoria;

                //Informa que houve alteração na carta
                Informacoes.OponenteCartaMemoriaMudou = true;
                HardCash.HardCashOponente--;

                break;

            case "PlacaDeVideo":
                RodadaPlacaDeVideoOponente = StateMachine.Rodada;

                PlacaDeVideo placadevideoAleatoria = Lista.ListaPlacaDeVideo[Random.Range(0, Lista.ListaPlacaDeVideo.Count)];                         //Gera uma placa de vídeo aleatória da lista

                while ((placadevideoAleatoria == GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo) || (placadevideoAleatoria == OutroPanel.GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo))
                {
                    placadevideoAleatoria = Lista.ListaPlacaDeVideo[Random.Range(0, Lista.ListaPlacaDeVideo.Count)];
                }

                GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo = placadevideoAleatoria;

                //Informa que houve alteração na carta
                Informacoes.OponenteCartaPlacaDeVideoMudou = true;
                HardCash.HardCashOponente--;

                break;

            case "Disco":
                RodadaDiscoOponente = StateMachine.Rodada;

                Disco discoAleatorio = Lista.ListaDisco[Random.Range(0, Lista.ListaDisco.Count)];                         //Gera um disco aleatório da lista

                while ((discoAleatorio == GetComponentInChildren <DisplayDisco>().disco) || (discoAleatorio == OutroPanel.GetComponentInChildren <DisplayDisco>().disco))
                {
                    discoAleatorio = Lista.ListaDisco[Random.Range(0, Lista.ListaDisco.Count)];
                }

                GetComponentInChildren <DisplayDisco>().disco = discoAleatorio;

                //Informa que houve alteração na carta
                Informacoes.OponenteCartaDiscoMudou = true;
                HardCash.HardCashOponente--;

                break;

            case "Fonte":
                RodadaFonteOponente = StateMachine.Rodada;

                Fonte fonteAleatoria = Lista.ListaFonte[Random.Range(0, Lista.ListaFonte.Count)];                         //Gera uma fonte aleatória da lista

                while ((fonteAleatoria == GetComponentInChildren <DisplayFonte>().fonte) || (fonteAleatoria == OutroPanel.GetComponentInChildren <DisplayFonte>().fonte))
                {
                    fonteAleatoria = Lista.ListaFonte[Random.Range(0, Lista.ListaFonte.Count)];
                }

                GetComponentInChildren <DisplayFonte>().fonte = fonteAleatoria;

                //Informa que houve alteração na carta
                Informacoes.OponenteCartaFonteMudou = true;
                HardCash.HardCashOponente--;

                break;

            case "Gabinete":
                RodadaGabineteOponente = StateMachine.Rodada;

                Gabinete gabineteAleatorio = Lista.ListaGabinete[Random.Range(0, Lista.ListaGabinete.Count)];                         //Gera um gabinete aleatório da lista

                while ((gabineteAleatorio == GetComponentInChildren <DisplayGabinete>().gabinete) || (gabineteAleatorio == OutroPanel.GetComponentInChildren <DisplayGabinete>().gabinete))
                {
                    gabineteAleatorio = Lista.ListaGabinete[Random.Range(0, Lista.ListaGabinete.Count)];
                }

                GetComponentInChildren <DisplayGabinete>().gabinete = gabineteAleatorio;

                //Informa que houve alteração na carta
                Informacoes.OponenteCartaGabineteMudou = true;
                HardCash.HardCashOponente--;

                break;
            }
        }

        Trocou = true;
    }
Ejemplo n.º 5
0
    //Gerencia o sistema de rodadas
    public void GerenciadorDeRodadas()
    {
        //Identifica qual o estado atual do jogo
        switch (EstadoAtual)
        {
        case (Estados.Inicio):
            Manager.PodeInteragir = false;
            Lista.CarregarListas();                                                         //Carega as listas dos componentes
            IniciarCartas.IniciarBaralho(Informacoes.PanelJogador);                         //Embaralha e inicia as cartas do jogador
            IniciarCartas.IniciarBaralho(Informacoes.PanelOponente);                        //Embaralha e inicia as cartas do oponente
            Verificar.VerificarCartas(Informacoes.PanelJogador, Informacoes.PanelOponente); //Verifica se as cartas do jogador e do oponente são iguais e as embaralha novamente

            resetarRodadas();

            Manager.PodeInteragir = true;
            EstadoMudou           = true;
            Rodada++;                                       //Avança uma rodada
            EstadoAtual = EstadoAtual + Random.Range(1, 3); //Escolhe quem irá começar jogando de forma aleatória
            break;

        case (Estados.VezDoJogador):
            Manager.JogadorPodeInteragir  = true;
            Manager.OponentePodeInteragir = false;
            TextVez = "Vez de: " + Informacoes.NomeJogador;
            break;

        case (Estados.VezDoOponente):
            Manager.JogadorPodeInteragir  = false;
            Manager.OponentePodeInteragir = true;
            TextVez = "Vez de: " + Informacoes.NomeOponente;
            break;

        case (Estados.Fim):
            Manager.JogadorPodeInteragir  = false;
            Manager.OponentePodeInteragir = false;
            Manager.PodeInteragir         = false;

            if (EstadoVitorioso == Estados.VezDoJogador)
            {
                NomeDoVencedor = Informacoes.NomeJogador;

                ProcessadorVitorioso  = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayProcessador>().processador;
                MemoriaVitorioso      = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayMemoria>().memoria;
                PlacaMaeVitorioso     = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayPlacaMae>().placaMae;
                PlacaDeVideoVitorioso = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo;
                DiscoVitorioso        = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayDisco>().disco;
                FonteVitorioso        = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayFonte>().fonte;
                GabineteVitorioso     = Informacoes.PanelJogador.gameObject.GetComponentInChildren <DisplayGabinete>().gabinete;
            }
            else if (EstadoVitorioso == Estados.VezDoOponente)
            {
                NomeDoVencedor = Informacoes.NomeOponente;

                ProcessadorVitorioso  = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayProcessador>().processador;
                MemoriaVitorioso      = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayMemoria>().memoria;
                PlacaMaeVitorioso     = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayPlacaMae>().placaMae;
                PlacaDeVideoVitorioso = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayPlacaDeVideo>().placaDeVideo;
                DiscoVitorioso        = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayDisco>().disco;
                FonteVitorioso        = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayFonte>().fonte;
                GabineteVitorioso     = Informacoes.PanelOponente.gameObject.GetComponentInChildren <DisplayGabinete>().gabinete;
            }

            StartCoroutine(CarregarATelaFinal());

            break;
        }
    }