팁 · 전략 게시판

전체보기

모바일 상단 메뉴

본문 페이지

[팁] 내 승률 #로 몇 게임을 하면 @등급을 갈까?

베르그
댓글: 38 개
조회: 2199
추천: 11
비공감: 5
2015-12-14 08:59:34
네... 시험공부 하다가 너무 하기싫어서 프로그램 한번 짜봤습니다.
"이론적" 기대값은 지금껏 몇분이 올리셨으니 다 아실테고.. 
제가 보여드릴 건 simulation 입니다. 

Matlab 이란 프로그램으로 짜여졌고.. 코드는 아래에 붙여놨습니다. 

crank 에는 current rank, 즉 현재랭크 (25~21등급은 그냥 올리시는 게.. 귀찮아서 안 넣었거든요)
desire 는 원하는 랭크
rate 는 승률을 적으면 되네요 

자 해봅시다. 
내가 지금 20등급이고 15등급까지 가고싶다!  근데 내 승률은 40%밖에 안되네;; 얼마나 해야할까? 가 궁금하시다면
howmanygames(20, 15, 0.4) ㄱㄱ

>> howmanygames(20, 15, 0.4)
ans =
   130
>> howmanygames(20, 15, 0.4)
ans =
   357
>> howmanygames(20, 15, 0.4)
ans =
   275

귀찮아서 3번만 돌려봤네요.
폭이 크죠? 네 큽니다. 시뮬레이션이라서 그래요. 어쩔수있나요? 뭐 .. 그렇다고요

이제 60%로 5등급까지 가볼까요?


>> howmanygames(20, 5, 0.6)
ans =
   118
>> howmanygames(20, 5, 0.6)
ans =
   151
>> howmanygames(20, 5, 0.6)
ans =
   192

이렇다네요.. 

>> howmanygames(20, 0, 0.6)
ans =
   379
>> howmanygames(20, 0, 0.6)
ans =
   311
>> howmanygames(20, 0, 0.6)
ans =
   248


전설까진 이정도고요. 아 참고로 0등급 = 전설로 설정했습니다. 

뭐.. 열심히 겜 해봅시다




아래는 프로그래밍 코드:

function num = howmanygames(crank,desire,rate)

startsreq = [3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6];
cstarreq = startsreq(1);
cstar = 0;
rank = crank;
sucwin = 0;
num = 0;
while( rank > 0)
    win = rand();
    if( win < rate)
        cstar = cstar + 1;
        if cstar > cstarreq
            rank = rank - 1;
            if rank==0
                break
            end
            cstarreq = startsreq(21-rank);
            cstar = 1;
        end
        sucwin = sucwin + 1;
        if (sucwin>2 && rank>5)
            cstar = cstar+1;
        end
        if cstar > cstarreq
            rank = rank - 1;
            cstarreq = startsreq(21-rank);
            cstar = 1;
        end
        
    else
        if(cstar==0 && rank==20)
                cstar=cstar+1;
        end
        sucwin = 0;
        cstar = cstar-1;
        if cstar<0
           rank = rank +1;
           cstarreq = startsreq(21-rank);
           cstar = startsreq(21-rank)-1;
        end
    end
    num = num + 1;
    rank;
    if rank==desire
        rank=rank+1;
        break 
        
    end
    
end




Lv33 베르그

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

AD