Quad69,
Цитата Quad69 (
)
stepRandom = 0; //ВОТ ЭТОТ ЦИКЛ
while (stepRandom<rround and alarm[0] != room_speed*5){
alarm[0]= room_speed*5;
}
В таком случае, получается так:
Пусть условие цикла (stepRandom<rround and alarm[0] != room_speed*5) равно true, тогда запускается таймер alarm0, далее цикл останавливается, и через room_speed*5 происходит срабатывание alarm0, и все? Значит, таймер не будет запущен rround раз, а как я понял код Skyapa, ему вроде нужен такой алгоритм.
Можно ведь просто запустить таймер в startGame(), а в самом таймере его перезапускать, нужное количество раз, добавив alarm[0] = room_speed * 5;
Тогда получаем такой код:
Код
[StartButton-Left Down]
function activation() {
if (rrandom == 1) {
LeftTop.image_blend = c_blue;
alarm[1] = room_speed * 3;
audio_play_sound(_1, 1, false);
}
if (rrandom == 2) {
RightTop.image_blend = c_fuchsia;
alarm[2] = room_speed * 3;
audio_play_sound(_2, 1, false);
}
if (rrandom == 3) {
LeftDown.image_blend = c_yellow;
alarm[3] = room_speed * 3;
audio_play_sound(_3, 1, false);
}
if (rrandom == 4) {
RightDown.image_blend = c_lime;
alarm[4] = room_speed * 3;
audio_play_sound(_4, 1, false);
}
}
function randomInteger() {
rrandom=irandom_range(1, 4);
array_push(computerArray, rrandom);
activation();
}
function startGame() {
rrandom = 0;
rround = 4;
stepRandom = 0;
computerArray = [];
playerArray = [];
isAlarm = false;
LeftTop.image_blend = c_navy;
RightTop.image_blend = c_purple;
LeftDown.image_blend = c_olive;
RightDown.image_blend = c_green;
alarm[0] = room_speed * 5;
}
startGame();
//////////////////////////////////
[alarm0]
stepRandom++;
randomInteger();
if (stepRandom < rround) {
alarm[0] = room_speed * 5;
}
?