티스토리 뷰

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개씩 생성하여

블루팀 + 블루팀트롤러체크 / 레드팀 + 레드팀트롤러체크를 하여 최종적으로 프린트하였다.

 

감사합니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함