public void Show(IUserInterfaceCallBack callBack) { while (!callBack.IsEnd()) { try { _console.WriteLine("Please input integer (from 0 to 10). When save, s:C:\\work\\data.txt. When load, l:C:\\work\\data.txt"); string inputStr = _console.ReadLine(); Task t = GetTaskFromUserInput(inputStr); switch (t) { case Task.Save: callBack.Save(inputStr.Substring(2)); break; case Task.Load: callBack.Load(inputStr.Substring(2)); ScoreDrawer.Draw(callBack); break; case Task.Roll: callBack.Roll(int.Parse(inputStr)); ScoreDrawer.Draw(callBack); break; case Task.Quit: return; } } catch (Exception) { } } Console.ReadKey(); }
private static void WriteScores(IUserInterfaceCallBack callBack) { StringBuilder buf = new StringBuilder(); foreach (Score score in callBack.GetScores()) { buf.AppendFormat("{0,4}", score); } Console.WriteLine(buf); }
private static void WriteFrameNumber(IUserInterfaceCallBack callBack) { StringBuilder buf = new StringBuilder(); foreach (int frameNumber in callBack.GetFrameNumbers()) { buf.AppendFormat("{0,4}", frameNumber); } Console.WriteLine(buf); }
private static void WriteRolls(IUserInterfaceCallBack callBack) { StringBuilder buf = new StringBuilder(); foreach (Frame f in callBack.GetFrames()) { buf.Append(RollFormatter.GetRollsOfFrame(f)); } Console.WriteLine(buf); }
internal static void Draw(IUserInterfaceCallBack callBack) { WriteFrameNumber(callBack); WriteRolls(callBack); WriteScores(callBack); }