티스토리 뷰
전에 이 문제를 풀이한 코드를 올렸을때는 돌발상황이 발생시에 달리던선수가 -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);
}
}
이렇게 된다.
감사합니다.
'프로그래밍 언어 복습 > JAVA' 카테고리의 다른 글
#49 JAVA 중간점검 : 변수와 조건문 문제 (0) | 2022.06.05 |
---|---|
#48 JAVA 매우 조잡한 마트게임 (0) | 2022.06.04 |
#46 JAVA 동물 10마리 랜덤으로 받아 우리안에 넣기 ! 문제 (0) | 2022.05.27 |
#45 JAVA 오버라이딩 공룡 문제 (0) | 2022.05.27 |
#43 JAVA 랜덤 동물 만들기 게임 문제 (0) | 2022.05.27 |
댓글