Пример #1
0
 void ArkaPlanToggle(Oyuncu oyuncu)
 {
     if (oyuncu.gorsel.BackColor == Color.White)
     {
         oyuncu.gorsel.BackColor = Color.Black;
     }
     else
     {
         oyuncu.gorsel.BackColor = Color.White;
     }
 }
Пример #2
0
 void GizliAltinVarmi(Oyuncu oyuncuKonumu)
 {
     for (int i = 0; i < Altinlar.Length; i++)
     {
         if (Altinlar[i].GetDeger() == int.MaxValue || Altinlar[i].GetGorunurluk())
         {
             continue;
         }
         if (oyuncuKonumu.konum.x == Altinlar[i].GetX() && oyuncuKonumu.konum.y == Altinlar[i].GetY())
         {
             Altinlar[i].SetGorunurluk(true);
         }
     }
 }
Пример #3
0
        void IstatistikOlustur(Oyuncu oyuncu, string veri)
        {
            switch (oyuncu.oyuncuTipi)
            {
            case 'A':
                sw_A.WriteLine(veri);
                break;

            case 'B':
                sw_B.WriteLine(veri);
                break;

            case 'C':
                sw_C.WriteLine(veri);
                break;

            case 'D':
                sw_D.WriteLine(veri);
                break;
            }
        }
Пример #4
0
        void ToplananAltinArttir(Oyuncu oyuncu, int AltinMiktari)
        {
            switch (oyuncu.oyuncuTipi)
            {
            case 'A':
                A_ToplananAltin += AltinMiktari;
                break;

            case 'B':
                B_ToplananAltin += AltinMiktari;
                break;

            case 'C':
                C_ToplananAltin += AltinMiktari;
                break;

            case 'D':
                D_ToplananAltin += AltinMiktari;
                break;
            }
        }
Пример #5
0
        void AdimArttir(Oyuncu oyuncu)
        {
            switch (oyuncu.oyuncuTipi)
            {
            case 'A':
                A_ToplamAdim++;
                break;

            case 'B':
                B_ToplamAdim++;
                break;

            case 'C':
                C_ToplamAdim++;
                break;

            case 'D':
                D_ToplamAdim++;
                break;
            }
        }
