2016-07-26 2 views
-1

Я хотел сделать тест характера личности (для моих вымышленных персонажей)Испытание личности через JS в одиночку?

Я знаю, что я буду иметь переменные сравнявшись массивы, как это:

// var personality = [gender, age, muscularity, trait_1, trait_2, etc.]; 

Я знаю, что variable = array не является поэтому я прокомментировал это. Мне понадобятся переменные для каждого вопроса и много операторов if/else if/else.

Я начинаю с заявления alert(), где я задаю вопрос «Какой у вас пол?». Я думаю, мне нужно изменить это на prompt(), чтобы он принял ответ.

Но как я получу все эти var = "string" и if/else заявления и var = [array] заявления в разумный, чистый тест личности JS?

Я знаю plan(gender first, then age, then other physical characteristics, then socio-emotional characteristics, then other characteristics), но мне нужна помощь здесь.

Я знаю, что заявления if/elseif/else приведут к появлению новых и новых запросов, а некоторые из них будут специфическими для мужчин, а некоторые будут конкретными для женщин. Так что я бы все эти вложенные заявления, как это:

if (variable = "string") { 
    prompt("Next question"); 
    var a(generic variable that could refer to anything) = [array(prompt results)]; 
} else { 
    prompt("Next question"); 
    var b(again generic variable) = [array(prompt results)]; 
} 

т.д.

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

И как я могу получить этот последний массив персонажей, чтобы учитывать все предыдущие переменные и иметь особые комбинации, равные отдельным личностям без инструкций n * 10^x if/else?

+0

так что обнаружите, если не определено, и задайте вопрос еще раз. обычно при проверке. – epascarello

+0

Используйте объекты: '{trait:" gender ", value: undefined}' в вашем массиве, затем переверните его и заполните. – Bergi

ответ

0

Во-первых, вы используете JavaScript, поэтому объекты/словари являются вашим другом. Они похожи на массивы, но имеют ключи для каждой записи.

Во-вторых, у вас должен быть список вопросов, которые вы представляете, с различными ответами. Использование подсказок (чистый JavaScript alert, что есть) не является хорошей идеей, так как ответы настолько ограничены. Вместо этого я бы рекомендовал посмотреть модалы и использовать их для отображения многих других результатов для каждого вопроса или текстового поля для их заполнения.

Я думаю, что у epascarello была хорошая идея с проверкой на null или пустой строкой, если вопрос не был дан ответ, а затем снова представил его.

Смежные вопросы