그동안 한 프로젝트에 많은 내용을 집어넣었지만 인터페이스를 이용해 기능들을 집어 넣어 주는 프로그램을 만들었습니다.
코드입니다.
Main.java |
package Animal;
import java.util.Scanner;
public class Main extends 동물 {
public static void show() {
System.out.println("#########");
System.out.println("1 : 사자 생성하기(처음 사자는 야생으로 생성됩니다)");
System.out.println("2 : 탈출하기");
System.out.println("3 : 묘기부리기");
System.out.println("4 : 사냥하기");
System.out.println("5 : 잡히기");
System.out.println("6 : 먹기");
System.out.println("7 : 자기");
System.out.println("8 : 종료");
System.out.println("입력 : ");
}
public static void main(String[] args) {
int input = 0;
String name = null;
int opper = 1;
while (input != 8) {
show();
Scanner s = new Scanner(System.in);
input = s.nextInt();
switch (input) {
case (1):
if (name != null) {
System.out.println("이미 사자가 있습니다 다른걸 선택하세요");
break;
} else {
System.out.println("사자 이름을 입력하세요:");
Scanner r = new Scanner(System.in);
name = r.next();
사자 lion = new 사자(name);
System.out.println(name + "(이)가 생성됬습니다.");
break;
}
case (2)://탈출하기
if (name == null) {
System.out.println("사자를 생성하세요");
break;
} else {
if (opper == 1) {
System.out.println(name + "은(는) 이미 숲을 떠돌고 있어요.");
break;
} else {
사자 f = new 사자(name);
f.탈출하기();
opper=1;
break;
}
}
case (3):// 묘기부리기
if (name == null) {
System.out.println("사자를 생성하세요");
break;
} else {
if (opper == 1) {
System.out.println(name + "은(는) 숲을 떠돌다녀서 묘기를 부릴 수 없어요.");
break;
} else {
사자 f = new 사자(name);
f.묘기부리기();
break;
}
}
case (4):// 사냥하기
if (name == null) {
System.out.println("사자를 생성하세요");
break;
} else {
if (opper == 1) {
사자 f = new 사자(name);
f.사냥하기();
break;
} else {
System.out.println(name + "은(는) 동물원에서 사냥을 못합니다.");
break;
}
}
case (5):// 잡히기
if (name == null) {
System.out.println("사자를 생성하세요");
break;
} else {
if (opper == 1) {
사자 f = new 사자(name);
f.잡히기();
opper = 2;
break;
} else {
System.out.println("이미 잡혀서 동물원에 있습니다");
break;
}
}
case (6):// 먹기
if (name == null) {
System.out.println("사자를 생성하세요");
break;
} else {
사자 f = new 사자(name);
f.먹기();
break;
}
case (7):// 자기
if (name == null) {
System.out.println("사자를 생성하세요");
break;
} else {
사자 f = new 사자(name);
f.자기();
break;
}
}
}
}
}
package Animal; public class 동물 implements 야생동물기능, 동물원동물기능 { public void 자기(){
@Override @Override @Override
package Animal; public interface 동물원동물기능 { public void 묘기부리기(); public void 탈출하기(); }
package Animal; public class 사자 extends 동물 {
package Animal; public interface 야생동물기능 { public void 잡히기(); }
|
댓글