public void warAttack()
        {
            if (bolge1.ordu.askerSayisi > 1 && bolge2.ordu.askerSayisi > 0)
            {
                Random random = new Random();
                int bb1;
                int bb2;

                bb1 = random.Next(1, randomAraligi + (bolge1.ordu.askerSayisi / 5));
                bb2 = random.Next(1, randomAraligi + (bolge2.ordu.askerSayisi / 5));

                if (bb1 > bb2)
                {
                    bolge2.ordu.askerSayisi--;
                    form1.changeLabel(bolge2);
                    textBox3.Text = bolge2.ordu.askerSayisi.ToString();
                    if (bolge2.ordu.askerSayisi == 0)
                    {
                        bolge2.sahip.bolgeler.Remove(bolge2);
                        bolge1.sahip.bolgeler.Add(bolge2);
                        bolge2.sahip = bolge1.sahip;
                        bolge1.ordu.askerSayisi--;
                        bolge2.ordu.askerSayisi++;
                        this.Visible = false;

                        int b1 = bolge1.ordu.askerSayisi;
                        int b2 = bolge2.ordu.askerSayisi;
                        ArmyMove am = new ArmyMove(bolge1, bolge2, form1);
                        am.ShowDialog();

                        if (form1.isArmyMoved)
                        {
                            form1.changeLabel(bolge1);
                            form1.changeLabel(bolge2);
                            form1.isArmyMoved = false;
                        }
                        else
                        {
                            form1.changeLabel(bolge1);
                            form1.changeLabel(bolge2);
                            bolge1.ordu.askerSayisi = b1;
                            bolge2.ordu.askerSayisi = b2;
                        }

                        form1.changeLabel(bolge1);
                        form1.changeLabel(bolge2);
                        form1.changeTerritoryColor(bolge2, bolge2.sahip);
                    }
                }
                else if (bb1 < bb2)
                {
                    bolge1.ordu.askerSayisi--;
                    form1.changeLabel(bolge1);
                    textBox2.Text = bolge1.ordu.askerSayisi.ToString();
                }
                else
                {
                    //Devam..
                }
            }
        }
        public void warDoORDie()
        {
            string temp = "";
            temp += bolge1.isim + ":" + bolge1.ordu.askerSayisi.ToString() + "\n";
            temp += bolge2.isim + ":" + bolge2.ordu.askerSayisi.ToString() + "\n---------\n";

            while (bolge1.ordu.askerSayisi > 1 && bolge2.ordu.askerSayisi > 0)
            {
                int bb1;
                int bb2;
                bb1 = random.Next(1, randomAraligi + (bolge1.ordu.askerSayisi / 5));
                System.Threading.Thread.Sleep(20);
                for (int i = 1; i <= 11; i++) { random.Next();}
                bb2 = random.Next(1, randomAraligi + (bolge2.ordu.askerSayisi / 5));

                temp += bb1.ToString() + " - " + bb2.ToString() + "\n";
                if (bb1 > bb2)
                {
                    bolge2.ordu.askerSayisi--;
                    form1.changeLabel(bolge2);
                    textBox3.Text=bolge2.ordu.askerSayisi.ToString();
                    if (bolge2.ordu.askerSayisi == 0)
                    {
                        bolge2.sahip.bolgeler.Remove(bolge2);
                        bolge1.sahip.bolgeler.Add(bolge2);
                        bolge2.sahip = bolge1.sahip;
                        bolge1.ordu.askerSayisi--;
                        bolge2.ordu.askerSayisi++;
                        this.Visible = false;

                        int b1 = bolge1.ordu.askerSayisi;
                        int b2 = bolge2.ordu.askerSayisi;
                        ArmyMove am = new ArmyMove(bolge1, bolge2, form1);
                        am.ShowDialog();

                        if (form1.isArmyMoved)
                        {
                            form1.changeLabel(bolge1);
                            form1.changeLabel(bolge2);
                            form1.isArmyMoved = false;
                        }
                        else
                        {
                            bolge1.ordu.askerSayisi = b1;
                            bolge2.ordu.askerSayisi = b2;
                            form1.changeLabel(bolge1);
                            form1.changeLabel(bolge2);
                        }

                        form1.changeTerritoryColor(bolge2, bolge2.sahip);
                        break;
                    }

                }
                if (bb1 < bb2)
                {
                    bolge1.ordu.askerSayisi--;
                    form1.changeLabel(bolge1);
                    textBox2.Text = bolge1.ordu.askerSayisi.ToString();
                }
                refreshSaldiriEkrani();
                form1.refreshGame();
            }
            //MessageBox.Show(temp);
        }
        public void warAttack()
        {
            if (bolge1.ordu.askerSayisi > 1 && bolge2.ordu.askerSayisi > 0)
            {
                Random random = new Random();
                int    bb1;
                int    bb2;

                bb1 = random.Next(1, randomAraligi + (bolge1.ordu.askerSayisi / 5));
                bb2 = random.Next(1, randomAraligi + (bolge2.ordu.askerSayisi / 5));

                if (bb1 > bb2)
                {
                    bolge2.ordu.askerSayisi--;
                    form1.changeLabel(bolge2);
                    textBox3.Text = bolge2.ordu.askerSayisi.ToString();
                    if (bolge2.ordu.askerSayisi == 0)
                    {
                        bolge2.sahip.bolgeler.Remove(bolge2);
                        bolge1.sahip.bolgeler.Add(bolge2);
                        bolge2.sahip = bolge1.sahip;
                        bolge1.ordu.askerSayisi--;
                        bolge2.ordu.askerSayisi++;
                        this.Visible = false;

                        int      b1 = bolge1.ordu.askerSayisi;
                        int      b2 = bolge2.ordu.askerSayisi;
                        ArmyMove am = new ArmyMove(bolge1, bolge2, form1);
                        am.ShowDialog();

                        if (form1.isArmyMoved)
                        {
                            form1.changeLabel(bolge1);
                            form1.changeLabel(bolge2);
                            form1.isArmyMoved = false;
                        }
                        else
                        {
                            form1.changeLabel(bolge1);
                            form1.changeLabel(bolge2);
                            bolge1.ordu.askerSayisi = b1;
                            bolge2.ordu.askerSayisi = b2;
                        }

                        form1.changeLabel(bolge1);
                        form1.changeLabel(bolge2);
                        form1.changeTerritoryColor(bolge2, bolge2.sahip);
                    }
                }
                else if (bb1 < bb2)
                {
                    bolge1.ordu.askerSayisi--;
                    form1.changeLabel(bolge1);
                    textBox2.Text = bolge1.ordu.askerSayisi.ToString();
                }
                else
                {
                    //Devam..
                }
            }
        }
