2015-05-11 6 views
0

Кто-нибудь из вас знает, как сохранить значение генератора случайных чисел одинаково, когда я вывожу его? В настоящее время я создаю лидирующую доску, где он позволяет пользователю вводить свое имя, вводить количество игроков, а генератор случайных чисел генерирует 10 значений и суммирует их в один общий балл. До сих пор я сгенерировал общий балл, и я планирую выводить как «Welcome (имя игрока) ваш общий балл (общая оценка)», этот процесс повторяется до тех пор, пока не будет выведено имя всего игрока. После этого я планирую использовать сортировку массива и массива, чтобы отобразить счет игрока с самого высокого на самый низкий. Но проблема в том, что я не знаю, как сохранить значение «общего балла» так же, как тот, который я отобразил на том, который выводит имя и счет игрока и «таблицу лидеров», поскольку генератор случайных чисел будет продолжать генерировать новые значения. Некоторая помощь будет принята с благодарностью. Спасибо. Вот что я сделал до сих порВывод того же сгенерированного числа

<HTML> 
 
    < !Foundation Page 
 
for building our Javascript programs > 
 
    <HEAD> 
 
    <TITLE> The Foundation Page < /TITLE> 
 
<SCRIPT LANGUAGE = "JavaScript"> 
 

 
function main() 
 
{ 
 
\t start() 
 
\t randomnumber() 
 
\t totalscore() 
 
\t leaderboard() 
 
} 
 
function start() 
 
{ 
 
\t var ask 
 
\t var name1 
 
\t var name2 
 
\t var name3 
 
\t var name4 
 
\t var name5 
 
\t 
 
\t 
 
\t ask=prompt ("How many people are playing") 
 
\t if (ask==3) 
 
\t \t { 
 
\t \t name1=prompt("What is the first player's name?") 
 
\t \t name2=prompt("What is the second player's name?") 
 
\t \t name3=prompt("What is the third player's name?") 
 
\t \t } 
 
\t if (ask==4) 
 
\t \t { 
 
\t \t name1=prompt("What is the first player's name?") 
 
\t \t name2=prompt("What is the second player's name?") 
 
\t \t name3=prompt("What is the third player's name?") 
 
\t \t name4=prompt("What is the forth player's name?") 
 
\t \t } 
 
\t if (ask==5) 
 
\t \t { 
 
\t \t name1=prompt("What is the first player's name?") 
 
\t \t name2=prompt("What is the second player's name?") 
 
\t \t name3=prompt("What is the third player's name?") 
 
\t \t name4=prompt("What is the forth player's name?") 
 
\t \t name5=prompt("What is the fifth player's name?") 
 
\t \t } \t \t 
 
} 
 

 
function randomnumber() 
 
{ 
 
\t var randomnumber; 
 
\t randomnumber = Math.random()*3; 
 
\t return(Math.floor(randomnumber+0.5)); 
 
} 
 
function totalscore() 
 
{ 
 
\t var n; 
 
\t var score = 0; 
 
\t for (n=0; n<10; n=n+1) 
 
\t { 
 
\t \t number = randomnumber(); 
 
\t \t if (number == 0) 
 
\t \t \t { 
 
\t \t \t \t score =score+0; 
 
\t \t \t } 
 
\t \t else if (number == 2) 
 
\t \t \t { 
 
\t \t \t \t score =score+2; 
 
\t \t \t } 
 
\t \t else if (number == 3) 
 
\t \t \t { 
 
\t \t \t \t score =score+3; 
 
\t \t \t } 
 
\t } 
 
\t document.write (score) 
 
} 
 
function leaderboard() 
 
{ 
 
\t var leaderboardarray = new array (5); 
 

 
\t \t leaderboardarray[0] = number; 
 
\t \t leaderboardarray[1] = number; 
 
\t \t leaderboardarray[2] = number; 
 
\t \t leaderboardarray[3] = number; 
 
\t \t leaderboardarray[4] = number; 
 
\t 
 

 

 
} 
 
</SCRIPT > 
 
    <HEAD> 
 
    <BODY> 
 
    < BODY BGCOLOUR = "WHITE" > 
 
    <H2> The Foundation Page < /H2> 
 
<HR> 
 
<SCRIPT LANGUAGE = "Javascript"> main() </SCRIPT > 
 
    < INPUT NAME = "dobutton" 
 
TYPE = "button" 
 
value = "Start game" 
 
on Click = "game()" > 
 
    < INPUT NAME = "dobutton" 
 
TYPE = "button" 
 
value = "Leaderboard" 
 
on Click = "leader()" > 
 
    < /BODY> 
 
</HTML >

ответ

0

Не совсем уверен, что спрашивает здесь, но только несколько моментов, чтобы сделать:

  • Вашим переменное имя может быть сделаны в массив имен с размером, указанным в запросе. то есть вместо того, чтобы names1-5 вы могли бы сделать

    var names[ask] 
    

    поэтому он создает массив имен, где размер является количество игроков указано. Тогда побуждая имена вы могли бы иметь нечто вдоль линии

    for(var i = 1; i < ask; i++) { 
        names[i] = prompt("Name of Player " + i); 
    } 
    
  • В totalScore ваш, если в другом месте проверяет числа не имеют смысла, потому что вы всегда будете добавлять номер забить и он всегда будет находиться в диапазоне от 0 до 3 поэтому вместо того, чтобы проверить это значение, чтобы добавить, просто добавьте его:

    number = randomNumber(); 
    score += number; 
    
  • Ваше форматирование в целом довольно бедно, и вы должны использовать нижний регистр для тегов и без пробелов, т.е.

    <HTML> 
    

    должен быть

    <html> 
    

    аналогично со всеми тегами

  • Примечание: Выше приведены советы, которые я думаю, вы должны взять на борт для дальнейшей работы!

  • Если бы вы могли уточнить, что именно вы хотите сделать с приведенным выше кодом, это было бы здорово, и я был бы рад помочь!
+0

Извините, что я очень плохо разбираюсь в вещах. То, что я пытаюсь сделать, - вывести одно и то же «сгенерированное случайное число» значение дважды. Причина этого заключается в том, что я хотел вывести таблицу лидеров, которая показывает оценку от наивысшего балла до самого низкого, и я также хочу вывести ту же самую оценку (то же самое значение в таблице лидеров) с именем игрока рядом со счетом, чтобы позволить пользователь должен увидеть их счет в таблице лидеров. Надеюсь, вам легче понять – Ruben