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)