Ana içeriğe atla

Java ile Android Ortamına Sayı Tahmin Oyunu Yapmak

Java dilini kullanarak çeşitli uygulamalar yapılabilir. Bunların içerisinde en basitlerin birisi ise minik bir Sayı Tahmin Oyunu. Sayı tahmin oyununda amaç ve sistem, hemen hepimizin bildiği gibi sistem tarafından akıldan bir sayı tutulması ve kullanıcının bir kaç yönergeyle bu sayıyı bulması için çaba harcaması. Kaba olarak böyle, ancak tahmin hakkı, süre kısıtlaması vs. gibi eklentilerle uygulama daha da renklendirilebilir. Bunu kendiniz yapabilirsiniz, ben direk olarak uygulamanın temel halini anlatacağım.

UYARI : Uygulamanın son haline ait dosyaları ve kaynağı buradan indirebilirsiniz...


Projemizi açtıysak hemen geçelim...

Öncelikle layout yani arayüz kısmında bulunması gerekenler;

Tıklanması için 2 buton (Birisi yeni oyun ve diğeri de tahmin kontrol butonu),
1 EditText (Kullanıcının tahminlerini girebilmesi için)
1 tane de TextView (Kullanıcıya çeşitli yönergeler ve durumu belirtmek için)

View' ları ekledikten sonra Graphical Layout
hemen hemen böyle olmalıdır.

Oluşturduğumuz View' lara gerekli ID' ler ve değerleri yazdıktan sonra şekildeki gibi bir görünüm elde edebilirsiniz. Bana kalırsa görünümü ayarlaysanız, zor kısım bitmiştir. Çünkü göreceksiniz ki bu uygulamanın kodları gerçekten basit ve anlaşılır olacak. Şimdi kodlarımızda sorun çıkmaması açısından, alttaki ID' leri gerekli butonlara veriniz;


  • (Button) Yeni Oyun Başlat : yeniOyunBaslat 
  • (Button) Tahmin Yap : btnTahmin
  • (EditText) Kullanıcının Sayı Girdiği Boş Text : txtTahmin
  • (TextView) Durum ve yönerge Texti : txtDurum 



Bu ID' leri vermemizin sebebi, biraz sonra kodlardan da anlayacağınız gibi bu objelerin kod tarafından kullanılabilir hale gelmesini sağlamaktır.

Buraya kadar işimiz tamam, test edersek herhangi bir kod olmaması ve sistemin işlememesinden başka bir sorun olmaması gerek. O halde geçelim kodlarımıza. Her kodun açıklaması, alt satırında veya yanında yer almaktadır, bu yüzden teker teker yazı içerisinde açıklamaya gerek duymuyorum. Ancak bahsedeceğim şeyler olacaktır, birazdan...

Import Edilecekler :


/*Burada Kullandığımız View, EditText, TextView ve Button' ları Kod İçerisine Çağırdık*/ import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Button;

Oluşturulan Değişkenler :


public Button tahminYap, yeniOyun;
public EditText tahmin;
public TextView durum;
double bulunacakSayi=0;


Ve son olarak onCreate fonksiyonu. Tüm işlem burada bitiyor aslında.

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

/*Programın başında da çalışabilmesi ve hata almamak açısından bulunacakSayi yani sistemin akıldan tuttuğu sayıyı oluşturduk.*/
bulunacakSayi = Math.ceil(Math.random()*100);

/*Hatırlarsanız ID' leri tanımlamıştık. O ID' leri kullanarak View' lara ulaştık.*/
tahminYap = (Button)findViewById(R.id.btnTahmin);
yeniOyun = (Button)findViewById(R.id.yeniOyunBaslat);
tahmin = (EditText)findViewById(R.id.txtTahmin);
durum = (TextView)findViewById(R.id.txtDurum);

/*Tahmin butonuna tıklanması için gerekli fonksiyonumuz.*/
tahminYap.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

/*Kullanıcının tahminini bulunduran veriyi önce String, ardından double veri türüne dönüştürerek sayıyı kontrol edebiliriz.*/
double yapilanTahmin = Double.parseDouble(tahmin.getText().toString());

/*Kullanıcı tahmini ve sistemin tuttuğu sayıya göre oluşacak durumları değerlendirerek, durum içeriğine yazdırdık.*/
if(yapilanTahmin > bulunacakSayi)
{
durum.setText("Biraz daha alçak bir sayı girmelisiniz.");
}
if(yapilanTahmin < bulunacakSayi)
{
durum.setText("Biraz daha yüksek bir sayı girmelisiniz.");
}
if(yapilanTahmin == bulunacakSayi)
{
durum.setText("Tebrikler, doğru tahmin.");
}
}
});

/*Yeni Oyun butonuna tıklanabilirlik işlemini kazandırdık.*/
yeniOyun.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