Пример #6
0
        void OyunculariOlustur()
        {
            Image[] imgOyuncular = new Image[4];
            imgOyuncular[0] = Image.FromFile("resimler\\bluePlayer.png");
            imgOyuncular[1] = Image.FromFile("resimler\\greenPlayer.png");
            imgOyuncular[2] = Image.FromFile("resimler\\redPlayer.png");
            imgOyuncular[3] = Image.FromFile("resimler\\yellowPlayer.png");

            PictureBox[] pcbOyuncular = new PictureBox[4];

            for (int i = 0; i < pcbOyuncular.Length; i++)
            {
                pcbOyuncular[i] = new PictureBox();
                panelOyun.Controls.Add(pcbOyuncular[i]);
                pcbOyuncular[i].Image       = imgOyuncular[i];
                pcbOyuncular[i].SizeMode    = PictureBoxSizeMode.StretchImage;
                pcbOyuncular[i].Width       = (panelOyun.Width / M) / 2;
                pcbOyuncular[i].Height      = (panelOyun.Height / N) / 2;
                pcbOyuncular[i].BorderStyle = BorderStyle.None;
                pcbOyuncular[i].BringToFront();
                pcbOyuncular[i].Visible = true;
            }


            pcbOyuncular[0].Top       = 0 + pcbOyuncular[0].Height / 2;
            pcbOyuncular[0].Left      = 0 + pcbOyuncular[0].Width / 2;
            pcbOyuncular[0].BackColor = Color.Black;

            pcbOyuncular[1].Top       = 0 + pcbOyuncular[1].Height / 2;
            pcbOyuncular[1].Left      = ((M - 1) * panelOyun.Width / M) + pcbOyuncular[1].Width / 2;
            pcbOyuncular[1].BackColor = ((M - 1) % 2 == 0) ? Color.Black : Color.White;

            pcbOyuncular[2].Top       = ((N - 1) * panelOyun.Height / N) + pcbOyuncular[0].Height / 2;
            pcbOyuncular[2].Left      = 0 + pcbOyuncular[2].Width / 2;
            pcbOyuncular[2].BackColor = ((N - 1) % 2 == 0) ? Color.Black : Color.White;

            pcbOyuncular[3].Top  = ((N - 1) * panelOyun.Height / N) + pcbOyuncular[3].Height / 2;
            pcbOyuncular[3].Left = ((M - 1) * panelOyun.Width / M) + pcbOyuncular[3].Width / 2;
            if (N % 2 == 0 && M % 2 == 0)
            {
                pcbOyuncular[3].BackColor = Color.Black;
            }
            else if (N % 2 == 1 && M % 2 == 0)
            {
                pcbOyuncular[3].BackColor = Color.White;
            }
            else if (N % 2 == 0 && M % 2 == 1)
            {
                pcbOyuncular[3].BackColor = Color.White;
            }
            else if (N % 2 == 1 && M % 2 == 1)
            {
                pcbOyuncular[3].BackColor = Color.Black;
            }
            //pcbOyuncular[3].BackColor = (N % 2 == 0 && M % 2 == 0) ? Color.Black : Color.White;
            //pcbOyuncular[3].BackColor = (N-1 % 2 == 0 && M % 2 == 0) ? Color.White : Color.Black;
            //pcbOyuncular[3].BackColor = (N % 2 == 0 && M-1 % 2 == 0) ? Color.Black : Color.White;


            Oyuncular[0] = new Oyuncu('A', oyuncuBaslangicAltinMiktari, (int)numericA_Hamle.Value, (int)numericA_Hedef.Value, hamleHakki, new Oyuncu.Konum(0, 0), pcbOyuncular[0], Altinlar);
            Oyuncular[1] = new Oyuncu('B', oyuncuBaslangicAltinMiktari, (int)numericB_Hamle.Value, (int)numericB_Hedef.Value, hamleHakki, new Oyuncu.Konum(M - 1, 0), pcbOyuncular[1], Altinlar);
            Oyuncular[2] = new Oyuncu('C', oyuncuBaslangicAltinMiktari, (int)numericC_Hamle.Value, (int)numericC_Hedef.Value, hamleHakki, new Oyuncu.Konum(0, N - 1), pcbOyuncular[2], Altinlar);
            Oyuncular[3] = new Oyuncu('D', oyuncuBaslangicAltinMiktari, (int)numericD_Hamle.Value, (int)numericD_Hedef.Value, hamleHakki, new Oyuncu.Konum(M - 1, N - 1), pcbOyuncular[3], Altinlar);

            Oyuncu.OyunculariOlustur(Oyuncular);
            panelLog.BringToFront();
        }
 // her bir oyuncu hedef gösterdikten sonra oyunda hedefin hangisi olduğu
 // gösterilmesi için çizilmektedir.
 public void hedefGostergeCiz(Oyuncu oyuncu, PaintEventArgs args, List <List <Block> > grid)
 {
     blockCizdir(args, oyuncu.oyuncuRengi, grid[oyuncu.hedef.y][oyuncu.hedef.x]);
 }
 // her bir oyuncunun çizidirilme işlemini gerçekleştirmektedir.
 public void oyuncuCiz(Oyuncu oyuncu, PaintEventArgs args, List <List <Block> > grid, string name)
 {
     blockBoya(args, oyuncu.oyuncuRengi, grid[oyuncu.konum.y][oyuncu.konum.x], name);
 }
Пример #9
0
 bool UzerindeMi(Oyuncu oyuncuKonumu, Altin hedefAltin)
 {
     return((oyuncuKonumu.konum.x == hedefAltin.GetX() && oyuncuKonumu.konum.y == hedefAltin.GetY()) ? true : false);
 }
