두명의 선수가 주사위 한 쌍을 던지고 눈들의 합을 비교하여 승자를 결정하는 간단한 게임을 모의 실험하는 프로그램을 작성해 보자. 각 선수는 이름이 있다.
public class Player {
String name; //멤버필드
Dice d = new Dice(); //객체생성
public Player() {} //기본생성자
public Player(String name) { //생성자
setName(name);
}
String getName() {
return name;
}
void setName(String name) {
this.name = name;
}
public String toString() {
return "이름 : " + getName()+
"\n주사위를 던집니다(1) : " + d.getfaceValue1()+
"\n주사위를 던집니다(2) : " + d.getfaceValue2()+
"\n합 : " + getSum();
}
void print() {
getName();
d.getfaceValue1();
d.getfaceValue2();
d.setfaceValue();
System.out.println();
getSum();
toString();
}
int getSum() {
return d.getfaceValue1() + d.getfaceValue2();
}
}
public class Dice {
int faceValue1;
int faceValue2;
public Dice() {
faceValue1 = 1; //주사위는 1부터 시작하기 때문에 초기화 한다.
faceValue2 = 1;
}
void setfaceValue() { //주사위를 랜덤으로
this.faceValue1 = (int)(Math.random()*6)+1;
this.faceValue2 = (int)(Math.random()*6)+1;
}
int getfaceValue1() {
return faceValue1;
}
int getfaceValue2() {
return faceValue2;
}
}
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(true) {
System.out.println("사용자 이름은 입력하세요.");
//플레이어1
Player player1 = new Player01(scan.next());
player1.print();
System.out.println(player1.toString());
//플레이어2
System.out.println("\n사용자 이름은 입력하세요.");
Player player2 = new Player01(scan.next());
player2.print();
System.out.println(player2.toString());
//게임 결과
if(player1.getSum() > player2.getSum()) {
System.out.println(player1.getName() + "가 이겼습니다.");
}else if(player1.getSum() == player2.getSum()) {
System.out.println("둘이 비겼습니다.");
}else {
System.out.println(player2.getName()+"가 이겼습니다.");
}
System.out.println("\n게임을 계속 하시겠습니까?");
String stop = "그만";
String answer = scan.next();
if(answer.equals(stop)) {
System.out.println("게임을 종료합니다.");
break;
}
}
}
}