Skip to content

Commit

Permalink
docs: Added Kuromasu module
Browse files Browse the repository at this point in the history
  • Loading branch information
cheatsnake committed Dec 11, 2022
1 parent 8d39594 commit fc85dae
Showing 1 changed file with 87 additions and 2 deletions.
89 changes: 87 additions & 2 deletions README_RU.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ Shadify – это мощный сервис генерации данных и
- [Wordsearch](#wordsearch)
- [Anagram](#anagram)
- [Countries](#countries)
- [Camp](#camp)
- [Kuromasu](#kuromasu)

### Sudoku

Expand Down Expand Up @@ -664,14 +666,14 @@ GET https://shadify.dev/api/camp/generator
```

> - `width` – ширина генерируемого поля. <br>
> - `heigth` – высота генерируемого поля.
> - `heigth` – высота генерируемого поля. <br>
> - `trees` – общее количество деревьев на поле (и, следовательно, общее количество палаток, которые необходимо установить). <br>
> - `rowTents` – массив значений, соответствующий количеству палаток, которые должны быть размещены в соответствующем ряду от 1 до значения `heigth`. <br>
> - `columnTents` – массив значений, соответствующий количеству палаток, которые должны быть размещены в соответствующей колонке от 1 до значения `width`. <br>
> - `task` – задача, которую необходимо решить. Значения единиц - это деревья, вокруг которых нужно разместить значения двоек, соответствующие палаткам. <br>
> - `solution` – полностью решенная задача, где значения единиц - деревья, а значения двоек - палатки.
- Проверка задания:
- Проверка решения

```rust
POST https://shadify.dev/api/camp/verifier
Expand Down Expand Up @@ -705,6 +707,89 @@ POST https://shadify.dev/api/camp/verifier
}
```

### Kuromasu

<p align="center"><img src="./images/kuromasu.png" alt="Kuromasu"/></p>

[Kuromasu](https://en.wikipedia.org/wiki/Kuromasu) это головоломка, в которую играют на прямоугольной сетке. В некоторых из этих клеток есть цифры. Каждая клетка может быть либо черной, либо белой (либо любая другая пара цветов). Задача состоит в том, чтобы определить, к какому типу относится каждая клетка, соблюдая простые правила:

1. Каждое число на доске обозначает количество белых клеток, которые видны из этой клетки, включая ее саму. Клетка видна из другой клетки, если обе клетки находятся в одной строке или столбце, и между ними в этой строке или столбце нет черных клеток.
2. Пронумерованные клетки не должны быть черными.
3. Две черные клетки не должны быть соседними по горизонтали или вертикали.
4. Все белые клетки должны быть соединены по горизонтали или вертикали.

- Генерация случайной сетки

```rust
GET https://shadify.dev/api/kuromasu/generator
```

| Параметр | Описание |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `width` | _Опциональный_ <br> Число от 4 до 15, соответствующее ширине генерируемого поля. <br> Значение по умолчанию – 5. |
| `height` | _Опциональный_ <br> Число от 4 до 15, соответствующее высоте генерируемого поля. <br> Значение по умолчанию – 5. |
| `fill` | _Опциональный_ <br> Число от 10 до 50, соответствующее %-ному уровню заполнения сетки ячейками содержащими числа. <br> Значение по умолчанию – 30. |

Возвращаемый ответ:

```json
{
"width": 5,
"height": 5,
"task": [
["o", "o", "o", "o", "6"],
["o", "o", "8", "o", "9"],
["o", "o", "o", "7", "o"],
["5", "o", "o", "o", "o"],
["9", "o", "8", "5", "o"]
],
"solution": [
["6", "4", "x", "4", "6"],
["9", "7", "8", "7", "9"],
["9", "7", "8", "7", "9"],
["5", "x", "4", "x", "5"],
["9", "5", "8", "5", "9"]
]
}
```

> - `width` – ширина генерируемой сетки. <br>
> - `heigth` – высота генерируемой сетки. <br>
> - `task` – задача, которую нужно решить, расставив значения `x` в нужные клетки. <br>
> - `solution` – полностью решенная задача, где ячейки со значениями `x` - это коробки, а числа - это просто счетчики видимости для каждой конкретной ячейки.
- Проверка решения

```rust
POST https://shadify.dev/api/kuromasu/verifier
```

Пример JSON body:

```json
{
"solution": [
["6", "4", "x", "4", "x"],
["9", "7", "8", "7", "9"],
["9", "7", "8", "7", "9"],
["5", "x", "4", "x", "5"],
["9", "5", "8", "5", "9"]
]
}
```

Возвращаемый ответ:

```json
{
"isValid": false,
"position": {
"row": 1,
"column": 4
}
}
```

## Запуск локального сервера

1. Склонируйте этот репозиторий к себе на компьютер:
Expand Down

0 comments on commit fc85dae

Please sign in to comment.