Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 11 / README.md
blob: b82c95ee2c66a1b40dde1814a231382304ed4afb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Домашна работа - Мinesweeper

Да се реализира в **конзолна** играта  **Мinesweeper**.
Целта на играта е да се разкрият всички квадратчета, които не съдържат мини , без да щракнем върху мина преди това. Разположението на мините може да се разбере логически, с помощта на цифрички, стоящи се на местата на квадратчетата след щракане върху тях. Цифрите показват колко квадратчета, в които има мини, има в съседство. Ако се щракне върху квадратче, което няма мини (стои числото 0)  в съседство, то разкрива съседните, ако някое от тези разкрити също няма мини в съседство, то също разкрива съседните квадратчета и тн...

Пример:

![enter image description here](https://gamefaqs1.cbsistatic.com/screen/full/6/2/6/60626.jpg)

[Онлайн версия на играта](http://minesweeperonline.com/#)


**Забележка: От вас не се изисква създаването на графичен интерфейс. Играта трябва да бъде конзолна апликация.**

В конзолата трябва да изпълнявате команди от вида:

> [command] [x coordinate] [y coordinate]

Където [command] е **open**, **mark** или **unmark**, а след него стоят координатите на квадратчето.

 - **open** - отваря квадратчето. Ако там седи мина - край на играта!
 - **mark** - маркира квадратчето като "мина". Ако всички мини са маркирани
   и всички други квардратчета са отворени, играта прилкючва с успех!
 - **unmark** - отмаркира квадрачето като "мина". Ако квадратчето не е било
   маркирано, то се извежда подходящо съобщение за грешка.

При започването на играта, потребителят трябва да може да избере на каква размерност да играе (3 <= N <= 10). След това трябва да избере колко мини да бъдат "скрити".
Броят трябва да е в интервала [1, 3N]. Ако някои от стойностите не са въведат правилно от потребителя, то трябва да се изведе подходящо съобщение и да бъде "приканен" да въведе отново.

Краен срок: **09.01.2021**

**П.С.:** Това беше моя курсова работа в първи курс. Кодът съм го загубил, но съм ви качил конзолното приложение **(homework_example/MineSweeper.zip)**.
Можете да го свалите и да го ползвате като ориентир. В моята програма има и един бъг (ако я разцъкате, ще го забележите), който не мога да оправя (понеже нямам кода вече).