Example #1
0
 public B_Oyuncusu(Altin altin, GizliAltin gizliAltin, List <List <Block> > grid, int konumY, int konumX)
 {
     this.oyuncuRengi    = Color.Green;
     this.hamleMaliyet   = AnaForm.parametre.b_OyuncuHamleMaliyet;
     this.hedefMaliyet   = AnaForm.parametre.b_OyuncuHedefMaliyet;
     this.altin          = altin;
     this.gizliAltin     = gizliAltin;
     this.grid           = grid;
     this.konum          = (konumX, konumY);
     this.hedef          = (konumX, konumY);
     this.oyuncuNumarasi = -2;
     this.oyuncuIsmi     = "B";
 }
        public OyunAnaLabel(int tabanYuksekligi, int tabanGenisligi)
        {
            this.turlar          = new int[] { 1, 1, 1, 1 };
            this.tabanGenisligi  = tabanGenisligi;
            this.tabanYuksekligi = tabanYuksekligi;

            // oyunun taban kısmı teorik olarak oluşturulur
            this.taban = new Taban(tabanYuksekligi, tabanGenisligi);

            // oyunun altin kısmı teorik olarak oluşturulur
            this.altin = new Altin();

            // oyunun gizliAltin kısmı teorik olarak oluşturulur
            this.gizliAltin    = new GizliAltin(altin);
            altin.altinSayisi -= gizliAltin.gizliAltinSayisi;

            // oyunda yer alan 4 farklı oyuncu bir listenin içinde polymorghism kullanılarak oluşturulur
            this.oyuncular = oyuncular = new List <Oyuncu>()
            {
                { new A_Oyuncusu(altin, gizliAltin, taban.grid, 0, 0) },
                { new B_Oyuncusu(altin, gizliAltin, taban.grid, 0, AnaForm.parametre.boyutX - 1) },
                { new C_Oyuncusu(altin, gizliAltin, taban.grid, AnaForm.parametre.boyutY - 1, 0) },
                { new D_Oyuncusu(altin, gizliAltin, taban.grid, AnaForm.parametre.boyutY - 1, AnaForm.parametre.boyutX - 1) },
            };

            // oyunda ki her oyuncu için kayıtlar tutulması için dosyalar oluşturulur
            this.dosyalar = dosyalar = new List <Dosya>()
            {
                { new Dosya("A_Oyuncu_Kayitlari") },
                { new Dosya("B_Oyuncu_Kayitlari") },
                { new Dosya("C_Oyuncu_Kayitlari") },
                { new Dosya("D_Oyuncu_Kayitlari") }
            };

            // oluşturulan dosyalara başlıklar eklenir
            foreach (var dosya in dosyalar)
            {
                dosya.DosyaYazdır("Oyun Başladı...");
            }

            this.cizimYonetimi = new CizimYonetimi();
            this.Paint        += new PaintEventHandler(this.oyunAnaLabelCizdir);
            this.Dock          = DockStyle.Fill;

            anaTimer          = new DispatcherTimer();
            anaTimer.Interval = new TimeSpan(0, 0, 0, 0, 400); // 400 Milliseconds
            anaTimer.Tick    += new EventHandler(this.anaTimer_Tick);

            anaTimer.Start();
        }