728x90
728x90
BIG
메인메소드
package wordgame;
public class WordGameMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
WordGame game=new WordGame();
game.gameRun();
}
}
gameRun을 만듬
package wordgame;
import java.util.Scanner;
public class WordGame extends Player {
// 필드
int count;
Scanner sc = new Scanner(System.in);
// 생성자
// 메소드
public void gameRun() {
// 인원수입력
System.out.println("끝말잇기 게임을 시작합니다.");
System.out.print("참여 인원수를 입력하세요>>");
count = sc.nextInt(); //참여인원수 받기
sc.nextLine(); //엔터지우려고
// 인원수만큼 객체배열생성
String Player[] = new String[count];
// 반복문 돌면서 사람이름입력받아 Player 객체를 생성
boolean stop = true; //돌아야되니까
while (stop) {
for (int i = 0; i < count; i++) { //카운트만큼 돌아서 플레이어 배열에 이름받기
System.out.print((i + 1) + "번 참여자 이름 입력>>");
Player[i] = sc.nextLine();
}
break;
}
// 시작단어 :아버지
String startString = "아버지";
// 무한반복 게임이 진행;
stop = true;
System.out.println(startString + "(으)로 시작하는 끝말잇기 게임을 시작합니다 ===>");
System.out.println("시작단어 : " + startString);
StringBuilder sb = new StringBuilder(); // 중복단어 제거하기
String remark ; // 단어받기
String sb1="0"; // 빌더에 담을 그릇
while (stop) {
for (int i = 0; i < Player.length; i++) {
System.out.print(Player[i] + ">>"); //돌면서 누가 입력할지 체킹
remark = sc.nextLine(); //단어 받기
if(sb1.contains(remark)==true) { //포함되어있으면 트루로 바뀜
System.err.println(Player[i]+"(이)가 짐");
System.err.println("이유 : 동일단어 반복");
stop=false; //while문 멈추기
break; //for문 멈추기
}
sb1 = sb.append(remark).toString(); // 단어 받은것을 스트링으로 바꾸고 붙이기
System.out.println(sb1);
// System.out.println(remark.substring(remark.length()-1));
// System.out.println(startString.substring(0,1));
if(!remark.substring(0,1).equals(startString.substring(startString.length()-1))){
System.err.println(Player[i]+"(이)가 짐");
System.err.println("이유 : 끝글자랑 미스매칭");
stop=false;
break;
}//if end
startString = remark;
} // for end
} // while end
}// gamerun end
public WordGame(int count) {
super();
this.count = count;
}
public WordGame() {
super();
// TODO Auto-generated constructor stub
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
package wordgame;
import java.util.Scanner;
public class Player {
//필드
String name;//선수이름
String word;//최근에 말한 단어
public String getWordFromuser(Scanner sc) {
String getWordFromuser = sc.nextLine();
return getWordFromuser;
}//단어를 입력받는 메소드
//생성자
public Player() {
super();
// TODO Auto-generated constructor stub
}
public Player(String name, String word, Scanner sc) {
super();
this.name = name;
this.word = word;
}
//메소드
public String getName() {
return name;
}
public String getWord() {
return word;
}
public void setName(String name) {
this.name = name;
}
public void setWord(String word) {
this.word = word;
}
}
728x90
반응형
BIG
'🍺JAVA' 카테고리의 다른 글
[JAVA]콘솔프로젝트 - 쇼핑몰 2메인 구매 (0) | 2023.02.13 |
---|---|
[JAVA]콘솔프로젝트 - 쇼핑몰 1 큰틀짜기(큰틀, 관리자모드) (0) | 2023.02.13 |
[JAVA]로또게임만들기 lotto (0) | 2023.01.10 |
[JAVA] 스트링배열로 이름 입력받아 저장하기!! (0) | 2023.01.06 |
[JAVA] 주민번호체크하는 클래스만들기 (0) | 2023.01.04 |
댓글