Mayın oyunu projesinde amaç; kullanıcının girdiği değerler ile oluşturulan alanda yine kullanıcı tarafından yapılan mayın ekleme çıkarma işlemleri sonucunda tarayıcının alandaki mayınları tarayıp temizlemesini sağlamaktır. Kullanıcı mayın ekleme çıkarmanın yanında tarayıcıya engel olacak duvarlar da yerleştirebilmektedir.
Projede başlangıç için iki tane girdi alınmaktadır. Bu girdiler x ve y koordinatlarıdır. Bu koordinatlara göre X * Y ‘lik kenarları duvar halinde bir mayın alanı oluşturulur daha sonra kullanıcılar alan üzerinde istedikleri noktalara engel ekleyebilir.
Kullanıcıdan alınan X ve Y değerleri sonucunda 2 boyutlu, kenarları duvar ile kaplı bir alan elde ediliyor.
Kullanıcının girdileri ile oluşturulan alan içerisindeki tarayıcının gezmediği alanların değeri 0, duvar koyulan alanlar ile kullanıcının duvar eklediği alanlarda 9999’dur. Buna bağlı olarak tarayıcımız her geçtiği alanı 1 artırarak bölgede ilk önceliği yukarı yön olmak üzere sırasıyla sol, sağ ve aşağı yönlere yönelir. Geçtiği alanlardan tekrar geçebilir.
Değerleri Aldığımız Ekran
Panel üzerinde duvar ekleme / harita hali
Başladıktan sonra tarama işlemi ekranı
- Kullanıcıdan istenen X ve Y boş geçilemez.
- X ve Y değerlerinin eksi değer, harf ve özel karakter olarak girilemez.
- İstenen değerler girilmediği sürece alan oluşturulmadan oyuna başlanamaz.
- Girdiler belirli aralıkta olmalıdır.
- Değerler minimum 5 x 5 olmalıdır.
- Değerler en fazla 30 x 17 olmalıdır. (Bu kısıtlama ekran çözünürlüğünün 1366 x 768 olmasından kaynaklıdır.)
- Tarama işlemine başlandıktan sonra tekrar alan oluşturulamaz.
- Alan oluşturulmadan tarama işlemine başlanamaz.
- Tarayıcının etrafı kapatılamaz.
- Bir matının dört tarafı kapatılamaz.
- Alanın ortasına engel koyma engellenemedi.
- Çözünürlükten kaynaklı sınırlama yapıldı.