Skip to content

Commit

Permalink
Merge pull request #89
Browse files Browse the repository at this point in the history
Переписана система настроек приложения. Осуществлен переход на QSettings, логика, связанная с диалогом настроек, вынесена в отдельный класс.
  • Loading branch information
anevero authored Jun 28, 2020
1 parent 7c66f30 commit a9e6f15
Show file tree
Hide file tree
Showing 20 changed files with 737 additions and 606 deletions.
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ set(CMAKE_AUTOMOC ON) # Enable Qt MOC compiler for managing signals / slots
set(CMAKE_AUTORCC ON) # Enable Qt resources compiler
set(CMAKE_AUTOUIC ON) # Enable Qt UI compiler
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-Wall -Wextra -O3")
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-Wall -O3")

set(CMAKE_PREFIX_PATH "~/Qt/5.15.0/gcc_64/lib/cmake") # Linux
#set(CMAKE_PREFIX_PATH "C:/Qt/5.15.0/mingw81_64/lib/cmake") # Windows
Expand All @@ -18,7 +18,8 @@ find_package(Qt5Multimedia REQUIRED)

set(SOURCES main.cpp
game_core/mainwindow.cpp game_core/about_dialog.cpp
game_core/new_game_dialog.cpp game_core/map.cpp
game_core/new_game_dialog.cpp game_core/settings_dialog.cpp
game_core/map.cpp
movable_objects/boom.cpp movable_objects/bot.cpp
movable_objects/cleverbot.cpp movable_objects/improvedbot.cpp
movable_objects/movable.cpp movable_objects/rocket.cpp
Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ Android 7.0 с оболочкой MIUI 10. Корректная работа п
Проблемная команда подсвечивается красным. Возможны следующие варианты:
* `make`: отвечает за сборку проекта.
* `cppcheck`: отвечает за статический анализ кода.
* `cpplint`: отвечает за статический анализ кода.

Сообщения, связанные со сборкой проекта, выводятся перед вердиктом выполнения
команды `make`. Сообщения, связанные со стилем кода, выводятся в самом конце
Expand All @@ -86,9 +87,7 @@ Android 7.0 с оболочкой MIUI 10. Корректная работа п

Используемый для проверки стиля кода статический анализатор, возможно, не
самый продвинутый, поэтому настоятельно рекомендуется обращать внимание на
предупреждения IDE, при необходимости самостоятельно использовать
[ClangFormat](https://clang.llvm.org/docs/ClangFormat.html) и
[cpplint](https://github.com/cpplint/cpplint).
предупреждения IDE.

## Сборка проекта с помощью QMake

Expand All @@ -101,6 +100,9 @@ Windows - с помощью **MinGW64**.
Сборка проекта под Android - несколько более сложная процедура. Немного
подробнее об этом можно почитать в
[документации](https://doc.qt.io/qt-5/android-getting-started.html).
Обратите внимание, что в проекте используются не совсем стандартные манифест
и скрипты Gradle. В последних можно найти информацию о том, какие версии
некоторых компонентов необходимы для сборки проекта.

Для редактирования переводов приложения следует использовать входящие в состав
Qt утилиты [lupdate](https://doc.qt.io/qt-5/linguist-manager.html#using-lupdate)
Expand All @@ -124,9 +126,9 @@ Qt конфигурационным файлам CMake. Пример (строк
Под Windows необходимы дополнительные действия. Нужно указать в *Path*
путь к компилятору в составе Qt, а также путь к библиотекам Qt. Например:

`C:\Qt\Tools\mingw730_64\bin`
`C:\Qt\Tools\mingw810_64\bin`

`C:\Qt\5.15.0\mingw73_64\bin`
`C:\Qt\5.15.0\mingw81_64\bin`

Настоятельно рекомендуется переместить эти строки в *Path* как можно
выше. Дело в том, что Qt относительно часто используется в стороннем
Expand Down
2 changes: 1 addition & 1 deletion android/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
<meta-data android:value="@string/unsupported_android_version"
android:name="android.app.unsupported_android_version" />
<meta-data android:name="android.app.background_running"
android:value="false" />
android:value="true" />
<meta-data android:name="android.app.auto_screen_scale_factor"
android:value="false" />
<meta-data android:name="android.app.extract_android_style"
Expand Down
4 changes: 2 additions & 2 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:3.6.0'
classpath 'com.android.tools.build:gradle:4.0.0'
}
}

Expand Down Expand Up @@ -36,7 +36,7 @@ android {

compileSdkVersion androidCompileSdkVersion.toInteger()

buildToolsVersion '28.0.3'
buildToolsVersion '29.0.2'

sourceSets {
main {
Expand Down
29 changes: 24 additions & 5 deletions game_core/constants.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,30 @@

namespace constants {

const int number_of_maps = 4;
const int number_of_tanks = 3;
const int number_of_difficulty_levels = 3;
const std::vector<QString> difficulty_levels_names =
{QObject::tr("Easy"), QObject::tr("Normal"), QObject::tr("Hard")};
// Main application info.
const QString kOrganizationName = "Tanks";
const QString kApplicationName = "Tanks";
const int kApplicationRestartCode = 438254263;

const int kMinutesPerRound = 10;

// New game dialog constants.
const int kMapsNumber = 4;
const int kTanksNumber = 3;
const int kDifficultyLevelsNumber = 3;

// Settings dialog constants.
const QString kVirtualKeysEnabledKey = "virtual_keys_enabled";
const QString kMobileVirtualKeysStyleEnabledKey =
"mobile_virtual_keys_style_enabled";
const QString kChargeLineEnabledKey = "charge_line_enabled";
const QString kMusicEnabledKey = "music_enabled";
const QString kCurrentFpsOptionKey = "current_fps_option";
const QString kLanguageKey = "language";

// Available settings.
const std::vector<int> kFpsOptions = {40, 50, 60, 90, 120, 240};
const std::vector<QString> kLanguages = {"en_US", "ru_RU", "be_BY"};

} // namespace constants

Expand Down
Loading

0 comments on commit a9e6f15

Please sign in to comment.