Android Quiz Game
You$are$required$to$develop$a$game$which$asks$6$Questions$e.g.$“What$is$2+2”$then$you$provide$4$ possible$answers$e.g.$2,4,6,8$and$ask$the$player$to$choose$the$correct$answer.$If$the$player$gets$the$ right$answer$he/she$scores$5$points,$if$the$player$gets$the$wrong$answer$they$score$no$points.$The$ player$then$moves$onto$the$next$questionnaire.$As$the$game$progresses$feedback$is$provided$as$to$ whether$the$player$got$the$correct$answer$and$the$total$scored$so$far.$$
The$application$consists$of$a$menu$which$gives$the$option$of$‘play’$for$playing$the$game$(for$the$ player$as$described$above)$or$‘Admin’$for$adding$$records$(for$the$developer).$Create$an$initial$screen$ with$two$menu$options$‘Play’$or$‘Admin’.$If$the$user$chooses$to$play$then$the$game$is$played$in$the$ normal$way.$If$the$user$chooses$‘Admin’$then$a$screen$is$presented$where$the$user$is$prompted$for$a$ password.$Add$a$menu$options$to$this$screen$“select”$If$the$password$‘1234’$is$entered$then$pressing$ the$select$command$gives$the$user$access$to$the$admin$function$(“add”).$If$an$incorrect$password$is$ entered$then$the$user$is$directed$back$to$the$initial$screen.$The$‘Admin’$part$consists$of$adding$a$ question$(shown$using$a$menu$options$“add”)$which$when$selected$the$developer$then$adds$a$ question$followed$by$four$answers$and$the$correct$answer$(either$A,$B,$C$or$D)$to$either$a$Collection$ type$e.g.$an$ArrayList,$or$a$file$or$an$SqlLite$database$which$can$be$retrieved$every$time$the$ application$is$run.$$
Your%program%should%display%the%questions%when%you%run%it%and%you%should%not%have%to%manually% enter%the%questions%when%you%demonstrate%the%program%i.e%the%Collection%type,%ArrayList%or% SQLlite%database%is%prepopulated.%At$the$end$of$the$game$the$software$displays$a$final$Screen$with$ the$message$‘Game$Over’$and$displays$the$number$of$questions$answered$correctly$plus$the$total$ number$of$questions$plus$the$option$to$play$again.$
$ 50$marks$
You$can$improve$your$grade$by$incorporating$the$following$functionality:$
Include$in$the$admin$part$the$ability$to$edit$and$delete$any$records$(i.e.$Question$+$4$Answers$+$ correct$answer).$$The$application$should$display$all$the$records,$and$the$user$can$select$the$record$to$ be$edited.$After$the$select$command$is$invoked$the$application$will$display$the$chosen$record$in$for$ editing.$Include$a$“commit”$and$“back”$menu$options.$The$commit$menu$option$saves$the$changes$ to$the$collection$type,$file$or$SQlLite$database.$The$back$command$takes$you$back$to$the$initial$ screen.$When$a$record$is$added,$updated$or$deleted$a$toast$is$popped$up$confirming$the$addition,$ editing$or$deletion.$ 20$marks$
You$could$incorporate$sound,$video$to$give$your$game$a$richer$user$experience.$The$use$of$menus,$ Action$Bars$in$addition$to$the$basic$navigation.$ 10$marks$
You$must$develop$your$game$individually$and$not$copy$code$from$other$sources$(students$or$the$ internet).$You$must$be$able$to$explain$your$code$to$be$able$to$pass$the$assignment.$$It$is$acceptable$ to$use$code$that$has$been$developed$during$the$lectures$as$long$as$you$can$understand$it$and$ explain$it.$Any$third$party$code$that$you$use$must$be$referenced$but$may$not$attract$marks.$Do$not$ use$code$(other$than$the$lectures)$and$claim$it$is$your$own.$
You$are$also$required$to$hand$in$a$report$which$accounts$for$20%$of$the$assessment$
Include$a$critical$Appraisal$in$your$report;$you$should$address$the$following$issues:$
Explain$ and$ critically$ discuss$ how$ you$ addressed$ the$ separation$ of$ concerns$ as$ regards$ the$ implementation$ of$ your$ GUI$ also$ to$ include$ how$ you$ implemented$ your$ menus.$ (Are$ they$
implemented$programmatically$or$via$inflated$xml$files).$$Include$suitable$diagrams$where$appropriate$ $ 5$marks$
Include$a$class$diagram$and$critically$discuss$your$class$diagram,$does$it$follow$good$design$principles$ (open_closed$design$principle,$single$responsibility$design$responsibility)$ 5$marks$
Critically$discuss$what$you$found$easy$and$what$problems$you$found$difficult$and$how$you$overcame$ them.$If$you$would$do$the$project$again$what$would$you$do$differently$in$your$application?$ 8$marks$
The$report$must$contain$screen$shots$of$the$application$running.$ 2$marks$
$