June is Combung

끝말잇기 본문

java/문자열

끝말잇기

june__Park 2021. 3. 23. 10:47
package week3;

import java.util.Random;
import java.util.Scanner;

public class Day12_5 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		Random ran = new Random();
		/*
		 * # 끝말잇기 게임 제시어 : 자전거 입력 : 거미 제시어 : 거미 입력 : 미술 ...
		 */
		// 문제1 // 012
		String start = "자전거";
		// 10번만 해보자
		int count = 0;
		while (count < 10) {
			int size = start.length();
			System.out.println("제시어 : " + start);
			System.out.print("입력 : ");
			String myWord = scan.next();
			// 배열의 방크기 길이 -1
			if (start.charAt(size - 1) == myWord.charAt(0)) {
				start = myWord;
				count++;
			}
		}
		// 문제2
		/*
		 * # 타자연습 게임[1단계] 1. 문제를 섞는다.(shuffle) 2. 순서대로 문제를 출제하고, 문제를 다 맞추면 게임 종료 예) 문제 :
		 * mysql 입력 : mydb 문제 : mysql 입력 : mysql <--- 정답을 맞추면, 다음 문제 제시 문제 : jsp
		 */
		String[] words = { "java", "mysql", "jsp", "spring" };
		// 셔플
		for (int i = 0; i < 100; i++) {
			// 0 - 4
			int r = ran.nextInt(words.length);
			String temp = words[0];
			words[0] = words[r];
			words[r] = temp;
		}
		int i = 0;
		while (i < words.length) {
			System.out.println("문제 " + "[" + (i + 1) + "]" + words[i]);
			System.out.print("입력 : ");
			String myWord = scan.next();
			if (words[i].equals(myWord)) {
				i += 1;
			}
		}
		// 문제3
		/*
		 * # 타자연습 게임[2단계] 1. 문제를 섞는다.(shuffle) 2. 순서대로 문제를 출제하고, 문제를 다 맞추면 게임 종료 3. 단
		 * 문제를 출제할 때, 단어의 랜덤한 위치 한 곳만 *로 출력 예) 문제 : mys*l 입력 : mysql <--- 정답을 맞추면, 다음 문제
		 * 제시 문제 : *sp 입력 : jsp ...
		 */
		// 다시 셔플
		for (i = 0; i < 1000; i++) {
			int r = ran.nextInt(words.length);
			String temp = words[0];
			words[0] = words[r];
			words[r] = temp;
		}
		i = 0;
		while (i < words.length) {
			int size = words[i].length();
			int r = ran.nextInt(size); // 문자의 인덱스
			System.out.print("문제 " + "[" + (i + 1) + "]");
			for (int j = 0; j < size; j++) {
				if (j == r) {
					System.out.print("*");
				} else {
					System.out.print(words[i].charAt(j));
				}
			}
			System.out.println();
			System.out.print("입력 : ");
			String myWord = scan.next();
			if (myWord.equals(words[i])) {
				i += 1;
			}
		}
		System.out.print(" 게임 종료 ");

	}

}

'java > 문자열' 카테고리의 다른 글

단어 바꾸기  (0) 2021.03.23
문자열 숫자검사 & 단어 검색  (0) 2021.03.23
문자열 기본문제  (0) 2021.03.23
타입캐스팅(강제형변환)  (0) 2021.03.23
나이계산  (0) 2021.03.23
Comments