package Ġcom . CLI Ċ Ċ import Ġcom . flows . Setup Game Board Flow Ċ Ċ import Ġnet . cord a . cli utils . Exit Codes Ċ import Ġnet . cord a . cli utils . C ord aC li Wrapper Ċ import Ġnet . cord a . cli utils . start Ċ import Ġnet . cord a . tools . shell . Flow Shell Command Ċ Ċ class ĠUseful Utility Exit Codes : ĠExit Codes () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSET TL ERS _ OF _ C ORD AN _ ERROR : ĠInt Ġ= Ġ 6 6 6 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSUCCESS : ĠInt Ġ= Ġ 2 0 5 ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠTODO : ĠI Ġassumed Ġthis Ġclass Ġwould Ġbe Ġauto - detected Ġby Ġthe Ġnode Ġand Ġimplemented Ġat Ġstartup . Ċ Ġ* ĠInstead , Ġnode - shell - extension Ġmust Ġbe Ġrun Ġfirst Ġand Ġthe Ġnode Ġmust Ġbe Ġrestarted Ċ Ġ* ĠNeed Ġto Ġadapt Ġthis Ġfunction Ġor Ġthe Ġdeployment Ġprocess . Ċ Ġ*/ Ċ Ċ class ĠC ordan CLI Ġ: ĠC ord aC li Wrapper ( ĊĠĠĠĠĠĠĠ Ġ" start - game ", Ġ// Ġthe Ġalias Ġto Ġbe Ġused Ġfor Ġthis Ġutility Ġin Ġbash . ĠWhen Ġinstall - shell - extensions Ġis Ġrun ĊĠĠĠĠĠĠĠ Ġ// Ġyou Ġwill Ġbe Ġable Ġto Ġinvoke Ġthis Ġcommand Ġby Ġrunning Ġ< useful - utility Ġ-- opts > Ġfrom Ġthe Ġcommand Ġline ĊĠĠĠĠĠĠĠ Ġ" A Ġutility ĠCLI Ġfunctions Ġto Ġstart Ġa Ġgame ." Ġ// ĠA Ġdescription Ġof Ġthis Ġutility Ġto Ġbe Ġdisplayed Ġwhen Ġ-- help Ġis Ġrun Ċ ) Ġ{ Ċ // ĠĠĠ Ġ@ CommandLine . Option ( names Ġ= ĠarrayOf ("-- extra - useful ness ", Ġ"- e "), Ġ Ġ// ĠA Ġlist Ġof Ġthe Ġdifferent Ġways Ġthis Ġoption Ġcan Ġbe Ġreferenced Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠarrayOf (" Use Ġthis Ġoption Ġto Ġadd Ġextra Ġuseful ness ") Ġ// ĠHelp Ġdescription Ġto Ġbe Ġdisplayed Ġfor Ġthis Ġoption Ċ // ĠĠĠ Ġ) Ċ // ĠĠĠ Ġprivate Ġvar Ġextra Use ful ness : ĠBoolean Ġ= Ġfalse Ġ// ĠThis Ġdefault Ġoption Ġwill Ġbe Ġshown Ġin Ġthe Ġhelp Ġoutput ĊĊĠĠĠ Ġoverride Ġfun Ġrun Program (): ĠInt Ġ{ Ġ// Ġoverride Ġthis Ġfunction Ġto Ġrun Ġthe Ġactual Ġprogram ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplayer 1 Ġ= Ġread Line () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplayer 2 Ġ= Ġread Line () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplayer 3 Ġ= Ġread Line () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplayer 4 Ġ= Ġread Line () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFlow Shell Command (). start ( Setup Game Board Flow :: class . simple Name , Ġmutable ListOf ( player 1 , Ġplayer 2 , Ġplayer 3 , Ġplayer 4 )) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( Known Exception : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠUseful Utility Exit Codes . SET TL ERS _ OF _ C ORD AN _ ERROR Ġ// Ġreturn Ġa Ġspecial Ġexit Ġcode Ġfor Ġknown Ġexceptions ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠUseful Utility Exit Codes . SUCCESS Ġ// Ġthis Ġis Ġthe Ġexit Ġcode Ġto Ġbe Ġreturned Ġto Ġthe Ġsystem Ġinherited Ġfrom Ġthe ĠExit Codes Ġbase Ġclass ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ ĠC ordan CLI (). start ( args ) Ċ }