👨💻Programming/JAVA & C언어 예제
JAVA (자바) - 상속과 메소드 오버라이딩을 이용한 예제 만들기 - 스타크래프트 유닛 x,y좌표 이동시키기
반응형
JAVA (자바) - 상속과 메소드 오버라이딩을 이용한 예제 만들기 -
스타크래프트 유닛 x,y좌표 이동시키기
출력문
소스 코드
package ver1;
public class Unit {
String name;
int x,y,speed;
void move(int x,int y) {
this.x+=x; this.y+=y;
System.out.println(this.name+"이(가) ["+this.x+","+this.y+"]으로 이동 (속도:"+this.speed+"km/h)");
}
void stop() {
System.out.println(this.name+"이(가) ["+this.x+","+this.y+"]에서 정지!");
}
public static void main(String[] args) {
Marine m = new Marine();
Tank t = new Tank();
Dropship d = new Dropship();
m.move(10,20);
m.move(10,-10);
m.move(1, 1);
m.stop();
m.stimPack();
t.move(100, 200);
t.move(-50, +50);
t.stop();
t.changeMode();
t.changeMode();
d.move(1000, 2000);
d.move(-100, -500);
d.stop();
d.load(m.name);
d.load(t.name);
d.unload(m.name);
d.unload(m.name);
}
}
package ver1;
public class Tank extends Unit{
int speed = 20;
String name = "시즈탱크";
boolean mode = false;
@Override
void move(int x, int y) {
this.x+=x; this.y+=y;
System.out.println(this.name+"이(가) ["+this.x+","+this.y+"]으로 이동 (속도:"+this.speed+"km/h)");
}
@Override
void stop() {
System.out.println(this.name+"이(가) ["+this.x+","+this.y+"]에서 정지!");
}
boolean changeMode() {
if(this.mode == false ) {
System.out.println(this.name+"이(가) 이동모드로 변경");
this.mode = true;
} else {
System.out.print("시즈모드 : ");
this.stop();
System.out.println(this.name+"이(가) 공격모드를 변경");
this.mode = false;
}
return this.mode;
}
}
package ver1;
public class Marine extends Unit{
String name = "마린";
int speed = 10;
@Override
void move(int x, int y) {
this.x+=x; this.y+=y;
System.out.println(this.name+"이(가) ["+this.x+","+this.y+"]으로 이동 (속도:"+this.speed+"km/h)");
}
@Override
void stop() {
System.out.println(this.name+"이(가) ["+this.x+","+this.y+"]에서 정지!");
}
void stimPack() {
System.out.println(this.name+"이(가) 스팀팩을 사용");
}
}
package ver1;
public class Dropship extends Unit {
String name = "드랍쉽";
int speed = 80;
@Override
void move(int x, int y) {
this.x+=x; this.y+=y;
System.out.println(this.name+"이(가) ["+this.x+","+this.y+"]으로 이동 (속도:"+this.speed+"km/h)");
}
@Override
void stop() {
System.out.println(this.name+"이(가) ["+this.x+","+this.y+"]에서 정지!");
}
// 탑승
void load(String name) {
System.out.println("드랍쉽이 "+name+"을 ["+this.x+","+this.y+"]에서 탑승.");
}
// 하차
void unload (String name) {
System.out.println("드랍쉽이 "+name+"을 ["+this.x+","+this.y+"]에서 하차.");
}
}
반응형
'👨💻Programming > JAVA & C언어 예제' 카테고리의 다른 글
JAVA- 응용SW 기초기술 활용 TEST - 코딩 테스트 시험 2차 (0) | 2020.11.29 |
---|---|
JAVA (자바) - 클래스 연습 문제 모음 - (1) (0) | 2020.11.19 |
JAVA(자바) - 프로그래밍 언어 활용 테스트 시험 (0) | 2020.11.14 |
JAVA (자바) - 배열과 Math.random을 사용해 로또 번호 출력 프로그램 (0) | 2020.11.09 |
JAVA(자바) - 배열을 이용해 문자열을 입력하면 알파벳 마다 몇 개인지 카운트하기 (0) | 2020.11.09 |
댓글