Skip to content

Backend-ITMO-2021/Lecture-5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lecture 5

Игра в Судоку

Дедлайн 14/04/21 00:01 - 20 баллов

Дедлайн 21/04/21 00:01 - 7 баллов

Задание выполняется на Scala, использование мутабельных объектов и переменных запрещено.

  1. Реализуйте игру в классическое судоку по аналогии с разобранным примером TicTacToe. Начальное состояние задаётся как List[List[Int]]. Ваша игра должна поддерживать игрока, вводящего из консоли три числа x y v, где x - номер строки, y - номер столбца и v - число, которое игрок хочет поместить в ячейку. Программа должна обрабатывать не нарушит ли введённое число правила судоку, а так же проверять введённые значения на возможность их в рамках судоку.
  2. Между вводами игрок должен получать текущее состояние поля.
  3. Должна быть возможность поиграть в вашу реализацию.
  4. С полученным кодом реализуйте два метода SudokuUtils, для прохождения тестов. Форматом вывода судоку считается следующий:
val sudokuInput =
   List(
      List(3, 1, 6, 5, 7, 8, 4, 9, 2),
      List(5, 2, 9, 1, 3, 4, 7, 6, 8),
      List(4, 8, 7, 6, 2, 9, 5, 3, 1),

      List(2, 6, 3, 0, 1, 0, 0, 8, 0),
      List(9, 7, 4, 8, 6, 3, 0, 0, 5),
      List(8, 5, 1, 0, 9, 0, 6, 0, 0),

      List(1, 3, 0, 0, 0, 0, 2, 5, 0),
      List(0, 0, 0, 0, 0, 0, 0, 7, 4),
      List(0, 0, 5, 2, 0, 6, 3, 0, 0)
   )
val sudokuString: String =
"""
  | 1 2 3 | 4 5 6 | 7 8 9 |
--+-------+-------+-------+
0 | 3 1 6 | 5 7 8 | 4 9 2 |
1 | 5 2 9 | 1 3 4 | 7 6 8 |
2 | 4 8 7 | 6 2 9 | 5 3 1 |
--+-------+-------+-------+
3 | 2 6 3 |   1   |   8   |
4 | 9 7 4 | 8 6 3 |     5 |
5 | 8 5 1 |   9   | 6     |
--+-------+-------+-------+
6 | 1 3   |       | 2 5   |
7 |       |       |   7 4 |
8 |     5 | 2   6 | 3     |
--+-------+-------+-------+
"""
  1. (+10) На поле судоку покажите визуально почему последний ввод игрока был не верен.
  2. (+10) Реализуйте игрока, который ищет решение судоку при помощи алгоритма Backtracking.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages