I am trying to create a random question generator on perchance.org for practicing responding to french questions. I currently have a generator that selects questions from a list of questions (“outputa”) (https://perchance.org/4ewrtclbl5#edit).

For example, I have the following in my HTML area:

<h1>[title]</h1>

<h2>[title2]</h2>

<h3>[title3]</h3>

<br> Select Random Question <br><br>

<h4>[title4]</h4>

<div> [outputa] </div>

and I have defined the objects (title, title2, etc.) as follows:

title=Random Question Generator

title2=Second Language Evaluation – Oral Language Assessment

title3=French Level B & C

title4=Question:

title5=Des trucs et des astuces:

outputa

//Decriver ou expliquer au present

Où travaillez-vous?

Où vous situez-vous au travail?

Expliquez et précisez le rôle de votre ministère.

Expliquez et précisez le rôle de votre direction.

//Raconter au passé

Comment votre travaille a affecté par la pandemie ?

Durant votre carrière, qu’est-ce qui a été le plus satisfaisant jusqu’ici?

This works well right now, but I would like to improve the generator to be more helpful. Essentially, within the list of questions, there are a number of different styles of questions (i.e. “Decriver ou expliquer au present”, “Raconter au passé”, etc.). For each style of question, there is a strategy to follow when responding to it. To improve this exam aid, I would like to add some standard text under the random question to identify the type of question and to provide some tips for responding based on the type of question.

I was thinking this could be done by first randomly select ing a style of question from one list, and then based on the style of question selected, I could select a random question of that style, and then print the random question along with the standard text. Is there a straightforward way to do this?

Thank you in advance!!

  • VioneTM
    link
    English
    21 year ago

    Hello! You can probably structure your outputa with something like:

    output
      style
        tip = Text
        question1
        question2
        ...
      ...
    

    Here’s how to use that:

    1. Then to get a ‘question’, you can use [output.selectOne].
    2. But, since we want to get the style, we can store that question to a variable like so: [x = output.selectOne] then use the .getName property to get the name of the item that we selected like [x.getName].
    3. Essentially, .selectOne outputs a style list, but Perchance will then evaluate it to a ‘question’ under that style, so we can get the style of that item by getting the name of the list that has that item.
    4. Lastly, we can then access the tip under that style with [x.tip]. This is a ‘property’ of the list and will not be selected when selecting a question. Essentially a local variable under that list.
    [x = output.selectOne] - evaluates to -> [x = style] -> [style] -> question
    [x.getName] -> [style.getName] -> style
    [x.tip] -> [style.tip] -> tip
    

    So here is a demo of that structure, with the ‘minimal’ template lists. Cheers!

    • @BethyAOP
      link
      English
      11 year ago

      This is incredibly helpful, thank you @VioneT !!