private void FormHavaAlani_Load(object sender, EventArgs e) { // Resmin flip edilmiş hali lazım. pbMusteri2.Image.RotateFlip(RotateFlipType.Rotate180FlipY); // ve başta görünmemesi gerekiyor. pbMusteri2.Visible = false; spHande = new SoundPlayer(Resources.hande); spKizan = new SoundPlayer(Resources.kizan); // ilk değerleri initialize ediyoruz. sorun olursa exception u bastırıyoruz. try { pbUcak2.Image.RotateFlip(RotateFlipType.Rotate180FlipX); havaalani = new Havaalani(); simulasyon = new Simulasyon(havaalani); simulasyon.BaslangicDurumunaGetir(); havaalani.Zaman = DateTime.Now; timer1.Start(); timerZaman.Start(); // hangarları da random olarak dolu veya boş olarak oluşturuyoruz. // form ile ilgili bir işlem olduğundan bunu simulasyon sınıfının içinde yapmadık. int i = 0; foreach (HangarPictureBox hpb in pnlHangar.Controls.OfType<HangarPictureBox>()) { if (rnd.Next(1, 10) >= 5) { havaalani.Hangarlar[i] = new Hangar(); havaalani.Hangarlar[i].Ucak = new Ucak(); // havaalani.Hangarlar[i].Ucak.Pilot = ((Pilot)simulasyon.rastgeleKisiOlustur(KisiTipi.Personel)); // TODO: castteki sorunu düzelt havaalani.Hangarlar[i].Ucak.Pilot = new Pilot(simulasyon.rastgeleKisiOlustur(KisiTipi.Personel)); hpb.HangariDoluGoster(); } else { hpb.HangariBosGoster(); } i++; } } catch (Exception ex) { MessageBox.Show("Bir sorun oluştu: " + ex.Message); throw; } // uçuş listesini listeyen panoyu güncelliyoruz. yine form tabanlı işlemler... PanoyuGuncelle(); }
public Simulasyon(Havaalani havaAlani) { this.havaAlani = havaAlani; rastgele = new Random(); }