2014-12-21 10 views
0
function getRandomInt(min, max) { 
return Math.floor(Math.random() * (max - min + 1)) + min; 
} 

function generateNumber() { 
document.getElementById("generated-id").innerHTML = getRandomInt (1, 10); 
} 

function stickForStamina(){ 
if (stamina > 0 && generateNumber() <= 1) { 
stamina = stamina - 1; 
stick = stick + 1; 
document.getElementById("stamina").innerHTML = stamina; 
document.getElementById("stick").innerHTML = stick; 
} 

} 

기능은 지금까지 스틱, 즉 개체를 찾을 수있는 %의 확률에 대한 은 이미이 질문에 몇 가지를 고정하지만 여전히% 확률 정비사

이것은 작동하는 것 같다 하루의 xD 후이 작업 제외

function stickForStamina(){ 
var num = getRandomInt(1, 10); 
if (stamina > 0 && num <= 10) { 
stamina = stamina - 1; 
stick = stick + 1; 
document.getElementById("stamina").innerHTML = stamina; 
document.getElementById("stick").innerHTML = stick; 
} 

아래 UPDATED % 확률 코드가 지금은 90 %의 확률로 여기에 바위를 얻을 수있는 방법을 파악해야 9/10

function wildernessForStamina(){ 
var num = getRandomInt(1, 10); 
if (stamina > 1 && num <= 9) { 
stamina = stamina - 2; 
stick = stick + 1; 
rock = rock + 1; 
document.getElementById("stamina").innerHTML = stamina; 
document.getElementById("stick").innerHTML = stick; 
document.getElementById("rock").innerHTML = rock; 
} 
else if (stamina > 1 && num <=10) { 
stamina = stamina - 2; 
stick = stick + 1; 
document.getElementById("stamina").innerHTML = stamina; 
document.getElementById("stick").innerHTML = stick; 
} 
} 

알아 냈어. 내가 더 잘 쓸 수있는 방법에 대한 도움?

+0

당신이 보여주고있는 코드를 고칠 수는 있지만 기본에 대해 읽어 보라고 조언하고 싶습니다. [CodeAcademy] (http://www.codecademy.com/en/tracks/javascript) [w3schools] (http://www.w3schools.com/js/) – Jonathan

+0

참으로 그 웹 페이지를 통해 나를 도울 것입니다. 증분 게임에 대한 또 다른 웹 페이지와 함께 정보가 아직 내 마음 속에서 클릭되지 않았습니다. xD 여기에 대해 제가 일하고있는 것은 http://hexmerchant.github.io/입니다. 코드가 현명하면 내 컴퓨터에 여전히 업데이트 된 코드가 있습니다. –

+0

글쎄, 한 가지 문제는 'searchFunction' 안에'stickClick'을 선언 했으므로'searchFunction'만이 그것에 접근 할 수 있고 당신의 다른 코드는 접근 할 수 없습니다. – Jonathan

답변

0
function wildernessForStamina(){ 
var num = getRandomInt(1, 10); 
if (stamina > 1 && num <= 9) { 
stamina = stamina - 2; 
stick = stick + 1; 
rock = rock + 1; 
document.getElementById("stamina").innerHTML = stamina; 
document.getElementById("stick").innerHTML = stick; 
document.getElementById("rock").innerHTML = rock; 
} 
else if (stamina > 1 && num <=10) { 
stamina = stamina - 2; 
stick = stick + 1; 
document.getElementById("stamina").innerHTML = stamina; 
document.getElementById("stick").innerHTML = stick; 
} 

}이 작품

. 단축 할 수있는 방법이 있지만 다른 프로젝트를 계속 진행하여 하나의 문제에 집착하지 마십시오.

0

Math.random() 메소드 만 사용하여 간단하고 직선적 인 방법으로 기회 계산을 할 수 있습니다.

당신이이 같은 확률을 계산할 수 인 Math.random()가 (포함) 0 1 (전용)에서 수 이하를 반환 알고있는 경우 :

당신이 뭔가 후 50 %의 경우에하고 싶은 경우에 당신이 할 수있는 쓴 :

if (Math.random() < 50/100f) 
{ 
    // 50% = 50/100 = 0.5 
    //do something 
} 

같은, 당신이 뭔가가 0 %의 경우에 수행하려는 경우 (0 % = 0/100 = 0) 당신은 쓴 수 있습니다 : 당신이 뭔가를 원한다면,

if (Math.random() < 0/100f) 
{ 
    // this will never execute 
    // minimum that random can return is 0 which can't be lower than 0/100 = 0 
} 

동일 100 % 사례에서 수행 (100 % = 이 표기법을 사용하여 쓴 수 있고, 다른 경우가 있습니다,

if (Math.random() < 100/100f) 
{ 
    // this will allways execute 
    // maximum that random can return is 0.9999999... which 
    // is always lower than 1 
} 

그러나 : 100/100 = 1)는 당신이 쓴 수 있습니다. 당신이 뭔가를 수행하려는 경우 예를 들어

4 회 세, 이것은 같이 썼다 수 있습니다

if (Math.random() < 3/4f) 
{ 
    // 3/4 = 0.75 
    // 3/4 = 3*25/4*25 = 75/100 
} 

또는 당신이 뭔가 당신이 쓰는 모든이 7 시도 일어난하려면 :

if (Math.random() < 2/7f) 
{ 
    // you got it allready by now :) 
}