package Ġcom . example . cup cake Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . activity ViewModels Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . example . cup cake . databinding . Fragment Start Binding Ċ import Ġcom . example . cup cake . games . Game Functions Ċ Ċ class ĠStart Fragment : ĠFragment () Ġ{ ĊĠĠĠ Ġ// Data Ġbinding Ġwith Ġthis Ġclass Ġand ĠUI ĊĠĠĠ Ġprivate Ġvar Ġbinding : ĠFragment Start Binding ? Ġ= Ġnull ĊĊĠĠĠ Ġ// " activity ViewModels ()" Ġproperty Ġdeleg ation Ġto Ġcall Ġ" Game Functions " Ġmethods ĊĠĠĠ Ġprivate Ġval Ġgame View : ĠGame Functions Ġby Ġactivity ViewModels () ĊĊĠĠĠ Ġ// Data Ġbind Ġstring Ġname Ġconstraint ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding String : ĠStart Fragment ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Binding Ġ= ĠFragment Start Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= Ġfragment Binding ĊĠĠĠĠĠĠĠ Ġreturn Ġfragment Binding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġ// Bind Ġdata Ġwith Ġstart Ġfragment Ġout look Ġand Ġits Ġdeclared Ġvalues Ġ( modified ) ĊĠĠĠĠĠĠĠ Ġbinding ?. start Fragment Ġ= Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġchoose Game ( game : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Set Ġthe Ġgame Ġas Ġ" game " Ġparameter ĊĠĠĠĠĠĠĠ Ġgame View . play Game ( game ) ĊĊĠĠĠĠĠĠĠ Ġ// Based Ġon Ġbutton Ġselected , Ġnavigate Ġto Ġrelevant Ġgame ĊĠĠĠĠĠĠĠ Ġval Ġgame Play Ġ= Ġgame View . get Play Game () ĊĠĠĠĠĠĠĠ Ġif Ġ( game Play Ġ== Ġ" L uck y ĠNumber ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( R . id . action _ start Fragment _ to _ luck y Number Fragment ) ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( game Play Ġ== Ġ" Double Ġor ĠNothing ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( R . id . action _ start Fragment _ to _ double Or Nothing Fragment ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( R . id . action _ start Fragment _ to _ ya ht z ee Fragment ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Destroy Ġvalues Ġand Ġreset Ġdata Ġbinding ĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġbinding Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Exit Ġthe Ġgame Ġwhen Ġbutton Ġpressed ĊĠĠĠ Ġfun Ġexit Game () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. finish () ĊĠĠĠ Ġ} Ċ }