본문 바로가기

자바(java)

토끼와 거북이 경주 게임: 토끼와 거북이가 경주하는 게임을 만들어 승자를 결정합니다.

반응형

토끼와 거북이 경주 게임: 자바 구현

1. 내용 설명

이 프로그램은 토끼와 거북이가 경주를 하는 간단한 게임입니다. 각 참가자는 랜덤한 속도로 이동하며, 먼저 결승선에 도달하는 캐릭터가 승리합니다. 게임은 콘솔 기반으로 진행되며, 사용자는 경주의 진행 상황을 볼 수 있습니다.

2. 프로그램 간 사용 함수 설명

  • main(String[] args): 게임을 시작하는 메인 메소드입니다.
  • race(): 토끼와 거북이의 경주를 진행하고, 각 참가자의 위치를 업데이트합니다.
  • randomSpeed(): 랜덤한 속도를 생성하여 반환합니다.
  • displayRace(int rabbitPosition, int turtlePosition): 경주의 현재 상태를 표시합니다.

3. 코딩 내용

import java.util.Random;

public class RaceGame {
    private static final int RACE_END = 50;
    private static Random random = new Random();

    public static void main(String[] args) {
        race();
    }

    private static void race() {
        int rabbitPosition = 0;
        int turtlePosition = 0;

        while (rabbitPosition < RACE_END && turtlePosition < RACE_END) {
            rabbitPosition += randomSpeed();
            turtlePosition += randomSpeed();

            displayRace(rabbitPosition, turtlePosition);

            try {
                Thread.sleep(1000); // 1초 휴식
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

        if (rabbitPosition >= RACE_END) {
            System.out.println("토끼 승리!");
        } else {
            System.out.println("거북이 승리!");
        }
    }

    private static int randomSpeed() {
        return random.nextInt(10); // 0에서 9 사이의 랜덤 속도
    }

    private static void displayRace(int rabbitPosition, int turtlePosition) {
        for (int i = 0; i < RACE_END; i++) {
            if (i == rabbitPosition) {
                Systehttp://m.out.print("R");
            } else if (i == turtlePosition) {
                Systehttp://m.out.print("T");
            } else {
                Systehttp://m.out.print("-");
            }
        }
        System.out.println();
    }
}

 

4. 전문용어

  • Random: 자바에서 무작위 값을 생성하는 클래스입니다.
  • Thread.sleep: 현재 쓰레드를 지정된 시간 동안 일시 정지시킵니다.
  • System.out.print: 콘솔에 텍스트를 출력합니다.
  • main 메소드: 자바 프로그램의 진입점입니다.

5. 라이브러리 추가 및 실행 방법

  • 본 프로그램은 자바 표준 라이브러리만을 사용합니다.

컴파일:
javac -encoding UTF-8 RaceGame.java

 

실행:
java RaceGame

반응형