/*Sistemin tuttuğu sayıyı yenileyerek oyunu yeniden başlattık ve durum içeriğine bilgiyi yazdırdık.*/
bulunacakSayi = Math.ceil(Math.random()*100);
durum.setText("Yeni bir oyun başlattınız. 100 ile 1 arasındaki değeri bulunuz.");
}
});
}

Evet, kodları test ettiğinizde, sistemin alttaki gibi çalıştığını göreceksiniz eğer bir yerde hata yapmadıysanız.
Bir kaç kodu açıklama ihtiyacı hissettim, öncelikle Math.ceil(); ve Math.random(); kodlarına bakacak olursak, Math.ceil(); sayıyı en yakına yuvarlarken, random 0 ile 1 arasında rastgele bir sayı oluşturur. 100 ile çarpmamızın ve yuvarlamamızın nedeni sayının küsüratlı çıkmasını engellemek ve 0 ile 100 arasında yer almasını sağlamak. 100 yerine farklı bir değer girerseniz, tahmin edilmesi gereken random sayı girdiğiniz değer ile 0 arasında olacaktır.

setText ve getText metodlarına bakacak olursak. setText() bir String değeri verirken, yazı yazı yazdırırken, getText() yazılan yazıyı çeker.



Uygulamaya Ait Bir Fotoğraf :



Yorumlar

Bu blogdaki popüler yayınlar

Minecraft Eşya Listesi

Minecraft oyununda kullanılan eşyaların hepsi aşağıda yer almaktadır. Nasıl yapıldığını görmek isterseniz bağlantıya tıklayabilir ve nasıl yapıldığını ve ne işe yaradığını görebilirsiniz. Ayrıca Minecraft Crafting sayfasına giderek listede yer almayan diğer eşyaların yapımını da öğrenebilirsiniz. Minecraft sopa yapımı Minecraft orak yapımı Minecraft kürek yapımı Minecraft kek yapımı Minecraft kazma yapımı Minecraft şeker yapımı Minecraft sandık yapımı Minecraft kova yapımı Minecraft kitap yapımı Minecraft kağıt yapımı Minecraft yay yapımı Minecraft ok yapımı Minecraft çalışma masası yapımı Minecraft çakmak yapımı Minecraft balta yapma

Osmanlı Savaşları 1.7 MOD HİLELİ APK (Para Hileli)

Osmanlı Savaşları 1.7 Hileli Apk indir, Android Apk indir, Mod apk indir, Android Hack indir, Para Hileli Apk, Sınırsız Para Hilesi Merhaba arkadaşlar. Strateji oyun sevenler için Osmanlı Savaşları oyunu apk paylaşıyorum.. Android Apk oyun indir me. Osmanlı Savaşları hileli mod apk indir me linklerini bulabilirsiniz. Osmanlı Savaşları 1.7 Android Hile MOD APK indir Türk yapımı olan Osmanlı Savaşları gerçek zamanlı,çok oyunculu,online strateji oyunudur. Fantastik ögeler içermeyen Osmanlı Savaşlarının tadını cep telefonunuzdan yada tabletinizden çıkarabilirsiniz, Osmanlı Savaşları her ikisini de destekler. Osmanlı temasında geliştirilmiş olan Osmanlı savaşlarının göz alıcı 3d grafikleri ile oyun keyfini sonuna kadar yaşayabilirsiniz. Osmanlı devletinin askerleri ile ordunuzu kurabilir , acem ocağında askerlerinizi eğiterek ordunuzu daha güçlü hale getirebilirsiniz. Mimarlar ile sağlam bir şehir inşa edebilir,işçiler ile kaynaklarınızı artırabilir,kuracağınız savunma silahlarıyla düşmanla

Azar 3.13.4-arm Değerli Taş HİLELİ APK

Azar 3.13.4-arm Değerli Taş Hileli Apk indir, Android Apk indir, Mod apk indir, Android Hack indir, Taş Hileli Apk, Değerli Yeşil Taş Hilesi Merhaba arkadaşlar. Görüntülü Sohbet uygulamaları sevenler için Azar uygulama apk paylaşıyorum.. Android Apk oyun indir me. Azar değerli taş hileli mod apk indir me linklerini bulabilirsiniz. Azar 3.13.4-arm Değerli Taş Android Hile MOD APK indir Azar sayesinde, sadece parmağınızı kaydırarak dünyanın geri kalanıyla bağlanabilirsiniz! Dünyanın dört bir köşesiyle iletişim kurmak işte bu kadar hızlı ve kolay! Uygulamada en çok lazım olan şey tabiki değerli taş oluyor. Azar Değerli Taş hileli apk indir . Bedava hileli apk mod indir azar . bol eğlenceli bu oyunda hile yapmak için aşağıdaki linkleri indiriniz ve kurulum nasıl yapılır yazımızı okuyunuz. ----------------------------------------------------------- Azar 3.13.4-arm Değerli Taş android hile mod apk artık sitemizde şimdi indirin ve uygulama keyfini yaşayın. Uygulamanın hile mod apk indir lin