메뉴 건너뛰기

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

뒷북이긴 합니다만

넷마블 측이 발표한 뽑기 확률을 바탕으로

허수아비 헬멧을 뽑는데 몇개의 지푸라기가 필요한지 계산해 평균을 내는 코드를 짜봤습니다.

돈마블 뽑기 확률표 : https://cafe.naver.com/momakakao/5421396

실험 해보실분 : https://ideone.com/P5MYRj 가서

$times=1000 값을 $times=10000 이런식으로 바꿔서 하시면 됩니다.

php 코드

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
/*
저작권자
-kmb패밀리(http://kmbfamily.net)
*/
$times=1000;            //허바 1000개 뽑기
$sum = 0;            //허바 뽑는데 쓴 지푸라기 총 개수
$i=0;
$list_item = array("머리","오른손","왼손","몸통","다리");    //허수아비 부위
$list_item_count = array(0,0,0,0,0);                        //허수아비 부위 개수
$list_percent = array(0.1,33,17,44.6,5.3);                    //허수아비 부위 확률
do{
    $i=$i+1;
    $Straw = 0;                                    //새로 허바 뽑을때 마다 지푸라기 개수 초기화 해줘야 겠죠
    $list_item_count = array(0,0,0,0,0);        //새로 허바 뽑을때 마다 부위 개수 초기화 해줘야 겠죠
    $Straw_exc = 0;                                //지푸라기 45개 될때마다 교환권 있죠
    do{                                            //허바 뽑기 시작
        $draw = Percent_draw($list_item,$list_percent);
        $Straw = $Straw+3;
        $Straw_exc = $Straw_exc+3;
        if($draw=="머리"$list_item_count[0]=$list_item_count[0]+1;
        if($draw=="오른손"$list_item_count[1]=$list_item_count[1]+1;
        if($draw=="왼손"$list_item_count[2]=$list_item_count[2]+1;
        if($draw=="몸통"$list_item_count[3]=$list_item_count[3]+1;
        if($draw=="다리"$list_item_count[4]=$list_item_count[4]+1;
        if($Straw_exc >= 45){                    //지푸라기 45개 넘으면 교환해서도 받아갈수 있으니깐.....
            if($list_item_count[0>1 && $list_item_count[1>1 && $list_item_count[2>1 && $list_item_count[3>1) {
                $Straw_exc = $Straw_exc-45;        //교환하면 지푸라기 45개 빼줍니다.
                $list_item_count[4= $list_item_count[4]+1;
            }
            if($list_item_count[0>1 && $list_item_count[1>1 && $list_item_count[2>1 && $list_item_count[4>1) {
                $Straw_exc = $Straw_exc-45;
                $list_item_count[3= $list_item_count[3]+1;
            }
            if($list_item_count[0>1 && $list_item_count[1>1 && $list_item_count[3>1 && $list_item_count[4>1) {
                $Straw_exc = $Straw_exc-45;
                $list_item_count[2= $list_item_count[2]+1;
            }
            if($list_item_count[0>1 && $list_item_count[2>1 && $list_item_count[3>1 && $list_item_count[4>1) {
                $Straw_exc = $Straw_exc-45;
                $list_item_count[1= $list_item_count[1]+1;
            }
            if($list_item_count[1>1 && $list_item_count[2>1 && $list_item_count[3>1 && $list_item_count[4>1) {
                $Straw_exc = $Straw_exc-45;
                $list_item_count[0= $list_item_count[0]+1;
            }
        }
        if($list_item_count[0>0 && $list_item_count[1>0 && $list_item_count[2>0 && $list_item_count[3>0 && $list_item_count[4>0) {
            break;                                //허수아비 헬멧 뽑았으면 반복문 탈출
        }
    }while(true);                                //허바뽑기 끝
    $sum = $Straw+$sum;                            //허바 뽑는데 사용한 지푸라기 개수 누적처리
}while($i<$times);
echo "허수아비 헬멧 ".$i."회 뽑기 평균값 : ".$sum/$i;
 
function Percent_draw($items_list,$percent_list) {
    $range_now = 0;
    $range_last = 0;
    $decimal = 4;
    if(count($percent_list!= count($items_list)) return false;
    $draw = mt_rand(1,pow(10,$decimal)*array_sum($percent_list));
    for($sequence=0$sequence<count($percent_list); $sequence++) {
        $range_now += pow(10,$decimal)*$percent_list[$sequence];
        if($range_now >= $draw && $range_last < $draw) {
            return $items_list[$sequence];
        }else{
            $range_last = $range_now;
        }
    }
}
?>
cs

결론

  • 허수아비 헬멧 10000회 뽑기 평균값 : 114.6819
  • 허수아비 헬멧 5000회 뽑기 평균값 : 116.757
  • 허수아비 헬멧 2000회 뽑기 평균값 : 117.567
  • 허수아비 헬멧 1000회 뽑기 평균값 : 115.311
  • 허수아비 헬멧 500회 뽑기 평균값 : 112.776

허수아비 헬멧을 뽑는데 필요한 지푸라기의 개수는 115개에 수렴합니다.

?

자유게시판

회원가입후 이용할수 있습니다

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 V4 서버 통제현황(2020년 2월 16일 19:00) 50 update 주영 2019.12.18 7059
공지 V4 공략 총정리(2019년 2월 19일) file 주영 2019.12.17 5290
공지 자유게시판 이용방법 주영 2019.10.15 165
25 [V4]취침 또는 평상시 자동사냥 방법 및 위치 공략 주영 2020.02.17 89
24 스페셜리스트 꿀단지 이벤트 공지 주영 2019.08.29 178
23 모두의마블 6주년 업데이트 예약 궁금증 kmb패밀리 2019.07.12 219
22 [모두의마블](각성)닌자슈즈 뽑기 시뮬레이션 결과 사용한 A인술수련 평균 개수(php) kmb패밀리 2019.12.18 271
» [모두의마블]허수아비 헬멧 뽑기 시뮬레이션 결과 사용한 지푸라기 평균 개수(php) kmb패밀리 2019.10.12 285
20 모두의마블 6주년 업데이트 사전예약 방법 file kmb패밀리 2019.07.12 300
19 [모두의마블](각성)어둠의 비눗방울 장난감 뽑기 시뮬레이션 결과 사용한 다이아 평균 개수(php) 주영 2019.12.21 307
18 모두의마블 게임 가이드 file kmb패밀리 2019.09.04 398
17 [모두의마블]우주함선 건설장비 뽑기 시뮬레이션 결과 사용한 A우주선 엔진 평균 개수(php) kmb패밀리 2019.12.13 421
16 V4 길드 레벨 정보 주영 2019.10.28 421
15 [모두의마블]S+ 니콜 뽑기 시뮬레이션 결과 사용한 A니콜의달리기 평균 개수(php) 주영 2019.11.01 545
14 V4 길드 블랙리스트 목록(2019-11-09 18:42) kmb패밀리 2019.11.09 581
13 [모두의마블](각성)허수아비 헬멧 뽑기 시뮬레이션 결과 사용한 다이아 평균 개수(php) 2 주영 2020.01.18 670
12 카트 신용인 우유배급님입니다 잘 부탁드려요^^ 카트우유배급님 2019.06.09 706
11 카트라이더 쿠폰 사기 예방법 file kmb패밀리 2019.05.04 714
10 넥슨 V4 게스트 계정 옮기기 방법(게스트계정 백업+복구) 2 file 주영 2020.01.21 736
9 [모두의마블]S+ 각성 페이 뽑기 시뮬레이션 결과 사용한 다이아 평균 개수(php) kmb패밀리 2019.12.06 822
8 [모두의마블]매직브러시 뽑기 시뮬레이션 결과 사용한 A팔레트 평균 개수(php) MX패밀리 2019.10.08 878
7 [모두의마블]비형랑 뽑기 시뮬레이션 결과 화살카드 평균 개수(php) kmb패밀리 2019.08.31 982
Board Pagination Prev 1 ... 2 Next
/ 2