JAVA ile Taş - Makas - Kağıt Oyunu

Ahbap

Harbi Üye
Forum Üyesi
Katılım
29 Mayıs 2019
Mesajlar
8,562
Tepkime puanı
2
Merhaba Arkadaşlar,

JAVA ile Taş - Makas - Kağıt Oyunu yapacağız. Bu oyunu birçok kişi biliyordur diye düşünüyorum, biz ise JAVA ile bu oyunu kodlayacağız.

Yeni bir proje açalım.

Kullanıcıdan seçim yapmasını isteyeceğim bunun için Scanner, bilgisayara karşı oynayacağız bu durumda bilgisayarın da seçim yapması seçenek üretmesi içni Random kullanacağız doğal olarak öncesinde Scanner ve Random kütüphanelerini sisteme tanımlamalıyız.


Kod:
import java.util.Scanner;
import java.util.Random;


Kod:
Scanner scan = new Scanner(System.in);

System.out.println("Oyuncunun Adını Giriniz: ");
String Oyuncu = scan.next();

String OyuncununSecimi;
String BilgisayarinSecimi = "";
int Uretilen;
int skorOyuncu = 0; int skorPC = 0;
Yukarıdaki kod bloğunda değişkenleri tanımladık bir oyuncu bir de bilgisayar için bir değişken tanımladık. skorOyuncu ve skorPC ise isimlerinden de anlaşıldığı gibi rakiplerin skorlarını tutacaklar.

Kod:
System.out.println("Kaç el oynamak ister siniz? :");
int el = scan.nextInt();
Yukarıda ise kullanıcıya kaç el oynamak istediğini sorduk.

şimdi ise mantık olarak oynanacak el sayısı kadar döngü dönecek, her elde bilgisayar yeni bir seçim yapacak Random sınıfını bu yüzden döngü içine tanımladık. toUpperCase kullanmamın sebebi olası bir hatayı engellemek için kullanıcı taş seçmek için 't' girse bile sistem bunu 'T' olarak büyük harf haline çevircek.


Kod:
Kod:
for (int i = 0; i < el; i++)
{
System.out.println("Lütfen seçim Yapınız.. Taş için 'T', Kağıt için 'K', Makas için 'M'");

Random uret = new Random();
Uretilen = uret.nextInt(3)+1;

if (Uretilen == 1) BilgisayarinSecimi = "T";
else if (Uretilen == 2) BilgisayarinSecimi = "K";
else if (Uretilen == 3) BilgisayarinSecimi= "M";

System.out.println("Seçiminizi Yapınız: ");
OyuncununSecimi = scan.next();

OyuncununSecimi = OyuncununSecimi.toUpperCase();

System.out.println("Bilgisayarın Seçimi: " + BilgisayarinSecimi);

if(OyuncununSecimi.equals(BilgisayarinSecimi))
{
System.out.println("Berabere..");
}

else if (OyuncununSecimi.equals("T"))
{
if (BilgisayarinSecimi.equals("M"))
{
System.out.println("Kazandınız..");
skorOyuncu++;
}
else if (BilgisayarinSecimi.equals("K"))
{
System.out.println("Kaybettiniz..");
skorPC++;
}
}

else if (OyuncununSecimi.equals("K"))
{
if (BilgisayarinSecimi.equals("M"))
{
System.out.println("Kaybettiniz..");
skorPC++;
}

else if (BilgisayarinSecimi.equals("T"))
{
System.out.println("Kazandınız..");
skorOyuncu++;
}

}

else if (OyuncununSecimi.equals("M"))
{
if (BilgisayarinSecimi.equals("K"))
{
System.out.println("Kazandınız..");
skorOyuncu++;
}

else if (BilgisayarinSecimi.equals("T"))
{
System.out.println("Kaybettiniz..");
skorPC++;
}

else
{
System.out.println("Lütfen tekrar deneyiniz..");
}

}
}
Oyunun kurallarını çoğu kişi biliyodur; Taş > Kağıt > Makas > Taş > Kağıt... şeklinde bir kısır döngü vardır, seçilen nesneye göre rakipler birbirlerine üstünlük sağlarlar bu kuralı if döngüsü kullanarak koda dökmeye çalıştık. If içinde If'ler olmak zorunda çünkü hem bilgisayar hem oyuncu 3 farklı seçim yapabilir.

Her el sonunda kazanan kimse skorPC++ veya skorOyuncu++ ile kazanan kişinin puanını arttırdık.

şimdi ise oyun bitti ve kazananı açıklayacağız;


Kod:
System.out.println("-----OYUN SONA ERDİ---- \n\n Sizin Skorunuz: " + skorOyuncu + "\nBilgisayarın Skoru: "+ skorPC +"\nKAZANAN: ");
if (skorPC > skorOyuncu)
{
System.out.println("Bilgisayar !");
}
else if (skorPC < skorOyuncu)
{
System.out.println(Oyuncu + " oldu !.");
}
else
{
System.out.println("ÇIKMADI.. OYUN BERABERE BİTTİ !");
}
 

Benzer konular

SiyahLi

Harbi Üye
Forum Üyesi
Katılım
2 Mayıs 2020
Mesajlar
3,498
Tepkime puanı
8
Takım
Beşiktaş
Teşekkürler
 

Nutella

Harbi Üye
Bayan Üye
Özel Üye
Katılım
2 Ocak 2021
Mesajlar
9,432
Tepkime puanı
8
Cinsiyet
  1. Bayan
Takım
Galatasaray
Paylaşım için teşekkürler.
 
İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş