커뮤니티 전체보기

전체보기

모바일 상단 메뉴

본문 페이지

[팁] 자원과 보석과의 관계

되는걸로
댓글: 14 개
조회: 4224
추천: 3
2015-02-24 23:25:10

자원과 보석과 관계를 찾아봤는데

 

한국어로 나온 사이트에선 잘 없어서 해외 사이트에서 까지 찾아봤습니다.

WIKI 에 계산기는 있는데 이 계산이 도저히 어떻게 되는지 몰라서 찾는데 꽤 어려움을 겪었습니다.

 

각 자원과 보석은 구간을 가지고 있습니다.

예를 들어 시간을 가지고 계산을 하면 1분은 1개 1시간은 20개 24시간은 260개 1주일은 1000개

2시간은? (2시간 - 1시간) 구간을 계산하고 + 1시간 분량(20개) 로 이뤄 집니다.

 

아래는 좀 어려울수도 있으니 이해를 하고 싶으신분만 더 접근해보세요.

 

정확한 공식은

(int)(((value - range[minRange])*1.0f / ((range[maxRange]-range[minRange])*1.0f/(gemRange[maxRange]-gemRange[minRange])) + gemRange[minRange]) + bonus);

 

이렇게 됩니다.

 

helper app에 있던 소스인데 참고 하세요.

 

helper app에서 계산기를 삭제하기로 마음을 먹어서 공개합니다.

 

public static final int RESOURCE_TYPE_GOLD = 1000;
 public static final int RESOURCE_TYPE_DARK_ELIXIR = 1001;
 public static final int RESOURCE_TYPE_TIME = 1002;
 public static final int RESOURCE_TYPE_GEM = 1003;
 
 public static int[] GOLD_RANGE = {100,1000,10000,100000,1000000,10000000};
 public static int[] DARK_ELIXIR_RANGE = {1,10,100,1000,10000,100000};
 public static int[] RESOURCE_GEM_RANGE = {1,5,25,125,600,3000};
 public static int[] TIME_GEM_RANGE = {1,20,260,1000};
 public static int[] TIME_RANGE = {60, 3600, 86400, 604800};
 
 public int calculate_resource_to_gem(int type,int value) {
  int ret = -1;
  int minRange = -1;
  int maxRange = -1;
  int[] range = null;
  int[] gemRange = null;
  float bonus = 0f;
  if(type == RESOURCE_TYPE_GOLD) {
   range = GOLD_RANGE;
   gemRange = RESOURCE_GEM_RANGE;
   bonus = 0.5f;
  } else if(type == RESOURCE_TYPE_DARK_ELIXIR) {
   range = DARK_ELIXIR_RANGE;
   gemRange = RESOURCE_GEM_RANGE;
   bonus = 0.5f;
  } else if(type == RESOURCE_TYPE_TIME) {
   range = TIME_RANGE;
   gemRange = TIME_GEM_RANGE;
   bonus = 0.0f;
  } else {
   return -1;
  }
  int i=0;
  if(range[0] > value) {
   return 1;
  }
  for( i=1;i

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

AD