BlasterAlex / QtMiner

The best implementation of the famous game!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

The best implementation of the famous game!

License:MIT License


Languages

Language:C++ 95.7%Language:QMake 3.2%Language:CSS 1.1%