Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.12.2015, 21:44
Интересующийся
Отправить личное сообщение для Илья1812 Посмотреть профиль Найти все сообщения от Илья1812
 
Регистрация: 20.12.2015
Сообщений: 11

Уменьшение переменной в интервале
Приветствую знатоков JS. Проблема в следующем - есть 2 рандомных значения которые генерируются каждые 1000мс. Эти значения суммируются между собой и составляют "прибыль" за период в 1000мс. Затем каждое новое значение прибыли суммируется с предъидущим и получается - "доступные средства".
Есть также кнопка при нажатии на которую из "доступных средств",если их более 100, вычитается 100 а максимальное рандомное значение одной из переменных из которых составляется "прибыль "увеличивается.
Все выше описанное получается, только при нажатии на кнопку значение "доступных средств" остается прежним а максимальное рандомное увеличивается. Подскажите как решить проблему.
Вот код.
var Massiv_Prodanogo=[]; 

var Profit_Prodano_min = 1, Profit_Prodano_max = 10;
var Profit_Proiz_min = 0, Profit_Proiz_Prodano_max = 9;


setInterval(function (){


var Prodano_Ras = Math.floor(Math.random( ) * (Profit_Prodano_min - Profit_Prodano_max + 1)) + Profit_Prodano_max;

var Proiz_Ras = Math.floor(Math.random( ) * (Profit_Proiz_min - Profit_Proiz_Prodano_max + 1)) + Profit_Proiz_Prodano_max;


Massiv_Prodanogo.push(Prodano_Ras+Proiz_Ras); 

var Summ_Massiv_Prodanogo = summ_PR(Massiv_Prodanogo); 

document.querySelector('button[name="equipment_01"]').addEventListener('click',Buy)

function Buy(){
if (Summ_Massiv_Prodanogo>100){
Summ_Massiv_Prodanogo=Summ_Massiv_Prodanogo-100;
Profit_Prodano_max = Profit_Prodano_max +10;

}

} 

function Data_new(){
document.querySelector(".Profit_Vsego").innerHTML=Summ_Massiv_Prodanogo;
document.querySelector(".Profit_RAS").innerHTML=Prodano_Ras+Proiz_Ras;
document.querySelector(".Profit_Prodan").innerHTML=Prodano_Ras;
document.querySelector(".Profit_Proiz").innerHTML=Proiz_Ras;
}

Data_new();


},1000);

function summ_PR(arr) { 
	var result = 0; 
	arr.forEach(function(Prodano_Ras,Proiz_Ras) {
  	result =  result+Prodano_Ras+Proiz_Ras;
});
  return result;
}

Последний раз редактировалось Илья1812, 23.12.2015 в 23:20.
Ответить с цитированием
  #2 (permalink)  
Старый 23.12.2015, 23:10
Интересующийся
Отправить личное сообщение для Илья1812 Посмотреть профиль Найти все сообщения от Илья1812
 
Регистрация: 20.12.2015
Сообщений: 11

Помогите найти ошибку или посоветуйте в каком направлении работать? Буду рад любой помощи.
Ответить с цитированием
  #3 (permalink)  
Старый 23.12.2015, 23:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Илья1812,
попробуйте для начала отформатировать код
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #4 (permalink)  
Старый 23.12.2015, 23:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Илья1812,
строки 17-35 надо вынести из интервала,
Ответить с цитированием
  #5 (permalink)  
Старый 23.12.2015, 23:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от Илья1812
только при нажатии на кнопку значение "доступных средств" остается прежним
вычли после вычета показали результат
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2015, 00:00
Интересующийся
Отправить личное сообщение для Илья1812 Посмотреть профиль Найти все сообщения от Илья1812
 
Регистрация: 20.12.2015
Сообщений: 11

Сообщение от рони Посмотреть сообщение
Илья1812,
строки 17-35 надо вынести из интервала,
Тогда значения генерируются только 1 раз
Ответить с цитированием
  #7 (permalink)  
Старый 24.12.2015, 00:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Илья1812,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<span class="Profit_Vsego"></span><br>
<span class="Profit_RAS"></span>=
<span class="Profit_Prodan"></span>+
<span class="Profit_Proiz"></span><br>
<input name="" type="button" value="buy">
<script>
var Massiv_Prodanogo = 0,
    Profit_Prodano_min = 1,
    Profit_Prodano_max = 10,
    Profit_Proiz_min = 0,
    Profit_Proiz_Prodano_max = 9,
    Prodano_Ras, Proiz_Ras;
document.querySelector('[type="button"]').addEventListener("click", Buy);

function Buy() {
    if (Massiv_Prodanogo > 100) {
        Massiv_Prodanogo -= 100;
        Profit_Prodano_max += 10;
        Profit_Proiz_Prodano_max += 10;
        Data_new()
    }
}

function Data_new() {
    document.querySelector(".Profit_Vsego").innerHTML = Massiv_Prodanogo;
    document.querySelector(".Profit_RAS").innerHTML = Prodano_Ras + Proiz_Ras;
    document.querySelector(".Profit_Prodan").innerHTML = Prodano_Ras;
    document.querySelector(".Profit_Proiz").innerHTML = Proiz_Ras
}
setInterval(function() {
    Prodano_Ras = Math.floor(Math.random() * (Profit_Prodano_min - Profit_Prodano_max + 1)) + Profit_Prodano_max;
    Proiz_Ras = Math.floor(Math.random() * (Profit_Proiz_min - Profit_Proiz_Prodano_max + 1)) + Profit_Proiz_Prodano_max;
    Massiv_Prodanogo += Prodano_Ras + Proiz_Ras;
    Data_new()
}, 1000);
</script>
</body>

</html>
Ответить с цитированием
  #8 (permalink)  
Старый 24.12.2015, 00:28
Интересующийся
Отправить личное сообщение для Илья1812 Посмотреть профиль Найти все сообщения от Илья1812
 
Регистрация: 20.12.2015
Сообщений: 11

Спасибо, то что нужно!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
посылка переменной kent0026 jQuery 5 04.01.2014 17:34
Как значение переменной вставить в имя переменной? jsgogo Общие вопросы Javascript 3 02.06.2013 12:11
Значение переменной, как имя для другой переменной Kosty@n Общие вопросы Javascript 2 15.12.2012 22:58
Создание переменной по значению другой переменной bahek2462774 Общие вопросы Javascript 2 09.10.2011 10:11
Преобразование значения переменной в строку leny Общие вопросы Javascript 3 01.10.2011 22:34