quiz me extensions

20
Quiz Me Extensions

Upload: boris-pickett

Post on 01-Jan-2016

14 views

Category:

Documents


1 download

DESCRIPTION

Quiz Me Extensions. Increasing Flexibility of Answer Evaluation. Currently in Quiz Me, if the users doesn’t type enter the exact answer from your “AnswerList”, the user is incorrect. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Quiz Me Extensions

Quiz Me Extensions

Page 2: Quiz Me Extensions

Increasing Flexibility of Answer EvaluationCurrently in Quiz Me, if the users doesn’t type enter the exact answer from your “AnswerList”, the user is incorrect.

What if the user didn’t capitalize a letter you did in “AnswerList”, but gives the right answer. Should the user still be incorrect?

Probably not. We will try to fix this and similar issues.

Page 3: Quiz Me Extensions

Goals• Increase the flexibility of Answer Evaluation– Ignore case of letters in users answer.– Ignore extra spaces before or after user’s answer.– Check of user’s answer has the right answer

anywhere in it

Page 4: Quiz Me Extensions

Review of Answer Evaluation

Page 5: Quiz Me Extensions

Ignoring CaseWe’ll completely change the user’s answer to either all lower or upper case. This does mean that our answers should also be made all lower or upper case respectively. We’ll use the “downcase text” or “upcase text” functions from Text.1.Remove “AnswerText.Text“ from left of “=“.2.Connect a “downcase text” to front of “AnswerText.Text“. 3.Connect “downcase text” to where “AnswerText.Text“ was.4.Repeat steps 1-3 for “call select list item list index” instead of “AnswerText.Text“.

Page 6: Quiz Me Extensions

Ignoring Blank space in Front and Behind User’s Input

We’ll again change the user’s input a bit by removing blanks spaces before and after the first characters. We’ll use the “trim text” function from Text.1.Remove the blocks in the left slot of the “=“.2.Connect “Trim text” to the front of those blocks.3.Connect “Trim text” and the attached blocks back into the left slot of the “=“ block.

Page 7: Quiz Me Extensions

Checking if User Input has the Answer Anywhere Within Input

Instead of checking of the user input exactly matches the answer from “AnswerList”, we’ll use “contains” from the “Control” drawer. It will check the User input for containing the right answer anywhere with in the text of the input.

1.Remove the blocks from the left and right slots of the “=“ block.2.Erase the “=“ block.3.Connect a “call contains text piece” block where the “=“ was connected.4.Place the blocks removed from the left slot of “=“ in step 1 into the “text” slot of the “call cont5.Place the blocks removed from the right slot of “=“ in step 1 into the “piece” slot of the “call ains text piece” block.

Page 8: Quiz Me Extensions

Review• Use “downcase” or “upcase” blocks to change

text to all lower or upper case letters respecitively

• Use “trim” to get rid of excess spaces in front of or behind text.

• Use contains to check if a “piece” of text is contained within another.

Page 9: Quiz Me Extensions

Creating Multiple Choice QuestionsMultiple choice questions eliminate the possibility of a user imputing a correct answer and our quiz saying he/she is incorrect.

This will require the use of lists within a list for the multiple choices. This is considered a two dimensional data structure.

Page 10: Quiz Me Extensions

Goals• Learn the use of 2-D Lists• Utilize the new component ListPicker• Create multiple choice quiz

Page 11: Quiz Me Extensions

2-D Data Structures1 2 3 4

1 A F Q Z

2 C W Y O

3 V E T L

4 P R X K

Two keys define the location of a value.

Ex. 2,3 = E

Page 12: Quiz Me Extensions

Component ChangeFirst, make a copy of Quiz Me by clicking “Save As”. Give the copy a meaningful name.

1.Delete the “HorizontalArrangement1”2.Add a ListPicker where the “HorizontalArrangement1” used to be on screen.3.Change the Text for “ListPicker1” to “Choose an Answer”.

Page 13: Quiz Me Extensions

When Selection is Made From ListPickerWhen the user makes a selection from “ListPicker1”, there should be an indication of which choice was chosen.

1.Click “ListPicker1.” Drag out a “When ListPicker1.AfterPicking do”.2.Connect a “set ListPicker1.Text to” to the “do” slot of the “When ListPicker1.AfterPicking do”.3.Connect a “ListPicker.Selection” to the “to” slot of the “set ListPicker1.Text to”.

Page 14: Quiz Me Extensions

List Change and 2-D Lists “AnswerList” can now be stored as numbers indicating which choice given is correct rather than the exact answer in text form.

1. Replace text from “AnswerList” with indexes of correct answers.

The multiple choices must be stored in a 2-D List, so a List is associated to each question.

2. Drag out a “def variable as”. Rename it “MulitpleChoice”.

3. Connect a “call make a list item” to the “as” slot of “MulitpleChoice”.

4. Connect a “call make a list item” to the “item” slot of the “call make a list item”.

5. Repeat step 4 for each question in Quiz Me.6. Place “text text” into the “item” slots of the

inner “call make a list item” for each choice availible for each question.

7. Change the text of the “text text” to possible answers, making sure the correct answer correlates with the number from “ANswerLIst”.

Page 15: Quiz Me Extensions

Changes to Screen InitializationThe first set of multiple choice answers must be loaded into “ListPicker1” upon starting the app.

1.Connect a “set ListPIcker1.Elements to” to the “do” slot of “when Screen1.Initialize do”.2.Connect a “call select list item list index” to the “to” slot of “set ListPIcker1.Elements to” .3.Connect a “global MultipleChoice” to the “list” slot of “call select list item list index” .4.Connect a “number 123” to the “index slot of “call select list item list index” . Set the “number 123” to “1”.

Page 16: Quiz Me Extensions

Changes to NextButton.ClickListPicker1’s text should be reset and new elements must be loaded into “ListPicker1” for each new question.

1.Connect a “ set ListPicker1.Text to” to “do” slot of “when NextButton.Click do” below “set RIghtWrongLabel.Text to”.2.Connect a “text text” to the “to slot of the “ set ListPicker1.Text to”. Set the text to “Choose an Answer”.3.Connect a “set ListPIcker1.Elements to” to the “do” slot of “when NextButton.Click do”.4.Connect a “call select list item list index” to the “to” slot of “set ListPIcker1.Elements to” .5.Connect a “global MultipleChoice” to the “list” slot of “call select list item list index” .6.Connect a “global currentQuestionIndex” to the “index slot of “call select list item list index” .

Page 17: Quiz Me Extensions

Changes to AnswerButton.ClickThe user’s imput is the selected index from “ListPicker1” now instead of text from a text box. We’re expecting a number now.

1.Connect a “ListPicker1.SelectedIndex” into the empty left slot of the “=“ block.

Page 18: Quiz Me Extensions

Final Program

Page 19: Quiz Me Extensions

Review• Used a 2-D List to store the multiple choices to

each question by index.• Used ListPicker to get user input.• ListPicker accepts Lists as elements, to

opoulate the choices.• The AnswerList became a List of correct

indexes(numbers) rather than the exact answers in text.

Page 20: Quiz Me Extensions

Challenges

a) Provide multiple answers for each question.b) Create a Birthday Present Hint Quiz for your

parents.c) Scavenger Hunt Revision.d) Incorporate other media into quizzes like

sound and/or video.e) Create entirely sound based quiz game.