슬롯머신 랜덤 게임

Jane·2023년 2월 10일
0

IT 수업 정리

목록 보기
37/124

문제

겜블링 게임에 참여할 선수 숫자>>3
1번째 선수 이름>>영희
2번째 선수 이름>>철수
3번째 선수 이름>>길동
[영희] : (Enter)
3 3 2 아쉽군요!
[철수] : (Enter)
3 3 2 아쉽군요!
[길동] : (Enter)
1 1 1 길동님이 이겼습니다!

Process finished with exit code 0

로직

  1. 사람 객체를 만든다. (이름, 받아올 숫자 3개, 당첨? 미당첨?)
  2. 게임 당첨 방법 : 숫자 3개가 모두 같은 숫자가 나올 것.
  3. 게임할 사람 배열을 만든다.
  4. 스캐너로 이름을 입력받는다.
  5. 엔터를 눌러가며, "당첨자가 나올 때까지" 무한 반복
  6. 당첨자가 나오면 게임 종료

코드

import java.util.Scanner;

class Person {
	String name;
	int num1, num2, num3; // 숫자를 입력받을 칸

	public Person(String name) {
		this.name = name;
	}

	public boolean game() {
    // 게임의 숫자 범위를 늘려서 다양하게 만들 수도 있다
		num1 = (int) (Math.random() * 3 + 1);
		num2 = (int) (Math.random() * 3 + 1);
		num3 = (int) (Math.random() * 3 + 1);

		System.out.print(num1 + " " + num2 + " " + num3 + "\t");

		if ((num1 == num2) && (num1 == num3))
			return true;
		else
			return false;
	}
}

class JavaTest {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("참여할 사람 : ");
		int num = sc.nextInt();
		Person[] person = new Person[num];

		for (int i = 0; i < num; i++) {
			System.out.println((i + 1) + "번째 사람 : ");
			String name = sc.next();
			person[i] = new Person(name);
		}

		String buf = sc.nextLine();

		while (true) {
			for (int i = 0; i < num; i++) {
				System.out.print("(" + person[i].name + ") >> ");
				buf = sc.nextLine();

				if (person[i].game()) {
					System.out.println(person[i].name + " 님 축하합니다!");
					sc.close();
					return;
				}

				System.out.println("땡!");
			}
		}

	}

}
profile
velog, GitHub, Notion 등에 작업물을 정리하고 있습니다.

0개의 댓글