![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Вы получили xml с вопросами/ответами, пропарсили его и перенесли в массив, потом случайным образом перемешали массив и уже после этого выводите вопросы по-одному.
__________________
Oomph |
|
|||||
|
Регистрация: Apr 2013
Сообщений: 77
|
Цитата:
![]() |
|
|||||
|
[+1 05.06.13]
Регистрация: Mar 2013
Сообщений: 42
|
|
|
|||||
|
Регистрация: Apr 2013
Сообщений: 77
|
-1 не нужно делать. Представьте ситуацию, у Вас 3 вопроса, их индексы:
0, 1, 2. Если Рандом вернет 0,999, а количество вопросов = 3, то у Вас выйдет вот что: = А теперь что такое Math.floor? - Возвращает наименьшее значение числа или выражения, заданного параметром val. Наименьшее значение — это ближайшее целое число, которое не превышает или равняется заданному числу или выражению. (c адоб дат кам). Т.е у Вас никогда последний элемент не вызовется, т.к 1, 997 округлится к 1. От 0 до 1 Вас будут выпадать 2 значения. |
|
|||||
|
[+1 05.06.13]
Регистрация: Mar 2013
Сообщений: 42
|
Работает только по порядку :
А рандомно не хочет: |
|
|||||
|
Регистрация: Apr 2013
Сообщений: 77
|
Не уверен, но вроде как что-то типа такого должно быть:
if(question_id == LANG.excercise.length -1) { trace('end test'); return Math.floor( Math.random() * LANG.excercise.length)) ; } function nextAnswer(event:MouseEvent) : void { if(question_id == myList.excercise.length()) { trace('end test'); return; } if (answerTxt.text == myList.excercise[question_id].answer) { question_id++; questionTxt.text = myList.excercise[question_id].question; } } function nextAnswer(event:MouseEvent) : void { if(question_id == myList.excercise.length -1) { trace('end test'); return; } question_id = Math.floor( Math.random() * myList.excercise.length); if (answerTxt.text == myList.excercise[question_id].answer) { question_id++; } questionTxt.text = myList.excercise[question_id].question; } |
|
|||||
|
[+1 05.06.13]
Регистрация: Mar 2013
Сообщений: 42
|
Таким образом почему то идет все равно по порядку.
|
|
|||||
|
Регистрация: Apr 2013
Сообщений: 77
|
Потому что этот код выдает Рандомный вариант только для последнего вопроса.
|
|
|||||
|
[+1 05.06.13]
Регистрация: Mar 2013
Сообщений: 42
|
function nextAnswer(event:MouseEvent) : void { if(question_id == myList.excercise.length -1) { trace('end test'); return; } question_id = Math.floor( Math.random() * myList.excercise.length); if (answerTxt.text == myList.excercise[question_id].answer) { question_id++; } questionTxt.text = myList.excercise[question_id].question; } |
|
|||||
|
[+4 06.05.14]
|
Зачем такой геморой , когда array.shuffle() - примеров полно в нете, сделайте тасовку в массиве, а про xml забудьте , нечего его постоянно дергать. Один раз достаточно все записать
__________________
Марк Tween |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:33. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|