# Language/Java

명품 JAVA 프로그래밍 4장 OpenChallenge

명품 자바 Programming 
Chapter4 OpenChallenge

Q :




n명이 참가하는 끝말잇기 게임을 프로그램으로 만들어보자. 처음 단어는 "아버지"이다. n명의 참가자들은 순서대로 자신의 단어를 입력하면 된다. 끝말잇기에서 끝말이 틀린 경우 게임을 끝내고 게임에서 진 참가자를 화면에 출력한다. 








Solution





Player.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package chap4ex;
 
public class Player {
    String name; // 참가자의 이름
    String word; // 단어
 
    public Player() {}
    public Player(String name) {
        this.name = name;
    }
    
    public void sayWord(String word) {
        this.word = word;
    }
    public Boolean succeed(String lastWord) {
        int lastIndex = lastWord.length() - 1;
        char lastChar = lastWord.charAt(lastIndex);
        char firstChar = word.charAt(0);
        if(firstChar == lastChar)
            return true;
        else
            return false;
    }
}
 
cs





WordGameApp.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package chap4ex;
import java.util.Scanner;
public class WordGameApp {
    
    public static void main(String[] args) {
        int playerNum;
        String lastWord = "아버지";
        Scanner in = new Scanner(System.in);
        System.out.print("게임에 참가하는 인원은 몇명입니까>>");
        playerNum = in.nextInt();
        Player[] players = new Player[playerNum];
        
        for(int i=0;i<playerNum;i++) {
            System.out.print("참가자의 이름을 입력하세요>>");
            String name = in.next();
            players[i] = new Player(name);
        }
        
        System.out.println("시작하는 단어는 아버지입니다.");
        while(true) {
            for(int i=0;i<playerNum;i++) {
                String name = players[i].name;
                System.out.print(name + ">>");
                players[i].sayWord(in.next());
                if(players[i].succeed(lastWord) == true) {
                    lastWord = players[i].word;
                }
                else {
                    System.out.println(name + "이 졌습니다.");
                    System.exit(0);
                }
            }
        }
        
    }
 
}
 
cs





Key Point






1. Player 객체를 배열에 담는다.

2. 이름과 말할 단어를 필드로 갖도록 한다.

3. WordGameApp 에서 각 Player들의 단어를 확인하며 게임을 진행한다.







유용하셨다면 공감 버튼 ↓ 눌러주세요! 


728x90