App Source Code for Sale
Dynamic Quiz Game
Quiz Game is native application for iPhone that allows you to easily create quiz game.
Application is ready for build and be uploaded to the iTunes store.
This project is easy to use and configure over property list (XML), so there is no need that you know programming. Project is ready to be build and published to iTunes store. You can define quiz topics as many as you like, each quiz have unlimited number of questions, for each question there are 4 possible answers and between them you have to define correct answer. When user select quiz, gameplay screen appears and user have to pick correct answer in 5 seconds. Time is represented visually as 5 lines that will turn to gray when each second pass and they'll change color from green to red depending how much seconds is left. Game also support configurable score system.
- easy to use, configure XML, build and run
- unlimited quiz topics and questions for each
- 4 possible answers, 1 correct answer
- timed game, remaining time presented graphically
- configurable score system (score is based on correct answers and time left)
- high score system (best score is saved, option to share score on Twitter)
- and much more...
Quiz game application allows you to define quizzes, as many you like, with unlimited number of questions. Application is configurable over property list (XML), so it's easy to define everything without programming knowledge. When user starts application list of quizzes will be displayed in table view.
Each row is configurable over property list and it consist of:
- quiz icon
- quiz name
- quiz description
If there are more quizzes than shown on image above, user can scroll list of quizzes verticaly.
Tap on row will open selected quiz and start game. Transition between quiz menu and gameplay view is horizontal flip.
Gameplay menu consist of:
- label with question horizontaly centered in top frame
- image that represent time left with five lines, as time pass line by line will turn gray and remaining lines will change colors from green to red
- in middle you can see points player scored
- on left side of points there is current question number
- on right side there is label showing how much user will score (remaining time also effect score)
- 4 frames with answers allow user to choose between one of answers, if answer is correct it'll turn green, otherwise it'll turn red and in same time correct answer will turn green
- at bottom of screen user have option to pass current question so points won't be substracted if he answer wrong
- there is also an option to quit the game
When question is answered view will show fade out and than fade in transition to next question.
Point system is configurable trough code. You can also configure time that is allowed for each question.
Upon game completition highscore screen will appear. Highscore system save score for each quiz separately, so title of navigation bar on this screen will be name of quiz user played, on image below this quiz was named „History“.
Below image highest score is shown and scored from recently played game.
On right side of Navigation bar there is option to share score on Twitter.
Button to close this view and to go back to main view is on left side of navigation bar.
Project is easy to configure with property list (XML) without any need to know programming. This file is named quizzesList.plist and it can be found in folder Supporting Files.
It is really easy to edit this nodes or to add new one with same structure to create new quizzes.
Root node is named Quizzes and it is array that contain several dictionaries, each of them is one quiz. Child nodes of root node are named Item0, Item1, Item2 and so on depending how many quizzes are there.
Each child node consist of following nodes:
- quizName – name of quiz displayed in table view on quiz selection view
- quizDescription – description of quiz displayed in table view on quiz selection view below quiz name
- quizImageName – icon representing quiz displayed in table view on quiz selection view
- questions – consist of child nodes that define questions in game: o question – question displayed in top frame of game view o answers Item 0 – first answer Item 1 – second answer Item 2 – third answer Item 3 – fourth answer o correctAnswerIndex – integer number of correct answer (0, 1, 2 or 3)
Project also includes second property list (XML) named config.plist that is used to define time and score system. It consist of following nodes:
- timeToAnswer – number of seconds that player have to answer question
- pointsPerRemainingSecond – points player will receive for remaining seconds if question was answered correctly
- pointsPerCorrectAnswer – points player will receive for correct answer
- pointsPerWrongAnswer – points player will receive if answered wrong (this point are negative value, so if answer is wrong player will receive -100 points)
Project requires following frameworks:
Main view display list of quizes from property list. Property list name is defined at top of main file:
#define kPlistName @"quizzesList"
This view is table view, on row select method:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
will open QuizViewController.
Quiz view controller is game play view. On top of .m file you can find following defines:
#define kFadeOutAnimationDuration 1.0f #define kFadeInAnimationDuration 1.0f
Defines kFadeOutAnimationDuration and kFadeInAnimationDuration will allow you to change duration of animation transition between quiz questions.
Result view controller is used to display final score and highscores in games. QuizCell
Celll that is shown on main view is programatically created here.
Randomization of questions. This feature user can enable/disable just by making YES/NO in class file named MainViewController.m, there is a BOOL Member named "_isRandamizationRequired" set this value according to your need.
ShareKit SDK is used to provide sharing on social networks. Methods twitterConsumerKey and twitterSecret has to be changed in QuizSHKConfigurator.h to enable access to Twitter.
You can get more information about Twitter API keys at:
July 02, 2013
- The randomize feature has been updated with arc4random .
- Now you can choose a certain amount of questions to be showed in the app from a list (i.e. show just 20 random question from a list of 500)
- Fixed minors bugs.
October 07, 2012
Supports for iOS 6.0
Fixed some memory issues.