Пример #10
0
        void Yuru(Oyuncu oyuncu, Altin hedefAltin, Panel panelOyun)
        {
            for (int i = 0; i < oyuncu.hamleHakki; i++)
            {
                if (oyuncu.altinMiktari < oyuncu.hamleMaliyeti)
                {
                    break;
                }
                panelOyun.Refresh();
                if (hedefAltin.GetX() - oyuncu.konum.x < 0)
                {
                    HarcananAltinArttir(oyuncu, oyuncu.hamleMaliyeti);
                    AdimArttir(oyuncu);
                    oyuncu.konum.x -= 1;
                    ArkaPlanToggle(oyuncu);
                    oyuncu.altinMiktari -= oyuncu.hamleMaliyeti;
                    altinToplamaOyunu.logEkrani.Items.Add("Oyuncu " + oyuncu.oyuncuTipi + "(" + oyuncu.konum.x + " , " + oyuncu.konum.y + ") konumuna gitti");
                    altinToplamaOyunu.logEkrani.Refresh();
                    IstatistikOlustur(oyuncu, "Oyuncu " + oyuncu.oyuncuTipi + "(" + oyuncu.konum.x + " , " + oyuncu.konum.y + ") konumuna gitti. [-" + oyuncu.hamleMaliyeti + "]");
                    altinToplamaOyunu.oyuncuLabellar[(int)oyuncu.oyuncuTipi - 65].Text = "Oyuncu : " + oyuncu.oyuncuTipi + " " + oyuncu.altinMiktari;
                    altinToplamaOyunu.oyuncuLabellar[(int)oyuncu.oyuncuTipi - 65].Refresh();
                    GizliAltinVarmi(oyuncu);
                    oyuncu.gorsel.Left -= oyuncu.gorsel.Width * 2;
                    continue;
                }
                else if (hedefAltin.GetX() - oyuncu.konum.x > 0)
                {
                    HarcananAltinArttir(oyuncu, oyuncu.hamleMaliyeti);
                    AdimArttir(oyuncu);
                    oyuncu.konum.x += 1;
                    ArkaPlanToggle(oyuncu);
                    oyuncu.altinMiktari -= oyuncu.hamleMaliyeti;
                    altinToplamaOyunu.logEkrani.Items.Add("Oyuncu " + oyuncu.oyuncuTipi + "(" + oyuncu.konum.x + " , " + oyuncu.konum.y + ") konumuna gitti");
                    altinToplamaOyunu.logEkrani.Refresh();
                    IstatistikOlustur(oyuncu, "Oyuncu " + oyuncu.oyuncuTipi + "(" + oyuncu.konum.x + " , " + oyuncu.konum.y + ") konumuna gitti. [-" + oyuncu.hamleMaliyeti + "]");
                    altinToplamaOyunu.oyuncuLabellar[(int)oyuncu.oyuncuTipi - 65].Text = "Oyuncu : " + oyuncu.oyuncuTipi + " " + oyuncu.altinMiktari;
                    altinToplamaOyunu.oyuncuLabellar[(int)oyuncu.oyuncuTipi - 65].Refresh();
                    GizliAltinVarmi(oyuncu);
                    oyuncu.gorsel.Left += oyuncu.gorsel.Width * 2;
                    continue;
                }

                if (hedefAltin.GetY() - oyuncu.konum.y < 0)
                {
                    HarcananAltinArttir(oyuncu, oyuncu.hamleMaliyeti);
                    AdimArttir(oyuncu);
                    oyuncu.konum.y -= 1;
                    ArkaPlanToggle(oyuncu);
                    oyuncu.altinMiktari -= oyuncu.hamleMaliyeti;
                    altinToplamaOyunu.logEkrani.Items.Add("Oyuncu " + oyuncu.oyuncuTipi + "(" + oyuncu.konum.x + " , " + oyuncu.konum.y + ") konumuna gitti");
                    altinToplamaOyunu.logEkrani.Refresh();
                    IstatistikOlustur(oyuncu, "Oyuncu " + oyuncu.oyuncuTipi + "(" + oyuncu.konum.x + " , " + oyuncu.konum.y + ") konumuna gitti. [-" + oyuncu.hamleMaliyeti + "]");
                    altinToplamaOyunu.oyuncuLabellar[(int)oyuncu.oyuncuTipi - 65].Text = "Oyuncu : " + oyuncu.oyuncuTipi + " " + oyuncu.altinMiktari;
                    altinToplamaOyunu.oyuncuLabellar[(int)oyuncu.oyuncuTipi - 65].Refresh();
                    GizliAltinVarmi(oyuncu);
                    oyuncu.gorsel.Top -= oyuncu.gorsel.Height * 2;
                    continue;
                }
                else if (hedefAltin.GetY() - oyuncu.konum.y > 0)
                {
                    HarcananAltinArttir(oyuncu, oyuncu.hamleMaliyeti);
                    AdimArttir(oyuncu);
                    oyuncu.konum.y += 1;
                    ArkaPlanToggle(oyuncu);
                    oyuncu.altinMiktari -= oyuncu.hamleMaliyeti;
                    altinToplamaOyunu.logEkrani.Items.Add("Oyuncu " + oyuncu.oyuncuTipi + "(" + oyuncu.konum.x + " , " + oyuncu.konum.y + ") konumuna gitti");
                    altinToplamaOyunu.logEkrani.Refresh();
                    IstatistikOlustur(oyuncu, "Oyuncu " + oyuncu.oyuncuTipi + "(" + oyuncu.konum.x + " , " + oyuncu.konum.y + ") konumuna gitti. [-" + oyuncu.hamleMaliyeti + "]");
                    altinToplamaOyunu.oyuncuLabellar[(int)oyuncu.oyuncuTipi - 65].Text = "Oyuncu : " + oyuncu.oyuncuTipi + " " + oyuncu.altinMiktari;
                    altinToplamaOyunu.oyuncuLabellar[(int)oyuncu.oyuncuTipi - 65].Refresh();
                    GizliAltinVarmi(oyuncu);
                    oyuncu.gorsel.Top += oyuncu.gorsel.Height * 2;
                    continue;
                }
            }
        }