import java.util.Scanner;
class Player{
private Scanner sc;
private String name;
private String word;
public Player(String name) {
this.name = name;
sc = new Scanner(System.in);
}
public String getName() {
return name;
}
public String getWordFromUser() {
System.out.print(name+">>");
word = sc.next();
return word;
}
public boolean checkSuccess(String lastWord) {
int lastIndex = lastWord.length()-1;
if(lastWord.charAt(lastIndex)==word.charAt(0)) {
return true;
}
else {
return false;
}
}
}
public class WordGameApp {
private Scanner sc;
private String name;
private String word;
private Player player[];
private String startWord = "아버지";
public WordGameApp() {
sc = new Scanner(System.in);
}
void run() {
System.out.println("끝말잇기 게임을 시작합니다.");
//게임에 참가하는 인원 받는 코드
System.out.print("게임에 참가하는 인원은 몇명입니까?>>");
int playerN = sc.nextInt();
player = new Player[playerN];
for(int i=0;i<player.length;i++) {
System.out.print("참가자의 이름을 입력하세요>>");
name = sc.next();
player[i] = new Player(name);
}
String lastWord = startWord;
System.out.println("시작하는 단어는 "+startWord+"입니다.");
int n = 0;
while(true) {
String newWord = player[n].getWordFromUser();
if(!player[n].checkSuccess(lastWord)) {
System.out.println(player[n].getName()+"이 졌습니다.");
break;
}
lastWord = newWord;
n++;
n%=player.length;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
WordGameApp w = new WordGameApp();
w.run();
}
}
결과
끝말잇기 게임을 시작합니다.
게임에 참가하는 인원은 몇명입니까?>>3
참가자의 이름을 입력하세요>>황기태
참가자의 이름을 입력하세요>>이재문
참가자의 이름을 입력하세요>>환원선
시작하는 단어는 아버지입니다.
황기태>>지우개
이재문>>개미
환원선>>미국
황기태>>족발
황기태이 졌습니다.
'명품JAVA프로그래밍 > 4장 클래스와 객체' 카테고리의 다른 글
[명품JAVA프로그래밍] 4장 실습문제 5번 (0) | 2021.12.27 |
---|---|
[명품JAVA프로그래밍] 4장 실습문제 4번 (0) | 2021.12.27 |
[명품JAVA프로그래밍] 4장 실습문제 3번 (0) | 2021.12.27 |
[명품JAVA프로그래밍] 4장 실습문제 2번 (0) | 2021.12.27 |
[명품JAVA프로그래밍] 4장 실습문제 1번 (0) | 2021.12.27 |