Esempio n. 4
0
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (players[turn].isHuman)
            {
                //Kodlar buraya gelecek
                //Tıklanan yerin kordinatını ve rengini gösterir
                Bitmap bm = new Bitmap(pictureBox1.Image);
                Point localmousePosition = pictureBox1.PointToClient(System.Windows.Forms.Cursor.Position);
                Color col = bm.GetPixel(localmousePosition.X, localmousePosition.Y);
                //MessageBox.Show("X= " + localmousePosition.X.ToString() + "\nY= " + localmousePosition.Y.ToString() +"\nRenk:"+ col.Name);

                foreach (Bolge bol in bolgeler)
                {
                    bool broke = false;
                    foreach (Nokta n in bol.noktalar)
                    {
                        if (n.point == localmousePosition)
                        {
                            //MessageBox.Show(bol.isim);
                            //öncelikle Bölgeler Seçilecek
                            if (!butunBolgelerSecildiMi())
                            {
                                if (!bol.sahipli)
                                {
                                    bol.sahip = players[turn];
                                    bol.sahipli = true;
                                    players[turn].bolgeler.Add(bol);
                                    changeTerritoryColor(bol, players[turn]);
                                    //txtInfo.Text = players[getNextTurn()].name + " please choose a territory";
                                    if (butunBolgelerSecildiMi())
                                    {
                                        changeInfo("Game Starts...");
                                    }
                                    changeTurn();
                                    changeLabel(bol);
                                }
                                if (butunBolgelerSecildiMi())
                                {
                                    //changeInfo(players[turn].name + " please place your army. [" + Math.Floor((double)(ilkAskerler / players.Count)).ToString() + "]");
                                    showHistoryToolStripMenuItem.Enabled = true;
                                }
                            }
                            else
                            {
                                //Kodlar Buraya Gelecek
                                if (ilkAskerler > 0)//İlk Askerleri Dağıtılmasıması bitene kadar
                                {
                                    if (bol.sahip == players[turn])
                                    {
                                        ilkAskerler--;
                                        players[turn].ilkAskerSayisi--;
                                        bol.ordu.askerSayisi++;
                                        changeLabel(bol);
                                        changeTurn();
                                        //changeInfo(players[turn].name + " please place your army. [" +players[turn].ilkAskerSayisi .ToString() + "]");
                                    }
                                    if (ilkAskerler == 0)
                                    {
                                        changeInfo("You have " + players[turn].yeniAskerler + " armies left to place [+SHIFT=place all]");
                                        ganimetBolgseiniBildir();

                                        ToolTip buttonToolTip = new ToolTip();
                                        buttonToolTip.UseFading = true;
                                        buttonToolTip.UseAnimation = true;
                                        //buttonToolTip.IsBalloon = true;
                                        buttonToolTip.ShowAlways = true;
                                        buttonToolTip.AutoPopDelay = 5000;
                                        buttonToolTip.InitialDelay = 1000;
                                        buttonToolTip.ReshowDelay = 500;
                                        buttonToolTip.Show("Gold is here!", label, 4000);
                                        //buttonToolTip.SetToolTip(label, "Gold is Here!");

                                    }
                                }//ilk Askerlerin Dağıtılması Bittikten Sonra
                                else
                                {
                                    //Öncelikle her turn de verilen askerlerin yerine yerleştirilmesi lazım
                                    if (players[turn].yeniAskerler > 0)
                                    {
                                        if (bol.sahip == players[turn])
                                        {
                                            if (Control.ModifierKeys == Keys.Shift)
                                            {
                                                bol.ordu.askerSayisi += players[turn].yeniAskerler;
                                                players[turn].yeniAskerler = 0;
                                                changeLabel(bol);
                                                txtInfo.Text = "Attack or pass (press to spacebar)";
                                            }
                                            else
                                            {
                                                players[turn].yeniAskerler--;
                                                bol.ordu.askerSayisi++;
                                                changeLabel(bol);
                                                changeInfo("You have " + players[turn].yeniAskerler + " armies left to place [+SHIFT=place all]");
                                            }
                                            if (players[turn].yeniAskerler == 0)
                                            {
                                                button2.Enabled = true;
                                            }
                                        }
                                    }
                                    if (players[turn].yeniAskerler == 0)
                                    {
                                        //Askerler Dağıtıldı şimdi hucum yapılabilir
                                        if (state == 0 && bol.sahip == players[turn])//İlk kez kendi yerine tıklıyor
                                        {
                                            state = 1;
                                            txtInfo.Text = "From " + bol.isim + ". Choose a territory to attack or move to (spacebar to pass)";
                                            ilkTiklananBolge = bol;
                                        }
                                        else if (state == 1 && bol.komsular.Contains(ilkTiklananBolge))//komşusuna tıklamış
                                        {
                                            if (bol.sahip == players[turn])//kendi bölgesine transfer
                                            {
                                                if (ilkTiklananBolge.ordu.askerSayisi > 1 || bol.ordu.askerSayisi > 1)
                                                {
                                                    int b1 = ilkTiklananBolge.ordu.askerSayisi;
                                                    int b2 = bol.ordu.askerSayisi;
                                                    ArmyMove am = new ArmyMove(ilkTiklananBolge, bol, this);
                                                    am.ShowDialog();

                                                    if (isArmyMoved)
                                                    {
                                                        changeLabel(ilkTiklananBolge);
                                                        changeLabel(bol);
                                                        changeTurn();
                                                        isArmyMoved = false;
                                                    }
                                                    else
                                                    {
                                                        ilkTiklananBolge.ordu.askerSayisi = b1;
                                                        bol.ordu.askerSayisi = b2;
                                                    }
                                                }
                                                state = 0;
                                                ilkTiklananBolge = null;
                                            }
                                            else //Düşman bölgesine saldırı
                                            {
                                                if (ilkTiklananBolge.ordu.askerSayisi > 1)
                                                {
                                                    SaldiriEkrani saldiriekrani = new SaldiriEkrani(ilkTiklananBolge, bol, this);
                                                    saldiriekrani.ShowDialog();
                                                    isArmyMoved = false;
                                                }
                                                ilkTiklananBolge = null;
                                                state = 0;
                                            }
                                        }
                                        else
                                        {
                                            state = 0;
                                            ilkTiklananBolge = null;
                                        }
                                    }
                                }
                            }
                            broke = true;
                            break;
                        }
                    }
                    if (broke) break;
                }
                olduMu();
                changeStatistics();
            }
        }
        public void warDoORDie()
        {
            string temp = "";

            temp += bolge1.isim + ":" + bolge1.ordu.askerSayisi.ToString() + "\n";
            temp += bolge2.isim + ":" + bolge2.ordu.askerSayisi.ToString() + "\n---------\n";

            while (bolge1.ordu.askerSayisi > 1 && bolge2.ordu.askerSayisi > 0)
            {
                int bb1;
                int bb2;
                bb1 = random.Next(1, randomAraligi + (bolge1.ordu.askerSayisi / 5));
                System.Threading.Thread.Sleep(20);
                for (int i = 1; i <= 11; i++)
                {
                    random.Next();
                }
                bb2 = random.Next(1, randomAraligi + (bolge2.ordu.askerSayisi / 5));


                temp += bb1.ToString() + " - " + bb2.ToString() + "\n";
                if (bb1 > bb2)
                {
                    bolge2.ordu.askerSayisi--;
                    form1.changeLabel(bolge2);
                    textBox3.Text = bolge2.ordu.askerSayisi.ToString();
                    if (bolge2.ordu.askerSayisi == 0)
                    {
                        bolge2.sahip.bolgeler.Remove(bolge2);
                        bolge1.sahip.bolgeler.Add(bolge2);
                        bolge2.sahip = bolge1.sahip;
                        bolge1.ordu.askerSayisi--;
                        bolge2.ordu.askerSayisi++;
                        this.Visible = false;


                        int      b1 = bolge1.ordu.askerSayisi;
                        int      b2 = bolge2.ordu.askerSayisi;
                        ArmyMove am = new ArmyMove(bolge1, bolge2, form1);
                        am.ShowDialog();

                        if (form1.isArmyMoved)
                        {
                            form1.changeLabel(bolge1);
                            form1.changeLabel(bolge2);
                            form1.isArmyMoved = false;
                        }
                        else
                        {
                            bolge1.ordu.askerSayisi = b1;
                            bolge2.ordu.askerSayisi = b2;
                            form1.changeLabel(bolge1);
                            form1.changeLabel(bolge2);
                        }

                        form1.changeTerritoryColor(bolge2, bolge2.sahip);
                        break;
                    }
                }
                if (bb1 < bb2)
                {
                    bolge1.ordu.askerSayisi--;
                    form1.changeLabel(bolge1);
                    textBox2.Text = bolge1.ordu.askerSayisi.ToString();
                }
                refreshSaldiriEkrani();
                form1.refreshGame();
            }
            //MessageBox.Show(temp);
        }