Skip to content

BlasterAlex/QtMiner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QtMiner

Travis (.org) GitHub GitHub release (latest by date)

The best implementation of the famous game!

Игра Сапёр на Qt с хранением результатов предыдущих игры в базе данных PostgreSQL.

Использование

При запуске приложения открывается окно с игровым полем и меню. При первом нажатии на клетку поля, генерируется карта с заданными размерами и количеством мин (по умолчанию — карта 9x9 с 10-ю минами) и запускается таймер. Установка / снятие флага на клетку осуществляется нажатием правой кнопки мыши. При нажатии на ячейку из пустой области происходит отображение всей пустой области. В процессе игры выводится информация о количестве свободных клеток и доступных флагов, а также время текущей игры.

Пользователь может перезапустить текущую игру, поставить её на паузу или изменить характеристики игрового поля.

По нажатию на кнопку Show results открывается диалоговое окно с результатами предыдущих игр с характеристиками игрового поля равными текущим.

Установка

Сборка

  1. Установите Qt:

  2. Для сборки необходимо перейти в корневой каталог проекта и выполнить команду:

    qmake && make
    # or
    qmake && make -j4 # for multicore

Настройка базы данных

  1. Для работы с базой данных вам необходимо установить PostgreSQL Core Distribution:

    Для Ubuntu необходимо также установить PostgreSQL Database Driver:

    $ sudo apt-get install libqt5sql5-psql
  2. Далее необходимо запустить сервер 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
  3. Создание пользователя 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;
  4. Для создания таблицы в базе данных для хранения результатов игр используется createDB. Для его сборки необходимо перейти в директорию src/Results/createDB/ и выполнить:

    qmake && make
    # or
    qmake && make -j4 # for multicore

Настройки подключения к базе данных хранятся в конфигурационном файле src/Results/connection/config.