예제 #1
0
        private void OnKeyPressed(object sender, KeyEventArgs e)
        {
            Window window = (Window)sender;

            switch (e.Code)
            {
            case Keyboard.Key.Escape:
                tela = new TelaInicial();
                tela.redenrizar();
                window.Close();
                break;
            }
        }
예제 #2
0
        public static void Main(String[] args)
        {
            TelaInicial telaInicial = new TelaInicial();

            telaInicial.redenrizar();
        }
예제 #3
0
        //static void Main(string[] args)
        public void Partida()
        {
            janela.Closed += Janela_Closed;
            Texture bgTexture         = new Texture("Assets/background.jpg");
            Sprite  bgSprite          = new Sprite(bgTexture);
            Sprite  submarinoSprite   = new Sprite(tabuleiroPlayer.submarinoTexture);
            Sprite  encouracadoSprite = new Sprite(tabuleiroPlayer.encouracadoTexture);
            Sprite  navioGuerraSprite = new Sprite(tabuleiroPlayer.navioGuerraTexture);
            Sprite  portaAvioesSprite = new Sprite(tabuleiroPlayer.portaAvioesTexture);

            Font arial = new Font("Font/arial.ttf");

            while (janela.IsOpen && jogo)
            {
                //loop do setup
                while (tabuleiroPlayer.getSetup().Equals(true))
                {
                    janela.DispatchEvents();
                    janela.Draw(bgSprite);
                    tabuleiroPlayer.desenharTabuleiroPlayer(janela, 80, 160);
                    tabuleiroPlayer.desenharBarraBarcos(janela, (int)width / 2, 160);
                    changeOrientacao();
                    janela.Display();
                    getBarcoPlayer();
                    //Loop selecionar e posicionar os barcos
                    while (tabuleiroPlayer.getBarco() != -1)
                    {
                        janela.DispatchEvents();
                        janela.Draw(bgSprite);
                        tabuleiroPlayer.desenharTabuleiroPlayer(janela, 80, 160);
                        tabuleiroPlayer.desenharBarraBarcos(janela, (int)width / 2, 160);
                        changeOrientacao();
                        if (tabuleiroPlayer.getBarco() == 0)
                        {
                            if (tabuleiroPlayer.getOrientacao().Equals(true))
                            {
                                submarinoSprite.Position = new SFML.System.Vector2f(Mouse.GetPosition().X - 20, Mouse.GetPosition().Y - 20);
                                submarinoSprite.Rotation = 0;
                            }
                            if (tabuleiroPlayer.getOrientacao().Equals(false))
                            {
                                submarinoSprite.Rotation = 90;
                                submarinoSprite.Position = new SFML.System.Vector2f(Mouse.GetPosition().X + 20, Mouse.GetPosition().Y - 20);
                            }
                            janela.Draw(submarinoSprite);
                        }
                        else if (tabuleiroPlayer.getBarco() == 1)
                        {
                            if (tabuleiroPlayer.getOrientacao().Equals(true))
                            {
                                encouracadoSprite.Position = new SFML.System.Vector2f(Mouse.GetPosition().X - 20, Mouse.GetPosition().Y - 20);
                                encouracadoSprite.Rotation = 0;
                            }
                            if (tabuleiroPlayer.getOrientacao().Equals(false))
                            {
                                encouracadoSprite.Rotation = 90;
                                encouracadoSprite.Position = new SFML.System.Vector2f(Mouse.GetPosition().X + 20, Mouse.GetPosition().Y - 20);
                            }
                            janela.Draw(encouracadoSprite);
                        }
                        else if (tabuleiroPlayer.getBarco() == 2)
                        {
                            if (tabuleiroPlayer.getOrientacao().Equals(true))
                            {
                                encouracadoSprite.Position = new SFML.System.Vector2f(Mouse.GetPosition().X - 20, Mouse.GetPosition().Y - 20);
                                encouracadoSprite.Rotation = 0;
                            }
                            if (tabuleiroPlayer.getOrientacao().Equals(false))
                            {
                                encouracadoSprite.Rotation = 90;
                                encouracadoSprite.Position = new SFML.System.Vector2f(Mouse.GetPosition().X + 20, Mouse.GetPosition().Y - 20);
                            }
                            janela.Draw(encouracadoSprite);
                        }
                        else if (tabuleiroPlayer.getBarco() == 3)
                        {
                            if (tabuleiroPlayer.getOrientacao().Equals(true))
                            {
                                navioGuerraSprite.Position = new SFML.System.Vector2f(Mouse.GetPosition().X - 20, Mouse.GetPosition().Y - 20);
                                navioGuerraSprite.Rotation = 0;
                            }
                            if (tabuleiroPlayer.getOrientacao().Equals(false))
                            {
                                navioGuerraSprite.Rotation = 90;
                                navioGuerraSprite.Position = new SFML.System.Vector2f(Mouse.GetPosition().X + 20, Mouse.GetPosition().Y - 20);
                            }
                            janela.Draw(navioGuerraSprite);
                        }
                        else if (tabuleiroPlayer.getBarco() == 4)
                        {
                            if (tabuleiroPlayer.getOrientacao().Equals(true))
                            {
                                portaAvioesSprite.Position = new SFML.System.Vector2f(Mouse.GetPosition().X - 20, Mouse.GetPosition().Y - 20);
                                portaAvioesSprite.Rotation = 0;
                            }
                            if (tabuleiroPlayer.getOrientacao().Equals(false))
                            {
                                portaAvioesSprite.Rotation = 90;
                                portaAvioesSprite.Position = new SFML.System.Vector2f(Mouse.GetPosition().X + 20, Mouse.GetPosition().Y - 20);
                            }
                            janela.Draw(portaAvioesSprite);
                        }
                        janela.Display();
                        int linha  = getLinhaPlayer();
                        int coluna = getColunaPlayer();
                        if (linha >= 0 && linha <= 9 && coluna >= 0 && coluna <= 9)
                        {
                            if (controladorJogo.posicionarBarcosPlayer(getPosicaoBarco(tabuleiroPlayer.getBarco(), tabuleiroPlayer.getOrientacao(), linha, coluna)))
                            {
                                controladorJogo.getBarcosSelecionaveis()[tabuleiroPlayer.getBarco()] -= 1;
                                tabuleiroPlayer.setTabuleiro(controladorJogo.tabPlayer());
                            }
                            tabuleiroPlayer.setBarco(-1);
                        }
                        if (controladorJogo.getBarcosSelecionaveis()[0] == 0 &&
                            controladorJogo.getBarcosSelecionaveis()[1] == 0 &&
                            controladorJogo.getBarcosSelecionaveis()[2] == 0 &&
                            controladorJogo.getBarcosSelecionaveis()[3] == 0 &&
                            controladorJogo.getBarcosSelecionaveis()[4] == 0)
                        {
                            controladorJogo.getIA().posicionarBarcosIA();
                            tabuleiroIA.setTabuleiro(controladorJogo.tabIa());
                            tabuleiroPlayer.changeSetup();
                        }
                    }
                }
                janela.DispatchEvents();
                janela.Draw(bgSprite);

                if (jogadaPlayer)
                {
                    int linhaIa  = getLinhaIA();
                    int colunaIa = getColunaIA();
                    if (linhaIa >= 0 && linhaIa <= 9 && colunaIa >= 0 && colunaIa <= 9)
                    {
                        bool jogada = controladorJogo.jogarPlayer(colunaIa, linhaIa);
                        if (jogada)
                        {
                            tabuleiroIA.setTabuleiro(controladorJogo.tabIa());
                        }
                        else
                        {
                            tabuleiroIA.setTabuleiro(controladorJogo.tabIa());
                            jogadaCPU    = true;
                            jogadaPlayer = false;
                        }
                        if (controladorJogo.countBarcosIA() == 0)
                        {
                            vencedor = "Player";
                            jogo     = false;
                        }
                    }
                }
                else if (jogadaCPU)
                {
                    bool jogada = controladorJogo.jogarIA();
                    if (jogada)
                    {
                        tabuleiroPlayer.setTabuleiro(controladorJogo.tabPlayer());
                    }
                    else
                    {
                        tabuleiroPlayer.setTabuleiro(controladorJogo.tabPlayer());
                        jogadaPlayer = true;
                        jogadaCPU    = false;
                    }
                    if (controladorJogo.countBarcosPlayer() == 0)
                    {
                        vencedor = "Computador";
                        jogo     = false;
                    }
                }
                tabuleiroPlayer.desenharTabuleiroPlayer(janela, 80, 160);
                tabuleiroIA.desenharTabuleiroIA(janela, (int)width / 2 + 80, 160);
                janela.Display();
            }

            for (int x = 0; x < 1000; x++)
            {
                Text fimDeJogo;
                janela.DispatchEvents();
                janela.Draw(bgSprite);
                if (vencedor.Equals("Player"))
                {
                    fimDeJogo          = new Text("O Vencedor Foi: " + vencedor + "\n\n Voltando Para Tela Inicial!", arial);
                    fimDeJogo.Position = new SFML.System.Vector2f((int)width / 2 - 250, (int)height - 200);
                    fimDeJogo.Color    = Color.Magenta;
                }
                else
                {
                    fimDeJogo          = new Text("O Vencedor Foi: " + vencedor + "\n\n  Voltando Para Tela Inicial!", arial);
                    fimDeJogo.Position = new SFML.System.Vector2f((int)width / 2 - 250, (int)height - 200);
                    fimDeJogo.Color    = Color.Black;
                }

                tabuleiroPlayer.desenharTabuleiroPlayer(janela, 80, 160);
                tabuleiroIA.desenharTabuleiroIA(janela, (int)width / 2 + 80, 160);
                janela.Draw(fimDeJogo);
                janela.Display();
            }
            telaInicial = new TelaInicial();
            telaInicial.redenrizar();
            janela.Close();
        }