public void Action(Board board) { while (true) { Console.WriteLine(""); if (board.GetPutPositions(this.stone).Count() < 1) { Console.WriteLine("あなたは置けなかったのでパス"); return; } ShowPosition(board); Console.WriteLine("置く位置を入力してください>>> "); (int x, int y)input = Input(); var IsNotRange = !board.IsBoardRange(input); if (IsNotRange || board.FindReverseStones(input, this.stone).Count() < 1) { Console.WriteLine("そこは置けません。"); continue; } IEnumerable <(int x, int y)> reverseList = board.FindReverseStones(input, this.stone); this.Put(board, (input.x, input.y)); // 指定した場所に置く foreach (var pos in reverseList) { this.Put(board, pos); } return; } }