예제 #1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.survival);

            Acoes acoes = new Acoes();

            // Atribuições XML por ID

            TextView logCriatura = FindViewById <TextView>(Resource.Id.criaturaSurvival);
            TextView logPlayer   = FindViewById <TextView>(Resource.Id.playerSurvival);
            Button   avancarSurv = FindViewById <Button>(Resource.Id.avancarSurvival);

            // Edições de texto

            logCriatura.Text = $"O {Duelo.criaturaNome} está faminto e avança em sua direção";
            logPlayer.Text   = $"Segurando um(a) {Duelo.armaPlayer} você golpeia a criatura";
            avancarSurv.Text = $"Clique para lutar";

            // Click

            avancarSurv.Click += delegate
            {
                if (avancarSurv.Text.Contains("lutar"))
                {
                    acoes.PrimeiroCombate(logCriatura, logPlayer, avancarSurv);
                }
                else
                {
                    if (Duelo.dadoCriatura > Duelo.dadoPlayer)
                    {
                        Finish();
                        StartActivity(typeof(Derrota));
                    }
                    else
                    {
                        acoes.UsarArma();
                        Personagem.ResetarAcoes();
                        if (Personagem.criaturasPorTurno > 0)
                        {
                            if (Personagem.ListArmamentos.Any())
                            {
                                Finish();
                                StartActivity(typeof(Tabuleiro));
                            }
                            else
                            {
                                Finish();
                                StartActivity(typeof(Derrota));
                            }
                        }
                        else
                        {
                            Personagem.ResetarCriaturas();
                            Finish();
                            StartActivity(typeof(Menu));
                        }
                    }
                }
            };
        }
예제 #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            Acoes acoes = new Acoes();

            bool existeArmaNoInventario; // Se n tiver arma a criatura ganha o duelo

            bool hitKill = false;

            var criatura = acoes.DefinirCriaturaRodada();

            var pagina = acoes.AcharPaginaDaCriatura();

            SetContentView(pagina);

            // Atribuições XML e IDs

            TextView nomeEnivel = FindViewById <TextView>(Resource.Id.textView1);
            TextView btnAtacar  = FindViewById <TextView>(Resource.Id.atacar);
            Button   btnAvancar = FindViewById <Button>(Resource.Id.btnAvancar);

            //Informações da critura na tela
            nomeEnivel.Text = $"{criatura.Nome.ToUpper()} | Nível: {criatura.Nivel}";

            existeArmaNoInventario = acoes.ExisteArmaInventario(criatura);

            if (existeArmaNoInventario)
            {
                hitKill = acoes.HitKill(criatura);
            }

            acoes.DefinirArmaUsada(existeArmaNoInventario, btnAtacar, btnAvancar, criatura);


            // Clicks
            btnAvancar.Click += delegate
            {
                if (hitKill)
                {
                    acoes.UsarArmaIdeal(criatura);
                    Personagem.ResetarAcoes();
                    if (Personagem.criaturasPorTurno == 0)
                    {
                        Personagem.ResetarCriaturas();
                        Finish();
                        StartActivity(typeof(Menu));
                    }
                    else
                    {
                        if (Personagem.ListArmamentos.Any())
                        {
                            Finish();
                            StartActivity(typeof(Tabuleiro));
                        }
                        else
                        {
                            Finish();
                            StartActivity(typeof(Derrota));
                        }
                    }
                }
                else
                {
                    Finish();
                    Personagem.ResetarAcoes();
                    StartActivity(typeof(Survival));
                }
            };
        }
