jroky1104
  • jroky1104
  • 1 hafta ö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
  • 1 hafta önce Cevapladı
  • bende bilmim
    Beğen (0) Yorumlar(0) Yorum Yaz
    Gönder
    haxtar
  • haxtar
  • 1 hafta ö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
  • 1 hafta ö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(1) Yorum Yaz
  • bero
  • 1 hafta önce
  • ben et yemim
    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!