Difference between revisions of "CISC181 S2017 Lab10"
|  (→Submission) | |||
| (11 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
| You will create a simple trivial quiz game Android app.  The app will have 3 ''activities'': <tt>StartActivity</tt>, <tt>QuestionActivity</tt>, and <tt>ScoreActivity</tt> that work together in the following way:   | You will create a simple trivial quiz game Android app.  The app will have 3 ''activities'': <tt>StartActivity</tt>, <tt>QuestionActivity</tt>, and <tt>ScoreActivity</tt> that work together in the following way:   | ||
| − | * '''StartActivity''' | + | * '''<tt>StartActivity</tt>''' | 
| ** This is the title screen, so you should print your game's name and its author (you) here | ** This is the title screen, so you should print your game's name and its author (you) here | ||
| ** There are two options: number of questions (either 5 or 10), and answer type (multiple choice vs. free response) | ** There are two options: number of questions (either 5 or 10), and answer type (multiple choice vs. free response) | ||
| − | ** A button to start the game.  This should start the QuestionActivity, with the option values added to the Intent as extras | + | ** A button to start the game.  This should start the <tt>QuestionActivity</tt>, with the option values added to the <tt>Intent</tt> as extras | 
| ** A button to quit | ** A button to quit | ||
| − | * '''QuestionActivity''' | + | * '''<tt>QuestionActivity</tt>''' | 
| − | ** Here you will progress through the number of questions indicated in the Intent that started the activity, and display them in the format chosen by the user | + | ** Here you will progress through the number of questions indicated in the <tt>Intent</tt> that started the activity, and display them in the format chosen by the user | 
| − | ** If the option is free response, the answers are not shown and the user must type a string into an EditText view | + | *** If the answer type option is multiple choice, the choices are shown in a <tt>ListView</tt> beneath the question and the user clicks one to pick it | 
| − | ** After each answer is given, use a Toast to tell the user if they are right or wrong, and go on to the next question | + | *** If the option is free response, the answers are not shown and the user must type a string into an <tt>EditText</tt> view.  Just eliminate capitalization and don't worry about spelling errors before doing a string comparison | 
| − | ** After the last question is answered, automatically start the ScoreActivity.  Pass the total number of questions and the number of correct answers as extras in the Intent | + | ** After each answer is given, use a <tt>Toast</tt> to tell the user if they are right or wrong, and go on to the next question | 
| − | * '''ScoreActivity''' | + | ** After the last question is answered, automatically start the <tt>ScoreActivity</tt>.  Pass the total number of questions and the number of correct answers as extras in the <tt>Intent</tt> | 
| + | * '''<tt>ScoreActivity</tt>''' | ||
| ** Report the user's score and, based on their percentage correct, write an appropriate evaluation message (e.g., "Wow, 100%!  You are smart!" or "Hmmm...you need to study more") | ** Report the user's score and, based on their percentage correct, write an appropriate evaluation message (e.g., "Wow, 100%!  You are smart!" or "Hmmm...you need to study more") | ||
| − | ** Have a button to take the user back to the StartActivity | + | ** Have a button to take the user back to the <tt>StartActivity</tt> | 
| − | You will need an external file to store at least 20 questions and 2-4 possible answers per question.  This should be read by your program and turned into a data structure that QuestionActivity can easily use.  The 5 or 10 questions that you present to the user for a given quiz should be randomly chosen from the overall pool. | + | You will need an external file to store at least 20 questions and 2-4 possible answers per question.  This should be read by your program and turned into a data structure that <tt>QuestionActivity</tt> can easily use.  The 5 or 10 questions that you present to the user for a given quiz should be randomly chosen from the overall pool. | 
| − | You can make up these questions yourself or find them online.  Here's [https://github.com/ComputerScienceHouse/trivia-bot/tree/master/questions | + | You can make up these questions yourself or find them online.  Here's [https://github.com/ComputerScienceHouse/trivia-bot/tree/master/questions a set I found] that you can grab to save time. | 
| + | |||
| + | For simplicity, don't use images or other multimedia resources in your questions and/or answers. | ||
| ===Submission=== | ===Submission=== | ||
| − | Submit your entire project directory (code + resources) to Sakai. | + | Submit your entire project directory (code + resources) to Sakai.  Please zip or tar it before submission. | 
Latest revision as of 21:23, 1 May 2017
Preliminaries
- Make a new Android project with n = 10 following these instructions through step 6. On step 7 "Select form factor...", switch over to step 4 on the Android developers page tutorial here and complete through step 6 which ends with "...click Finish". Make the default activity be called "StartActivity" (see below -- you will add two more).
Instructions
You will create a simple trivial quiz game Android app. The app will have 3 activities: StartActivity, QuestionActivity, and ScoreActivity that work together in the following way:
-  StartActivity
- This is the title screen, so you should print your game's name and its author (you) here
- There are two options: number of questions (either 5 or 10), and answer type (multiple choice vs. free response)
- A button to start the game. This should start the QuestionActivity, with the option values added to the Intent as extras
- A button to quit
 
-  QuestionActivity
-  Here you will progress through the number of questions indicated in the Intent that started the activity, and display them in the format chosen by the user
- If the answer type option is multiple choice, the choices are shown in a ListView beneath the question and the user clicks one to pick it
- If the option is free response, the answers are not shown and the user must type a string into an EditText view. Just eliminate capitalization and don't worry about spelling errors before doing a string comparison
 
- After each answer is given, use a Toast to tell the user if they are right or wrong, and go on to the next question
- After the last question is answered, automatically start the ScoreActivity. Pass the total number of questions and the number of correct answers as extras in the Intent
 
-  Here you will progress through the number of questions indicated in the Intent that started the activity, and display them in the format chosen by the user
-  ScoreActivity
- Report the user's score and, based on their percentage correct, write an appropriate evaluation message (e.g., "Wow, 100%! You are smart!" or "Hmmm...you need to study more")
- Have a button to take the user back to the StartActivity
 
You will need an external file to store at least 20 questions and 2-4 possible answers per question. This should be read by your program and turned into a data structure that QuestionActivity can easily use. The 5 or 10 questions that you present to the user for a given quiz should be randomly chosen from the overall pool.
You can make up these questions yourself or find them online. Here's a set I found that you can grab to save time.
For simplicity, don't use images or other multimedia resources in your questions and/or answers.
Submission
Submit your entire project directory (code + resources) to Sakai. Please zip or tar it before submission.