예제 #3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.menu);

            //Atribuições de elementos XML e IDS
            TextView horas            = FindViewById <TextView>(Resource.Id.horas);
            TextView status           = FindViewById <TextView>(Resource.Id.status);;
            TextView acoesRestantes   = FindViewById <TextView>(Resource.Id.actions);
            TextView consoleResultado = FindViewById <TextView>(Resource.Id.consoleResultado);
            Button   btnInventario    = FindViewById <Button>(Resource.Id.inventario);
            Button   btnArmamento     = FindViewById <Button>(Resource.Id.actionArmamento);
            Button   btnRemoverSelo   = FindViewById <Button>(Resource.Id.actionRemoveSelo);
            Button   btnPortao        = FindViewById <Button>(Resource.Id.actionSelarPortao);
            Button   btnRecSanidade   = FindViewById <Button>(Resource.Id.actionSanidade);
            Button   btnProxTurno     = FindViewById <Button>(Resource.Id.btnTurno);
            Button   btnProbs         = FindViewById <Button>(Resource.Id.btnProbs);

            //Atribuições gerais
            Acoes acao = new Acoes();

            AlertDialog.Builder builder = new AlertDialog.Builder(this);



            //Textos iniciais
            horas.Text = $"Turnos restantes: {Personagem.turnos}";

            status.Text = $"{Personagem.statusNegativo} turnos para insanidade";

            acoesRestantes.Text = $"Ações restantes no turno: {Personagem.acoesRestantes}";

            btnPortao.Text = "SELAR PORTÃO\n(ABERTO)";


            // Clicks e efeitos

            btnProbs.Click += delegate {
                StartActivity(typeof(Probabilidades));
            };

            btnInventario.Click += delegate {
                this.ConfigurarAlertaInventario(builder);
            };

            btnArmamento.Click += delegate {
                if (Personagem.acoesRestantes > 0)
                {
                    var dado = acao.RolarDado();

                    acao.DadoArmamento(consoleResultado, acoesRestantes, dado);

                    this.ConfigurarAlerta(builder, dado, consoleResultado);
                }
                else
                {
                    consoleResultado.Text = "Sem ações restantes no turno.";
                }
            };

            btnPortao.Click += delegate {
                if (Personagem.acoesRestantes > 0)
                {
                    var dado = acao.RolarDado();

                    acao.DadoPortao(btnPortao, consoleResultado, acoesRestantes, dado);

                    this.ConfigurarAlerta(builder, dado, consoleResultado);
                }
                else
                {
                    consoleResultado.Text = "Sem ações restantes no turno.";
                }
            };


            btnRemoverSelo.Click += delegate {
                if (Personagem.acoesRestantes > 0)
                {
                    var dado = acao.RolarDado();

                    acao.DadoSelo(consoleResultado, acoesRestantes, dado);

                    this.ConfigurarAlerta(builder, dado, consoleResultado);
                }
                else
                {
                    consoleResultado.Text = "Sem ações restantes no turno.";
                }
            };

            btnRecSanidade.Click += delegate {
                if (Personagem.acoesRestantes > 0)
                {
                    var dado = acao.RolarDado();

                    acao.DadoSanidade(consoleResultado, acoesRestantes, dado, status);

                    this.ConfigurarAlerta(builder, dado, consoleResultado);
                }
                else
                {
                    consoleResultado.Text = "Sem ações restantes no turno.";
                }
            };


            btnProxTurno.Click += delegate {
                if (Personagem.acoesRestantes > 0)
                {
                    consoleResultado.Text = "Resultado: Use todas as suas ações antes de avançar de turno!";
                }
                else
                {
                    if (Personagem.turnos == 0)
                    {
                        if (Personagem.selosDoAnciao == 4)
                        {
                            Finish();
                            StartActivity(typeof(Vitoria));
                        }
                        else
                        {
                            Finish();
                            StartActivity(typeof(Derrota));
                        }
                    }
                    else
                    {
                        Personagem.turnos -= 1;
                    }
                    if (Personagem.statusNegativo == 0)
                    {
                        Finish();
                        StartActivity(typeof(Derrota));
                    }
                    else if (!Personagem.ListArmamentos.Any())
                    {
                        Finish();
                        StartActivity(typeof(Derrota));
                    }
                    else
                    {
                        if (!Personagem.Portao && Personagem.turnos != 0)
                        {
                            if (Personagem.turnos <= 5)
                            {
                                Personagem.criaturasPorTurno = 2;
                            }                                                                 // Modifica a quantidade de criaturas a partir do turno 5
                            Personagem.PerderSanidade();
                            StartActivity(typeof(Tabuleiro));
                            Finish();
                        }
                        else if (Personagem.Portao && Personagem.turnos != 0)
                        {
                            if (Personagem.turnos <= 5)
                            {
                                Personagem.criaturasPorTurno = 2;
                            }                                                                 // Modifica a quantidade de criaturas a partir do turno 5
                            Personagem.ResetarAcoes();
                            Personagem.PerderSanidade();
                            Personagem.Portao = false;
                            StartActivity(typeof(Menu));
                            Finish();
                        }
                    }
                }
            };
        }