Exemple #1
0
 private void loadingScreen()
 {
     loading = false;
     gsm.unloadState(gsm.stage);
     gsm.stage = Stage.mainMenu;
     gsm.loadState(gsm.stage);
 }
Exemple #2
0
        public override void mouse_click(object sender, MouseEventArgs e)
        {
            //MessageBox.Show(string.Format("{0},{1}",e.X,e.Y));
            Rectangle cursor = new Rectangle(e.X, e.Y, 10, 10);

            if (!selected)
            {
                for (int i = 0; i < rosterField.Count; i++)
                {
                    if (rosterField[i].IntersectsWith(cursor) && !roster_bool[i])
                    {
                        index          = i;
                        selected       = true;
                        roster_bool[i] = true;
                        break;
                    }
                }
            }

            if (selected)
            {
                for (int i = 0; i < karacters.Count; i++)
                {
                    if (cursor.IntersectsWith(karacters[i].getSelect()))
                    {
                        selected = false;
                        karacters[i].setKaracter(player.myCharacter[index]);
                        player.currentCharacters.Add(karacters[i].GetKarakter());
                        index = -1;
                        break;
                    }
                }
            }

            for (int i = 0; i < battleRect.Length; i++)
            {
                if (battleRect[i].IntersectsWith(cursor))
                {
                    if (i == 2)
                    {
                        gsm.dif = Stage.easyState;
                    }
                    if (i == 1)
                    {
                        gsm.dif = Stage.mediumState;
                    }
                    if (i == 0)
                    {
                        gsm.dif = Stage.hardState;
                    }
                    gsm.stage = Stage.provision;
                    gsm.loadState(gsm.stage);
                }
            }
        }
