Bu yazıda taş kağıt makas oyununu javada nasıl kodlandığını göreceksiniz. Öncelikle istediğimiz kod için şartları belirtelim
- Oyuncu, taş (0), kağıt (1) veya makas (2) seçeneklerinden birini seçebilecek.
- Bilgisayar da aynı şekilde taş, kağıt veya makas seçecek, fakat bu seçim rastgele olacak.
- Seçimler yapıldıktan sonra, kazanma, kaybetme ya da berabere durumu belirlenecek ve ekrana yazdırılacak.
İSTENEN
İstenen şartlara bağlı olarak taş kağıt makas oyununun java kodu nedir?
ŞARTLAR:
- Taş=0,Kağıt=1,Makas=2
- Bilgisayar taş kağıt makası üçlüsünden rastgele bir tanesini dizi içerisinden rastgele seçmeli
- Oyunun sonucu ekrana yazdırılacak
ÇÖZÜM
import java.util.Scanner;
public class TasKagitMakas {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Oyuncudan seçim alalım
System.out.println("Taş (0), Kağıt (1), Makas (2) seçin:");
int oyuncuSecimi = scanner.nextInt();
// Bilgisayarın rastgele seçimi
int bilgisayarSecimi = (int) (Math.random() * 3);
// Seçimleri yazdıralım
String[] secimler = {"Taş", "Kağıt", "Makas"};
System.out.println("Sen: " + secimler[oyuncuSecimi]);
System.out.println("Bilgisayar: " + secimler[bilgisayarSecimi]);
// Sonucu değerlendirelim
if (oyuncuSecimi == bilgisayarSecimi) {
System.out.println("Beraberlik!");
} else if ((oyuncuSecimi == 0 && bilgisayarSecimi == 2) ||
(oyuncuSecimi == 1 && bilgisayarSecimi == 0) ||
(oyuncuSecimi == 2 && bilgisayarSecimi == 1)) {
System.out.println("Kazandın!");
} else {
System.out.println("Kaybettin!");
}
}
}
KODUN AÇIKLAMASI:
import java.util.Scanner;
public class TasKagitMakas {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
import java.util.Scanner;
:- Bu satır,
Scanner
sınıfını programımıza dahil etmek için kullanılır.Scanner
sınıfı, kullanıcıdan giriş almak amacıyla kullanılan bir Java sınıfıdır. Bu satır sayesinde kullanıcıdan alınan verileri işleyebilmek içinScanner
nesnesi oluşturabiliriz. public class TasKagitMakas {
:- Bu satır, taş-kağıt-makas oyununun temel sınıfını tanımlar.
TasKagitMakas
, bizim oyunun oynandığı sınıfın adı olacak. Java’da her program bir sınıf içinde yer alır, bu yüzden burada bir sınıf tanımlıyoruz. public static void main(String[] args) {
:- Java programlarında çalışmaya başlamak için gereken metottur. Her Java uygulaması,
main
metoduyla başlar. Bu metot, programın çalışmaya başladığı ilk yer olduğundan, oyunun mantığını ve kodun geri kalanını burada çalıştıracağız. Scanner scanner = new Scanner(System.in);
:- Burada,
Scanner
sınıfından bir nesne oluşturuyoruz ve bu nesne sayesinde kullanıcıdan giriş alabileceğiz.System.in
, klavye üzerinden alınacak veriyi temsil eder. Yani, bu satır sayesinde oyuncudan veri almak için birscanner
nesnesi yaratıyoruz.
System.out.println("Taş (0), Kağıt (1), Makas (2) seçin:");
- Bu satır, kullanıcıya hangi seçeneklerden birini seçmesi gerektiğini belirten bir mesajı ekrana yazdırır. Kullanıcıdan 0, 1 veya 2 seçmesini bekliyoruz. Bu seçenekler, sırasıyla Taş, Kağıt ve Makas’ı temsil ediyor.
int oyuncuSecimi = scanner.nextInt();
- Burada, kullanıcıdan bir tam sayı girmesini istiyoruz.
scanner.nextInt()
komutu, kullanıcının girdiği sayıyı okur ve bu değerioyuncuSecimi
değişkenine atar. Bu değer, kullanıcının yaptığı seçimi (0, 1 veya 2) temsil eder.
int bilgisayarSecimi = (int) (Math.random() * 3);
- Burada, bilgisayarın seçiminden sorumlu bir rastgele sayı üretme işlemi yapıyoruz.
Math.random()
fonksiyonu 0 ile 1 arasında bir ondalıklı sayı üretir. Bunu 3 ile çarparız veint
tipine dönüştürerek 0, 1 veya 2 gibi bir tam sayı elde ederiz. Bu sayı, bilgisayarın seçimini belirler.
String[] secimler = {"Taş", "Kağıt", "Makas"};
- Bu satırda, oyuncu ve bilgisayar için yapılabilecek seçenekleri tanımlıyoruz.
secimler
adındaki dizi üç elemandan oluşur: “Taş”, “Kağıt”, ve “Makas”. Bu diziyi, oyuncunun ve bilgisayarın seçimini yazdırırken kullanacağız.
System.out.println("Sen: " + secimler[oyuncuSecimi]);
- Bu satır, oyuncunun yaptığı seçimi ekrana yazdırır.
secimler[oyuncuSecimi]
, oyuncunun seçimindeki sayısal değere göre diziden doğru metni alır. Örneğin, kullanıcı0
seçerse “Taş”,1
seçerse “Kağıt”,2
seçerse “Makas” yazdırılır.
System.out.println("Bilgisayar: " + secimler[bilgisayarSecimi]);
- Bu satır, bilgisayarın yaptığı seçimi ekrana yazdırır.
secimler[bilgisayarSecimi]
ifadesi ile diziden, bilgisayarın seçtiği indekse karşılık gelen değeri alır ve yazdırır. Örneğin, bilgisayar2
seçerse “Makas” yazdırılır.
if (oyuncuSecimi == bilgisayarSecimi) {
- Bu
if
bloğu, oyuncunun ve bilgisayarın aynı seçimi yapıp yapmadığını kontrol eder. Eğer ikisi de aynı seçimi yaparsa (örneğin, her ikisi de “Taş” seçerse),if
bloğundaki kod çalışır. Yani, bu durum beraberlik durumudur.
System.out.println("Beraberlik!");
- Eğer oyuncu ve bilgisayar aynı seçimi yaptıysa (örneğin, her ikisi de “Taş” seçerse), bu satır çalışır ve “Beraberlik!” mesajı ekrana yazdırılır.
} else if ((oyuncuSecimi == 0 && bilgisayarSecimi == 2) ||
(oyuncuSecimi == 1 && bilgisayarSecimi == 0) ||
(oyuncuSecimi == 2 && bilgisayarSecimi == 1)) {
Bu else if
bloğu, oyuncunun kazandığı durumları kontrol eder.
- Eğer oyuncu taş (0) seçtiyse ve bilgisayar makas (2) seçtiyse, oyuncu kazanır.
- Eğer oyuncu kağıt (1) seçtiyse ve bilgisayar taş (0) seçtiyse, oyuncu kazanır.
- Eğer oyuncu makas (2) seçtiyse ve bilgisayar kağıt (1) seçtiyse, oyuncu kazanır.
- Bu üç durumu
OR
(||
) operatörü ile birleştiriyoruz, yani herhangi biri doğruysa oyuncu kazanır.
System.out.println("Kazandın!");
} else {
System.out.println("Kaybettin!");
- Son olarak sonuç ne ise onu ekrana yazdırmak için üstteki kodları ekliyoruz ve kodumuz tamamlanıyor.
No responses yet