2017-05-09 2 views
2

저는 clicker 게임을 만들려고 노력 중이며 쿠키 리모콘 게임에서와 같이 로봇 가격을 곱하고 싶습니다. cookie clicker의 가격 계산 공식 (http://cookieclicker.wikia.com/wiki/Building)을 사용하려고했습니다. 나는이 프로그램을 실행할 때, 내가 출력 다음 얻을정수로 반올림 한 Java Math.pow가 동일한 숫자를 여러 번 반환합니다

if (cookies >= robotPrice) { 

       cookies -= robotPrice; 
       cps ++; 
       //Here is the algorithm 
       robotPrice = 100 * (int)Math.pow(1.15, cps); 

       System.out.println("robotPrice set to " + robotPrice); 

      } 

그러나 :

robotPrice set to 100 
robotPrice set to 100 
robotPrice set to 100 
robotPrice set to 100 
robotPrice set to 200 
robotPrice set to 200 
robotPrice set to 200 
robotPrice set to 300 
robotPrice set to 300 

등 도와주세요. 사람들이 의견에서 지적

+2

이 "(INT) Math.pow (1.15, CPS)는"당신은 아마 원하는 이유 –

+3

당신에게 하나를주고, 그건'(INT) (100 * Math.pow (1.15, CPS))'. – VGR

+1

어떻게 든 cps 값은 0에서 4 사이이며, 코드를 디버그하십시오. –

답변

0

으로, 문제는 모든 소수 자릿수를 차단 코드 robotPrice = 100 * (int)Math.pow(1.15, cps);

당신은 전원 CPS에 상승, 1.15 복용이 줄을 발생한다. 어떤 숫자로만 정수를 곱한 다음 100을 곱하면됩니다. 모든 소수를 제거하기 전에 100으로 곱하십시오. robotPrice = (int)(100 * Math.pow(1.15, cps));

+0

고마워요! 그것은 효과가 있었다. –

관련 문제