티스토리 뷰
LOL을 해본 사람들은 트롤 때문에 고생한 기억이 많을 것이다. 문득 궁금해졌다. 난 얼마나 운이 없을까??
게임을 하면 어느정도의 확률로 트롤러를 만나게 될까?
레드팀 5명 블루팀 5명으로 이루어져 5 VS 5 로 진행되는 게임이다.
레드팀과 블루팀을 각각 다른 객체로써 생성하여 팀원들이 트롤러인지 아닌지를 출력해야한다.
팀을 만들때에는 int 배열 (크기는 5)에다가 0~9까지의 랜덤한 숫자를 넣는다.
숫자가 만약 0일때에는 트롤러로 간주한다. 즉 트롤러는 1/10의 확률로 생성되는 셈이다.
내가 풀이한 코드를 보자 !
package hihihi;
import java.util.Random;
import java.util.Scanner;
//팀 생성기
class MakeTeam{
Random r = new Random();
int[] array = new int[5];
String team;
MakeTeam(String team){
this.team = team;
for(int i=0;i<array.length;i++) {
array[i] = r.nextInt(10); //0~9까지의 임의 숫자 넣기
}
}
}
//팀 안에서 트롤을 체크하기
class CheckTroll{
String[] trollchk = new String[5];
CheckTroll(MakeTeam mt) {
mt = new MakeTeam(mt.team); //팀을 생성했을시에 작성한 팀이름을 가져옴.
for(int i=0;i<mt.array.length;i++) {
if(mt.array[i] == 0) { //숫자 0을 트롤러로 간주 , 즉 트롤은 1/10 확률로 들어온다.
trollchk[i] = "트롤러";
}else {
trollchk[i] = "정상유저";
}
}
}
public void print() {
String[] position = {"탑","정글","미드","원딜","서폿"};
for(int i=0;i<trollchk.length;i++) {
System.out.println(position[i] + " : " + trollchk[i]);
}
}
}
public class newproject {
public static void main(String[] args) {
MakeTeam red = new MakeTeam("레드팀"); //레드팀 생성완료
MakeTeam blue = new MakeTeam("블루팀"); //블루팀 생성완료
CheckTroll chkred = new CheckTroll(red); //레드팀 트롤러 유저 확인
CheckTroll chkblue = new CheckTroll(blue); //블루팀 트롤러 유저 확인
System.out.println("큐가 잡혔습니다.");
System.out.println("-----" + red.team + " 팀원----- ");
chkred.print();
System.out.println("-----" + blue.team + " 팀원----- ");
chkblue.print();
}
}
팀을 만드는 클래스와 팀에서 트롤러인지 아닌지를 체크하는 클래스를 별도로 두었고 각각 2개씩 생성하여
블루팀 + 블루팀트롤러체크 / 레드팀 + 레드팀트롤러체크를 하여 최종적으로 프린트하였다.
감사합니다.
'프로그래밍 언어 복습 > JAVA' 카테고리의 다른 글
#41 JAVA 내가 만들어본 *LOL 승률 계산기* (0) | 2022.05.26 |
---|---|
#40 JAVA 100m 올림픽 : 달리기 경주 게임 (0) | 2022.05.26 |
#38 JAVA 가위바위보 게임 클래스화 (0) | 2022.05.26 |
#37 JAVA 4마리 동물 음식 돌리기 게임 (0) | 2022.05.26 |
#36 JAVA 자동차 오토바이 자전거 문제 (0) | 2022.05.25 |
댓글