From 2c477ef6374bc26789c0ef6010f9eb63e102db44 Mon Sep 17 00:00:00 2001 From: Masahiko AMANO Date: Wed, 9 Mar 2022 12:10:13 +0300 Subject: [PATCH] Marking/unmarking multiple cells in one move --- Game.cs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Game.cs b/Game.cs index 7e6d1fe..ce33203 100644 --- a/Game.cs +++ b/Game.cs @@ -25,7 +25,7 @@ command = Console.ReadLine().ToUpper().Split(); if (command.Length == 1) { - int x = Convert.ToInt16(command[0].Substring(1)) - 1; + int x = Convert.ToInt16(command[0][1..]) - 1; int y = command[0].First() - 'A'; if (field.Open(y, x)) { @@ -33,16 +33,19 @@ return false; } } - else if (command.Length == 2) + else if (command.Length > 1) { if (command[0] != "M" && command[0] != "U") throw new Exception("Invalid command."); - int x = Convert.ToInt16(command[1].Substring(1)) - 1; - int y = command[1].First() - 'A'; - if (command[0] == "M") - field.Mark(y, x); - else - field.Unmark(y, x); + for (int i = 1; i < command.Length; i++) + { + int x = Convert.ToInt16(command[i][1..]) - 1; + int y = command[i].First() - 'A'; + if (command[0] == "M") + field.Mark(y, x); + else + field.Unmark(y, x); + } } } catch (Exception ex)