VİSUAL BASİC PİCTUREBOX HAREKETİ ACİL YARDIM ÖDEVV

Bu konuyu okuyanlar

gorkem9334

Öğrenci
Katılım
27 Aralık 2016
Mesajlar
1
Reaksiyon puanı
0
Puanları
1
Yaş
30
Visual Basic de arrow keys kullanmadan, pictureboxı hareket ettirmek istiyorum.
bir text dosyasına bu tarz komutlar yazılacak sonra picturebox hareket edecek formun kenarlarına çarparsa sekip dönücek :
1. U : Yukarı. U12 komutu, 12 birim yukarı git anlamını taşır.
2. D : Aşağı. D5 komutu ile robot 5 birim aşağı gider.
3. R : Sağa. R24 komutu ile robot sağa doğru 24 adım yol alır.
4. L : Sola. L5 komutu ile robot 5 birim sola gider.

Hoca komutları kendisi girecekmiş
 

errno

Doçent
Katılım
17 Temmuz 2016
Mesajlar
694
Reaksiyon puanı
567
Puanları
93
Merhaba,

sen direk ödevi bize getirmişsin ama bir problem var. Güzel notu sen alacaksın. O zaman dengeli birşeyler yapalım. Sana yol gösterelim ve kodları yaz ki alacağın notu hak et. Ayrıca verdiğin bilgilerde eksiklikler olduğunu düşünüyorum. PictureBox hareket ettiğinde ve kenarlara çarpıp sektiğinde senin bunu veya izleyen kişinin bunu görüp göremeyeceğinden şüpeliyim. Timer eksiğin var gibi geliyor bana ama neyse dediğin gibi olsun. Ayrıca sekme işlemi için detayları vermemişsin. Ne yani sekmenin detayı mı olur dersen onu da sana bırakıyorum. Çünkü program yazıyorsun ve varsayım olan hiçbir bilgi vermemişsin. Mesela sekme ile ilgili. Sen halledersin onu da.

Elimizdeki önemli elemanlar :
---------------------------------------
1- Formun kenar uzunlukları.
2- PictureBox kontrolü (Bu kontrolün dolu ve önceden ayarlanmış olduğunu varsayıyorum)
3- IO Sınıfı


Bir Function/Sub tanımla. İşini basitçe bir fonksiyon/Sub görecektir. Bu Sub/fonksiyonumuz;

1- ilk başta dosya varlığını kontrol etsin File.Exist ile. Yoksa hata fırlatıp kullanıcıya mesaj versin.
2- eğer dosya var ise dosyayı açıp okusun ancak bu okumayı kontrollü bir şekilde yapsın. Örnek olarak U12 değilde UE12 gibi bir yanlış ifadeye karşı olmaktan basediyorum. Bunun kontrolünü de yap.
3- üstteki iki aşamayıda geçtiğini düşünelim. Diyelim ki senin yazdığın gibi geldi. Birim dediğin şeyin ne olduğunu bilmediğim veya ne kastettiğini bilmdiğim için farklı bir yorum getireceğim. PictureBox formun üzerinde duruyor ve biz bunu gelen komuta göre hareket ettireceksek U12 demek; Picturebox'ın Left özelliğini 1 birim arttıracaksın. Arttırırkende forumun kenarınadenk gelip gelmediğini anlamak için arttırmadan önce kontrol edeceksin. Örnek olarak PictureBox.Left + PictureBox.Size.Width toplamı sana o an ilerlemiş olduğun sağ uç konumun uzunluğunu verir. Sende bu uzunluğu alacaksın ve Form.Size.Width ile karşılaştıracaksın. Bahsi geçen uzunluk + 1 birim eğer Form.Size.Width ile eşitse devam ancak büyükse sektirmeye gireceksin. Bu demektir ki en sonki + 1'e devam edeceksin ancak sonra kalan birim kadar PictureBox.Right özelliğini arttıracaksın.

Mantık bu şekilde. Form'un Left, Right, Top, Bottom özellikleri ile çalışacaksın. Aynı şekilde PictureBox'ın arttırımlarını da bu şekilde ypacaksın.

Saygılarımla.
 
Üst