jroky1104
  • jroky1104
  • 3 yıl önce sordu
  • Merhaba çözemediğim bir soru var yardımcı olur musunuz?

    6) Hayvanat Bahçesi ile ilgili bir oyun programı yazacağınızı düşünün. Bu soruyu cevaplarken; sınıf tanımlama, değişken tanımlama, fonksiyon tanımlama, kalıtım, sarmalama, çok biçimlilik konularında gördüklerimizi uygulamaya çalışın. • Hayvanat Bahçesinde Kedi, Köpek, Kuş, Yılan, Maymun, Ayı ve Balık türünde hayvanlar olacaktır. • Kuş Uçanlar türünde, Yılan Sürünenler türünde, Balık Yüzenler türünde, diğerleri Yürüyenler türünde olacaktır. • Herbir hayvanın adı, tipi, rengi ve ağırlığı olacaktır. • Herbir hayvan öt fonksiyonu çağrıldığında konsola “miyav”, “hav” gibi yazacaktır. • Herbir hayvanın yakala fonksiyonu olacaktır ve parametre olarak bir hayvan sınıfına ait bir nesne alacaktır. Eğer hayvan yakalanabiliyorsa ekrana yakalandı yazar, değilse yakalanamadı yazar. o Uçanlar türü tüm türleri yakalayabilir. o Sürünenler türü sadece Yürüyenler türünü yakalayabilir. o Yüzenler türü hiçbir türü yakalayamaz. o Yürüyenler türü Yüzenler türünü yakalayabilir.
    Cevaplar(3)
    bero
  • bero
  • 3 yıl önce Cevapladı
  • bende bilmim
    Beğen (0) Yorumlar(0) Yorum Yaz
    Gönder
    haxtar
  • haxtar
  • 3 yıl önce Cevapladı
  • Main Class:

    Yazılım Soru - Kod Kısmı

    package jrokyu1104.HayvanatBahcesi;
    
    import jrokyu1104.HayvanatBahcesi.AbstractClasses.Animal;
    import jrokyu1104.HayvanatBahcesi.Managers.AnimalManager;
    
    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
    
            new AnimalManager();
            Scanner scan = new Scanner(System.in);
            try {
                while (true) {
                    System.out.println("[Hayvanlar]");
                    for (int i = 0; i < AnimalManager.getAnimalLenght(); i++) {
                        System.out.println(i + ") " + AnimalManager.getAnimal(i).getName());
                    }
                    System.out.println("-)Çıkış");
                    System.out.print("Lütfen Seçiniz: ");
                    int id = scan.nextInt();
                    scan.nextLine();
                    while (true) {
                        System.out.print("Yapmak istediğiniz işlemi yazınız(yakala, ot, Çıkmak için -): ");
    
                        String islem = scan.nextLine();
    
                        Animal animal = AnimalManager.getAnimal(id);
    
                        if (islem.equalsIgnoreCase("yakala")) {
                            animal.yakala();
                        } else if (islem.equalsIgnoreCase("ot")) {
                            animal.ot();
                        } else if (islem.equalsIgnoreCase("-")) {
                            break;
                        }
                    }
                }
            }catch (Exception ex) {
                System.out.println("Kapatıldı!");
            }
        }
    
    }
    

    AnimalManager Class:

    Yazılım Soru - Kod Kısmı

    package jrokyu1104.HayvanatBahcesi.Managers;
    
    import javafx.scene.paint.Color;
    import jrokyu1104.HayvanatBahcesi.AbstractClasses.Animal;
    
    import java.util.LinkedList;
    
    public class AnimalManager {
    
        public AnimalManager() {
            list.add(new Animal("Ayı", AnimalManager.Tur.Yuruyenler, Color.BROWN, 118.70d, "Bear") {
                @Override
                public void ot() {
                    System.out.println("Ayı >> Muaaahh!");
                }
            });
            list.add(new Animal("Kuş", AnimalManager.Tur.Ucanlar, Color.BLUE, 1, "Bird") {
                @Override
                public void ot() {
                    System.out.println("Kuş >> Cik Cik!!");
                }
            });
            list.add(new Animal("Kedi", Tur.Yuruyenler, Color.YELLOW, 2.5d, "Cat") {
                @Override
                public void ot() {
                    System.out.println("Kedi >> Miyav!!");
                }
            });
            list.add(new Animal("Köpek", Tur.Yuruyenler, Color.BLACK, 5.0d, "Dog"){
                @Override
                public void ot() {
                    System.out.println("Köpek >> Hav Hav!!");
                }
            });
            list.add(new Animal("Balık", Tur.Yuzenler, Color.ORANGE, 0.2d, "Fish") {
                @Override
                public void ot() {
                    System.out.println("Balık >> .......");
                }
            });
            list.add(new Animal("Maymun", Tur.Yuruyenler, Color.BROWN, 20.0d, "Monkey") {
                @Override
                public void ot() {
                    System.out.println("Maymun >> Muahahah!");
                }
            });
            list.add(new Animal("Yılan", Tur.Surunenler, Color.BLACK, 12.3d, "Snake") {
                @Override
                public void ot() {
                    System.out.println("Yılan >> TIIISSS!");
                }
            });
    
        }
    
        static LinkedList<Animal> list = new LinkedList<Animal>();
    
        public static Animal getAnimal(int id) {
            return list.get(id);
        }
    
        public static int getAnimalLenght() {
            return list.size();
        }
    
        public static void addAnimal(Animal animal) {
            list.add(animal);
        }
    
        public static String checkAnimal(String animal) {
    
            for(Animal text: list) {
                if(text.getAnimalID().equalsIgnoreCase(animal)) {
                    return text.getName();
                }
            }
    
            return "ERROR!";
        }
    
        public enum Tur{
            Ucanlar("Ucanlar"), Surunenler("Surunenler"), Yuzenler("Yuzenler"), Yuruyenler("Yuruyenler");
    
            Tur(String ucanlar) {
            }
        }
    }
    

    Animal Class:

    Yazılım Soru - Kod Kısmı

    package jrokyu1104.HayvanatBahcesi.AbstractClasses;
    
    import jrokyu1104.HayvanatBahcesi.Managers.AnimalManager;
    import javafx.scene.paint.Color;
    import jrokyu1104.HayvanatBahcesi.Managers.CatchManager;
    
    import java.awt.*;
    
    public abstract class Animal {
    
        String name;
        AnimalManager.Tur tur;
        Color renk;
        double kg;
        String animalID;
        String ses;
    
        public Animal(String name, AnimalManager.Tur tur, Color renk, double kg, String animalID) {
            this.name = name;
            this.tur = tur;
            this.renk = renk;
            this.kg = kg;
            this.animalID = animalID;
        }
    
        public void ot() {
            System.out.println(getName() + ">> " + ses);
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public AnimalManager.Tur getTur() {
            return tur;
        }
    
        public void setTur(AnimalManager.Tur tur) {
            this.tur = tur;
        }
    
        public Color getRenk() {
            return renk;
        }
    
        public void setRenk(Color renk) {
            this.renk = renk;
        }
    
        public double getKg() {
            return kg;
        }
    
        public void setKg(double kg) {
            this.kg = kg;
        }
    
        public String getAnimalID() {
            return animalID;
        }
    
        public void setAnimalID(String animalID) {
            this.animalID = animalID;
        }
    
        public String getSes() {
            return ses;
        }
    
        public void setSes(String ses) {
            this.ses = ses;
        }
    
        public void yakala() {
    
            String info = CatchManager.yakalama(getTur());
            char[] cInfo = info.toCharArray();
            String rawInfo = "";
            boolean rawBool = false;
            for(int i = 0; i < info.length(); i++) {
                if(cInfo[i] == '|' && rawBool == false) {
                    rawBool = true;
                    continue;
                }
                if(rawBool == true) {
                    rawInfo += cInfo[i];
                }
            }
    
            rawInfo = AnimalManager.checkAnimal(rawInfo);
            System.out.println(getName() + ">> Bir " + rawInfo + " yakaladı!");
        }
    
    }
    

    CatchManager Class:

    Yazılım Soru - Kod Kısmı

    package jrokyu1104.HayvanatBahcesi.Managers;
    
    import jrokyu1104.HayvanatBahcesi.AbstractClasses.Animal;
    
    import java.util.Random;
    
    public class CatchManager {
    
        public static String yakalama(AnimalManager.Tur tur) {
            Random rand = new Random();
            if(tur == AnimalManager.Tur.Surunenler) {
                Animal animal = AnimalManager.getAnimal(rand.nextInt(AnimalManager.getAnimalLenght()));
                if(animal.getTur() == AnimalManager.Tur.Yuruyenler) {
                    return "Catched!|" + animal.getAnimalID();
                } else {
                    return "Failed!|" + animal.getAnimalID();
                }
            }else if(tur == AnimalManager.Tur.Yuzenler) {
                Animal animal = AnimalManager.getAnimal(rand.nextInt(AnimalManager.getAnimalLenght()));
                return "Failed!|" + animal.getAnimalID();
            } else if(tur == AnimalManager.Tur.Ucanlar) {
                Animal animal = AnimalManager.getAnimal(rand.nextInt(AnimalManager.getAnimalLenght()));
                return "Catched!|" + animal.getAnimalID();
            } else if(tur == AnimalManager.Tur.Yuruyenler) {
                Animal animal = AnimalManager.getAnimal(rand.nextInt(AnimalManager.getAnimalLenght()));
                if(animal.getTur() == AnimalManager.Tur.Yuzenler) {
                    return "Catched!|" + animal.getAnimalID();
                }else {
                    return "Failed!|" + animal.getAnimalID();
                }
            }
            return "Failed!|Error Occured!";
        }
    
    }

    Senden istenmemiş şeylerde olabilir ben en kısa yoldan yaptım ekleme yapılabilir iyi dersler iyi kodlamalar! Umut Özercan(Haxtar Soliterax) Professional Developer(Java, C#, C, C++, HTML, JS)
    Beğen (2) Yorumlar(0) Yorum Yaz
    Gönder
    jroky1104
  • jroky1104
  • 3 yıl önce Cevapladı
  • Teşekkür ederim, çok yardımcı oldun mantığını şimdi kavradım emeğine sağlık iyi kodlamalar.
    Beğen (0) Yorumlar(0) Yorum Yaz
    Gönder

    Cevap yazabilmek için Giriş yapmalısınız.Giriş yapmak için buraya Tıklayın.

    Kodlarınızı aşağıdaki alana yapıştırın.

  • Kod Ekle İptal Et
  • Üyeler
    Blog
    Hakkında
    Lab
    Gece Modu
    Giriş Yap
    Kayıt Ol
  • Giriş Yap
  • Şifremi unuttum
  • Kayıt olmak için tıklayın!