Bilgisayar ve oyuncudan birinin Parası bitene kadar Oyun devam etsin...Bugün , JOptionPane ile JAVA program dilinde basit ve güzel bir zar atma oyunu yapacağız.
Oyunumuzun amacı ve mantığı:
Oyuncu ve bilgisayar arasında oynanacak olan bu oyunumuz da oyuncu ismini girecek ardından
elinde ki parayı girecek. Bu oyunumuzun mantığı mesela oyuncunun attığı zarların toplamı 10 ise ve
bilgisayarın attığı zarlar 8 ise oyuncu ikisinin attığı zarların arasında ki fark kadar para kazanacaktır.
Oyuncu bu durumda 10 attıysa bilgisayar 8 attıysa, oyuncunun parası aralarında ki fark kadar yani +2 artacaktır aynı şekilde bilgisayarın kaybettiği -2 parasından azalacaktır.Bu olayı Java'da yazara
JOptionPane'ler yardımıyla az da olsa görsel bir arayüz'e dökmek istedik.
Dilerseniz hemen Kodlara ve oyunun mantık anlatımına geçelim:
(NOT: Anlatımı KIRMIZI ile yazılmıştır.)
Oyunumuzun KODLARI ve ANLATIMI:
*/ www.mustafatasoy.site -- Mustafa ATASOY */
public static void main(String[] args) {
String oyuncuAd = JOptionPane.showInputDialog("Adınızı Giriniz:");
*/İlk olarak String türünde değişken tanımlayıp, oyuncudan ismini girmesini istiyoruz */
int bahis = Integer.parseInt(JOptionPane.showInputDialog(oyuncuAd + " ne kadar paran var?"));
*/ int türünde bahis değişkeni tanımlıyoruz. Integer.parseInt sayesinde de int değişkenini tanımlıyoruz. ve Girilen İsime ne kadar parası olduğunu soruyoruz.*/
int oynPara = bahis, bilPara = bahis;
*/oynPara değişkenini int türünden tanımlıyoruz. Bu Oyuncunun girdiği para anlamına geliyor. bahis ile eşitliyoruz, sonra bilPara değişkenini aynı şekilde bahis ile eşitliyoruz.*/
Random r = new Random();
*/ r isminde yeni bir random yani Rastgele sayı türetiyoruz.*/
while (true) {
int bilZar1 = r.nextInt(6) + 1;
*/ döngümüzün başında, bilgisayarın attığı ilk zarı rastgele 1 ile 6 sayılarının arasında olmasını sağlıyoruz. +1 koyduğumuz için 1 ve 6 arasında sayı üretecek.*/
int bilZar2 = r.nextInt(6) + 1;
*/ Aynı şekilde bilgisayarın attığı 2. zarı yaptık*/
int bilZarToplam = bilZar1 + bilZar2;
*/Bilgisayarın attığı Zarların toplamını bulmak için; bilZar1 ve bilZar2 değişkenlerini topladık*/
JOptionPane.showMessageDialog(null, "Bilgisayar zar atacacak...");
*/ Sıranın kimde olduğunu bilmek için */
JOptionPane.showMessageDialog(null, "Bilgisayarın Zarları:\n" + bilZar1 + " " + bilZar2);
*/ Bilgisayarın Zarlarını kullanıcıya göstermek için attığı zarları topladık ve ekrana gösterdik */
JOptionPane.showMessageDialog(null, oyuncuAd + " sıra sende! Zarları At...");
*/ Girilen oyuncu ismini yazdırıp, Sıranın onda olduğunu belirttik */
int oynZar1 = r.nextInt(6) + 1;
*/ Oyuncunun attığı ilk zarı rastgele 1 ile 6 sayılarının arasında olmasını sağlıyoruz. +1 koyduğumuz için 1 ve 6 arasında sayı üretecek.*/
int oynZar2 = r.nextInt(6) + 1;
*/ Aynı şekilde oyuncunun attığı 2. zarı yaptık*/
int oynZarToplam = oynZar1 + oynZar2;
*/Oyuncunun attığı Zarların toplamını bulmak için; oynZar1 ve oynZar2 değişkenlerini topladık*/
JOptionPane.showMessageDialog(null, oyuncuAd + "'in zarları:\n" + oynZar1 + " " + oynZar2);
*/ Oyuncunun Zarlarını göstermek için attığı zarları topladık ve ekrana gösterdik */
if (bilZarToplam > oynZarToplam) {
JOptionPane.showMessageDialog(null, oyuncuAd + " " + (bilZarToplam - oynZarToplam) + " lira kaybetti..");
*/ Oyuncu daha küçük atarsa aralarındaki fark kadar para kaybeder. */
oynPara = oynPara - (bilZarToplam - oynZarToplam);
*/ Oyuncunun kalan parası ekrana yazdırılır */
bilPara = bilPara + (bilZarToplam - oynZarToplam);
*/ Bilgisayarın kalan parası ekrana yazdırılır */
JOptionPane.showMessageDialog(null, oyuncuAd + " parası: " + oynPara + "\n" + "Bilgisayarın parası: " + bilPara);
*/ Bu tur sonunda Oyuncu ve bilgisayarın para durumları yazdırılır */
} else if (bilZarToplam < oynZarToplam) {
JOptionPane.showMessageDialog(null, "Bilgisayar " + (oynZarToplam - bilZarToplam) + " lira kaybetti..");
*/ Bilgisayar daha küçük atarsa aralarındaki fark kadar para kaybeder. */
oynPara = oynPara + (oynZarToplam - bilZarToplam);
*/ Oyuncunun kalan parası ekrana yazdırılır */
bilPara = bilPara - (oynZarToplam - bilZarToplam);
*/ Bilgisayarın kalan parası ekrana yazdırılır */
JOptionPane.showMessageDialog(null, oyuncuAd + " parası: " + oynPara + "\n" + "Bilgisayarın parası: " + bilPara);
*/ Bu tur sonunda Oyuncu ve bilgisayarın para durumları yazdırılır */
} else {
JOptionPane.showMessageDialog(null, "Zarlar eşit... Kaybeden yok...");
*/ Zaralr eşit ise Kaybeden olmayacaktır bu tur beraberedir.*/
JOptionPane.showMessageDialog(null, oyuncuAd + " parası: " + oynPara + "\n" + "Bilgisayarın parası: " + bilPara);
*/ Ve İkisinin parası yazdırılacaktır */
}
if (oynPara<=0 || bilPara<=0) {
*/ Oyuncu ve Bilgisayardan birisinin parası SIFIR olup bitene kadar oyun devam edecektir. Sıfır olursa oyun sona erecektir */
break;
}
}
if (bilPara>oynPara) {
JOptionPane.showMessageDialog(null, "Oyunu bilgisayar kazandı :)");
*/ Eğer ki Bilgisayarın parası oyuncunun parasından fazla ise Bilgisayar kazanacaktır.*/
}else{
JOptionPane.showMessageDialog(null, "Oyunu "+oyuncuAd+" kazandı :(");
*/ Oyuncunun parası fazla ise oyuncu kazanacaktır. */
}
}
}
Umarım yardımcı olabilmişimdir. Eğer ki kodları ayrıştırma da sorun yaşarsanız, Kodları buradan indirebilirsiniz.
İndirmek için Tıklayınız


0 yorum:
Yorum Gönder