Exemple #3
0
        public override void update()
        {
            if (!gerak)
            {
                gerak_icon += 2;
            }

            else
            {
                gerak_icon -= 2;
            }
            if (gerak_icon > 20 && !gerak)
            {
                gerak = true;
            }
            if (gerak_icon < 0 && gerak)
            {
                gerak = false;
            }

            if (zoom <= 80 && (serang == true || serang_musuh == true))
            {
                zoom     += 30;
                zoom_bkg += 70;
            }

            if (serang)
            {
                timer_attack++;
                player[pilihHero].x += 1;
            }

            if (serang_musuh)
            {
                timer_attack++;
                musuh[pilihMusuh].x -= 1;
            }
            if (timer_attack == 30 && serang == true)
            {
                timer_attack                    = 0;
                zoom                            = 0;
                zoom_bkg                        = 0;
                player[pilihHero].x             = 350 - 100 * pilihHero;
                player[pilihHero].hero_move     = "idle";
                player[pilihHero].hero_move_now = 1;
                serang                          = false;
                if (musuh[targetMusuh].hp <= 0)
                {
                    try
                    {
                        for (int i = 0; i < turnAttack.Count; i++)
                        {
                            if (turnAttack[i].jenis == 0)
                            {
                                if (turnAttack[i].ke == musuh.Count)
                                {
                                    turnAttack.RemoveAt(i);
                                    i--;
                                }
                                else if (turnAttack[i].ke > targetMusuh)
                                {
                                    turnAttack[i].ke--;
                                    musuh[turnAttack[i].ke].x -= 100;
                                }
                            }
                        }
                    }
                    catch (Exception)
                    {
                    }
                    MessageBox.Show("mati");
                    musuh.RemoveAt(targetMusuh);
                }
                winCondition();
                gantiTurn();
            }

            if (timer_attack == 30 && serang_musuh == true)
            {
                timer_attack        = 0;
                zoom                = 0;
                zoom_bkg            = 0;
                musuh[pilihMusuh].x = 700 + pilihMusuh * 100;
                musuh[pilihMusuh].musuh_move_now = 1;
                musuh[pilihMusuh].musuh_move     = "idle";
                serang_musuh         = false;
                player[targetHero].x = 350 - 100 * targetHero;

                if (player[targetHero].hp <= 0)
                {
                    for (int i = 0; i < turnAttack.Count; i++)
                    {
                        if (turnAttack[i].jenis == 1)
                        {
                            if (turnAttack[i].ke == player.Count)
                            {
                                turnAttack.RemoveAt(i);
                                i--;
                            }
                            else if (turnAttack[i].ke > targetHero)
                            {
                                player[turnAttack[i].ke].x += 100;
                                turnAttack[i].ke--;
                            }
                        }
                    }
                    player.RemoveAt(targetHero);
                    if (player.Count == 0)
                    {
                        MessageBox.Show("Mati Semua");
                        for (int i = 0; i < gsm.player.currentCharacters.Count; i++)
                        {
                            if (gsm.player.currentCharacters[i].hp <= 0)
                            {
                                gsm.player.currentCharacters.RemoveAt(i);
                                i--;
                            }
                        }
                        gsm.stage = Stage.mainMenu;
                        gsm.loadState(gsm.stage);
                    }
                }

                gantiTurn();
            }

            if (delay_aktif)
            {
                timer_attack++;
                if (timer_attack == 30)
                {
                    targetHero = r.Next(player.Count);
                    int pilih_attack_musuh = r.Next(1, 4);
                    try
                    {
                        pilihMusuh = turnAttack[turn_ke].ke;
                        musuh[pilihMusuh].skill[pilih_attack_musuh].getDamageSkill(targetHero, player);
                        musuh[pilihMusuh].x              = 650;
                        player[targetHero].x             = 450;
                        musuh[pilihMusuh].musuh_move_now = 1;
                        musuh[pilihMusuh].musuh_move     = "skill" + pilih_attack_musuh;
                    }
                    catch (Exception)
                    {
                        pilihMusuh = turnAttack[turn_ke].ke;
                        pilihMusuh = 0;
                        musuh[pilihMusuh].skill[pilih_attack_musuh].getDamageSkill(targetHero, player);
                        musuh[pilihMusuh].x              = 650;
                        player[targetHero].x             = 450;
                        musuh[pilihMusuh].musuh_move_now = 1;
                        musuh[pilihMusuh].musuh_move     = "skill" + pilih_attack_musuh;
                    }
                    delay_aktif  = false;
                    timer_attack = 0;
                    serang_musuh = true;
                    //sfx.Stop();
                    //string RunningPath = AppDomain.CurrentDomain.BaseDirectory;
                    //string FileName = string.Format("{0}Resources\\yeti_attack_sfx_1.wav", Path.GetFullPath(Path.Combine(RunningPath, @"..\..\")));
                    //sfx.Open(new System.Uri(FileName));
                    //sfx.Play();
                }
            }

            if (timer_geser)
            {
                if (0 == gerak_geser_max)
                {
                    timer_geser  = false;
                    ganti_posisi = false;


                    karakter swap_char = player[pilihHero];
                    player[pilihHero]  = player[targetHero];
                    player[targetHero] = swap_char;



                    int tmp_ind = turnAttack[turn_ke].ke;//0
                    for (int i = 0; i < turnAttack.Count; i++)
                    {
                        if (turnAttack[i].jenis == 1 && turnAttack[i].ke == targetHero)
                        {
                            turnAttack[turn_ke].ke = turnAttack[i].ke;
                            turnAttack[i].ke       = tmp_ind;
                        }
                    }

                    tmp_ind    = pilihHero;
                    pilihHero  = targetHero;
                    targetHero = tmp_ind;
                    gantiTurn();
                }
                else
                {
                    if (pilihHero >= targetHero)
                    {
                        player[pilihHero].x  += gerak_geser;
                        player[targetHero].x -= gerak_geser;
                    }
                    else
                    {
                        player[pilihHero].x  -= gerak_geser;
                        player[targetHero].x += gerak_geser;
                    }
                    gerak_geser_max -= gerak_geser;
                }
            }
        }