티스토리 뷰

전에 이 문제를 풀이한 코드를 올렸을때는 돌발상황이 발생시에 달리던선수가 -10m가 되게끔 했는데 이번엔 0m 즉 한턴에 4명의 선수중 랜덤으로 한명이 멈추게된다. 달리지 못하게 된다는 뜻이다.

 

이렇게 했을때 코드는??

package NewProject;

import java.util.Random;

class Player{
	Random r = new Random();
	String name;
	int result;
	int dejan;
	Player(String name,int dejan){
		this.name = name;
		this.dejan = dejan;
	}
	
	public void chkandmove(boolean check) {
		if(!(check)) { //돌발상황이 아닐때
			result += r.nextInt(10)+1;
		}
		System.out.println(dejan + "레인 " + name + " 달린 거리 : " + result);
	}
}

public class Start {
	public static void main(String[] args) {
		
		String[] array = {"한국","중국","일본","미국"};
		Player[] p = new Player[4];
		
		for(int i=0;i<p.length;i++) {
			p[i] = new Player(array[i],i+1);
		}
		Random r = new Random();
		boolean check = true;
		while(check) {
			System.out.println("달립니다 ! ");
			int num = r.nextInt(4); // 0 ~ 3
			for(int i=0;i<p.length;i++) {
				if(num == i) {
					p[i].chkandmove(true);
				}else {
					p[i].chkandmove(false);
				}
				
			}
			for(int i=0;i<p.length;i++) {
				if(p[i].result >= 100) {
					check = false;
					break;
				}
			}
		}
		int max = 0;
		for(int i=0;i<p.length;i++) {
			if(max < p[i].result) {
				max = p[i].result;
			}
		}
		int j=0;
		for(int i=0;i<p.length;i++) {
			if(max == p[i].result) {
				j = i;
			}
		}

		System.out.println("우승팀 : "+ p[j].name);
	}
}

이렇게 된다.

 

출력창

 

 

감사합니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
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
글 보관함