The best implementation of the famous game!
Игра Сапёр на Qt с хранением результатов предыдущих игры в базе данных PostgreSQL.
При запуске приложения открывается окно с игровым полем и меню. При первом нажатии на клетку поля, генерируется карта с заданными размерами и количеством мин (по умолчанию — карта 9x9 с 10-ю минами) и запускается таймер. Установка / снятие флага на клетку осуществляется нажатием правой кнопки мыши. При нажатии на ячейку из пустой области происходит отображение всей пустой области. В процессе игры выводится информация о количестве свободных клеток и доступных флагов, а также время текущей игры.
Пользователь может перезапустить текущую игру, поставить её на паузу или изменить характеристики игрового поля.
По нажатию на кнопку Show results
открывается диалоговое окно с результатами предыдущих игр с характеристиками игрового поля равными текущим.
-
Установите Qt:
-
Для сборки необходимо перейти в корневой каталог проекта и выполнить команду:
qmake && make # or qmake && make -j4 # for multicore
-
Для работы с базой данных вам необходимо установить PostgreSQL Core Distribution:
Для Ubuntu необходимо также установить PostgreSQL Database Driver:
$ sudo apt-get install libqt5sql5-psql
-
Далее необходимо запустить сервер PostgreSQL:
- Ubuntu:
# start the PostgreSQL server $ sudo service postgresql start # stop the PostgreSQL server $ sudo service postgresql stop
- Arch:
# start the PostgreSQL server $ systemctl start postgresql # check if it started $ systemctl status postgresql # add to startup $ systemctl enable postgresql # stop the PostgreSQL server $ systemctl stop postgresql
- Windows:
REM start the PostgreSQL server pg_ctl -D "C:\Program Files\PostgreSQL\9.6\data" start REM stop the PostgreSQL server pg_ctl -D "C:\Program Files\PostgreSQL\9.6\data" stop
- Ubuntu:
-
Создание пользователя qtminer и базы даных:
- Linux:
$ sudo -u postgres createuser qtminer # create user $ sudo -u postgres psql # change password ALTER USER qtminer WITH encrypted PASSWORD '123456'; $ sudo -u postgres createdb -O qtminer qtminer # create db
- Windows:
REM connect to the DB server as the Postgres super user psql -h <host_Name> -U <super_username> -d postgres REM create user and database create user qtminer password '123456' ; create database "qtminer" with owner qtminer;
- Linux:
-
Для создания таблицы в базе данных для хранения результатов игр используется
createDB
. Для его сборки необходимо перейти в директориюsrc/Results/createDB/
и выполнить:qmake && make # or qmake && make -j4 # for multicore
Настройки подключения к базе данных хранятся в конфигурационном файле src/Results/connection/config
.