diff --git a/.gitignore b/.gitignore
index 848bece..86533ac 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/x64
-/.vs
\ No newline at end of file
+/.vs
+/.vscode
\ No newline at end of file
diff --git a/BlackJackQT.vcxproj b/BlackJackQT.vcxproj
index 11b5b15..e98689b 100644
--- a/BlackJackQT.vcxproj
+++ b/BlackJackQT.vcxproj
@@ -83,6 +83,8 @@
+
+
@@ -92,6 +94,7 @@
+
@@ -99,8 +102,12 @@
+
+
+
+
diff --git a/BlackJackQT.vcxproj.filters b/BlackJackQT.vcxproj.filters
index 976fbae..fcd9944 100644
--- a/BlackJackQT.vcxproj.filters
+++ b/BlackJackQT.vcxproj.filters
@@ -49,6 +49,12 @@
Source Files
+
+ Source Files
+
+
+ Source Files
+
@@ -57,6 +63,9 @@
Header Files
+
+ Header Files
+
@@ -70,5 +79,13 @@
Form Files
+
+ Form Files
+
+
+
+
+ Resource Files
+
\ No newline at end of file
diff --git a/BlackJackQT.vcxproj.user b/BlackJackQT.vcxproj.user
index 3fdbff0..d4e859b 100644
--- a/BlackJackQT.vcxproj.user
+++ b/BlackJackQT.vcxproj.user
@@ -2,9 +2,9 @@
- 2023-04-22T12:39:33.0148438Z
+ 2023-04-22T21:04:43.5072620Z
- 2023-04-22T12:39:33.1426520Z
+ 2023-04-22T21:04:43.6152564Z
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..0527685
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,75 @@
+cmake_minimum_required(VERSION 3.5)
+
+project(BlackJackQT VERSION 0.1 LANGUAGES CXX)
+
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
+find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
+
+set(PROJECT_SOURCES
+ main.cpp
+ mainwindow.cpp
+ mainwindow.h
+ mainwindow.ui
+ login.ui
+ login.h
+ deck.h
+ deck.cpp
+ bets.h
+ bets.cpp
+ login.cpp
+ hands.h
+ MainWindow.qrc
+ settings.cpp
+ settings.h
+ settings.ui
+ ManageUser.cpp
+
+)
+
+if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
+ qt_add_executable(BlackJackQT
+ MANUAL_FINALIZATION
+ ${PROJECT_SOURCES}
+ )
+# Define target properties for Android with Qt 6 as:
+# set_property(TARGET BlackJackQT APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
+# ${CMAKE_CURRENT_SOURCE_DIR}/android)
+# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
+else()
+ if(ANDROID)
+ add_library(BlackJackQT SHARED
+ ${PROJECT_SOURCES}
+ )
+# Define properties for Android with Qt 5 after find_package() calls as:
+# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
+ else()
+ add_executable(BlackJackQT
+ ${PROJECT_SOURCES}
+ )
+ endif()
+endif()
+
+target_link_libraries(BlackJackQT PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
+
+set_target_properties(BlackJackQT PROPERTIES
+ MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
+ MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
+ MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
+ MACOSX_BUNDLE TRUE
+ WIN32_EXECUTABLE TRUE
+)
+
+install(TARGETS BlackJackQT
+ BUNDLE DESTINATION .
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+if(QT_VERSION_MAJOR EQUAL 6)
+ qt_finalize_executable(BlackJackQT)
+endif()
diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user
new file mode 100644
index 0000000..e67d697
--- /dev/null
+++ b/CMakeLists.txt.user
@@ -0,0 +1,416 @@
+
+
+
+
+
+ EnvironmentId
+ {20e25f3f-cfae-478e-b572-da7f1c36f11e}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ false
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 80
+ true
+ true
+ 1
+ false
+ true
+ false
+ 0
+ true
+ true
+ 0
+ 8
+ true
+ false
+ 1
+ true
+ true
+ true
+ *.md, *.MD, Makefile
+ false
+ true
+ true
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+ true
+ false
+ true
+ true
+ true
+ true
+
+
+ 0
+ true
+
+ true
+ true
+ Builtin.DefaultTidyAndClazy
+ 6
+
+
+
+ true
+
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ Desktop
+ Desktop Qt 6.5.0 MinGW 64-bit
+ Desktop Qt 6.5.0 MinGW 64-bit
+ qt.qt6.650.win64_mingw_kit
+ 0
+ 0
+ 0
+
+ Debug
+ 2
+ false
+
+ -DCMAKE_GENERATOR:STRING=Ninja
+-DCMAKE_BUILD_TYPE:STRING=Debug
+-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{buildDir}/.qtc/package-manager/auto-setup.cmake
+-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
+-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
+ 0
+ C:\Users\javier\Documents\code\cpp\build-BlackJackQT-Desktop_Qt_6_5_0_MinGW_64_bit-Debug
+
+
+
+
+ all
+
+ false
+
+ true
+ Build
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+ Build
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+ false
+
+ true
+ Build
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+ Clean
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Debug
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+ Release
+ 2
+ false
+
+ -DCMAKE_GENERATOR:STRING=Ninja
+-DCMAKE_BUILD_TYPE:STRING=Release
+-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{buildDir}/.qtc/package-manager/auto-setup.cmake
+-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
+-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
+ C:\Users\javier\Documents\code\cpp\build-BlackJackQT-Desktop_Qt_6_5_0_MinGW_64_bit-Release
+
+
+
+
+ all
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+ Build
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+ Clean
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Release
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+ RelWithDebInfo
+ 2
+ false
+
+ -DCMAKE_GENERATOR:STRING=Ninja
+-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
+-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{buildDir}/.qtc/package-manager/auto-setup.cmake
+-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
+-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
+ C:\Users\javier\Documents\code\cpp\build-BlackJackQT-Desktop_Qt_6_5_0_MinGW_64_bit-RelWithDebInfo
+
+
+
+
+ all
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+ Build
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+ Clean
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Release with Debug Information
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+ RelWithDebInfo
+ 2
+ false
+
+ -DCMAKE_GENERATOR:STRING=Ninja
+-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
+-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{buildDir}/.qtc/package-manager/auto-setup.cmake
+-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
+-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
+ 0
+ C:\Users\javier\Documents\code\cpp\build-BlackJackQT-Desktop_Qt_6_5_0_MinGW_64_bit-Profile
+
+
+
+
+ all
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+ Build
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+ Clean
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Profile
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+ MinSizeRel
+ 2
+ false
+
+ -DCMAKE_GENERATOR:STRING=Ninja
+-DCMAKE_BUILD_TYPE:STRING=MinSizeRel
+-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{buildDir}/.qtc/package-manager/auto-setup.cmake
+-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
+-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
+ C:\Users\javier\Documents\code\cpp\build-BlackJackQT-Desktop_Qt_6_5_0_MinGW_64_bit-MinSizeRel
+
+
+
+
+ all
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+ Build
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+ Clean
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Minimum Size Release
+ CMakeProjectManager.CMakeBuildConfiguration
+
+ 5
+
+
+ 0
+ Deploy
+ Deploy
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+
+ false
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+ true
+ true
+ true
+
+ 2
+
+ BlackJackQT
+ CMakeProjectManager.CMakeRunConfiguration.BlackJackQT
+ BlackJackQT
+ false
+ true
+ true
+ false
+ true
+ C:/Users/javier/Documents/code/cpp/build-BlackJackQT-Desktop_Qt_6_5_0_MinGW_64_bit-Debug
+
+ 1
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 1
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 22
+
+
+ Version
+ 22
+
+
diff --git a/MainWindow.qrc b/MainWindow.qrc
index 807c7f9..9990a16 100644
--- a/MainWindow.qrc
+++ b/MainWindow.qrc
@@ -1,8 +1,9 @@
res/table.jpg
+ res/gear.png
-
+
deck/10C.png
deck/10D.png
diff --git a/ManageUser.cpp b/ManageUser.cpp
new file mode 100644
index 0000000..879feeb
--- /dev/null
+++ b/ManageUser.cpp
@@ -0,0 +1,9 @@
+#include
+#include
+
+
+/*
+std::vector users = {
+ {"javi",1}
+};
+*/
diff --git a/README.MD b/README.MD
index b264abf..2856c4b 100644
--- a/README.MD
+++ b/README.MD
@@ -5,3 +5,4 @@ Blackjack game made with qt framework
save users
implement bets
+ settings dialog
\ No newline at end of file
diff --git a/deck/10C.png b/deck/10C.png
index f9ade6d..aa57bd7 100644
Binary files a/deck/10C.png and b/deck/10C.png differ
diff --git a/deck/10D.png b/deck/10D.png
index a9de67e..f8a35fe 100644
Binary files a/deck/10D.png and b/deck/10D.png differ
diff --git a/deck/10H.png b/deck/10H.png
index df551b0..52314c0 100644
Binary files a/deck/10H.png and b/deck/10H.png differ
diff --git a/deck/10S.png b/deck/10S.png
index 22141df..9a3845d 100644
Binary files a/deck/10S.png and b/deck/10S.png differ
diff --git a/deck/1C.png b/deck/1C.png
index 396c158..7966465 100644
Binary files a/deck/1C.png and b/deck/1C.png differ
diff --git a/deck/1D.png b/deck/1D.png
index d702a39..1dbe8d0 100644
Binary files a/deck/1D.png and b/deck/1D.png differ
diff --git a/deck/1H.png b/deck/1H.png
index 435fc14..410f44e 100644
Binary files a/deck/1H.png and b/deck/1H.png differ
diff --git a/deck/1S.png b/deck/1S.png
index f07f67d..270082e 100644
Binary files a/deck/1S.png and b/deck/1S.png differ
diff --git a/deck/2C.png b/deck/2C.png
index 413b0da..004c4bb 100644
Binary files a/deck/2C.png and b/deck/2C.png differ
diff --git a/deck/2D.png b/deck/2D.png
index f966e48..f2e1160 100644
Binary files a/deck/2D.png and b/deck/2D.png differ
diff --git a/deck/2H.png b/deck/2H.png
index 345744e..3f1d8dd 100644
Binary files a/deck/2H.png and b/deck/2H.png differ
diff --git a/deck/2S.png b/deck/2S.png
index a0de145..b98bac4 100644
Binary files a/deck/2S.png and b/deck/2S.png differ
diff --git a/deck/3C.png b/deck/3C.png
index f8b8183..7543952 100644
Binary files a/deck/3C.png and b/deck/3C.png differ
diff --git a/deck/3D.png b/deck/3D.png
index cee21f3..86253e0 100644
Binary files a/deck/3D.png and b/deck/3D.png differ
diff --git a/deck/3H.png b/deck/3H.png
index 8494e1c..3e8ad80 100644
Binary files a/deck/3H.png and b/deck/3H.png differ
diff --git a/deck/3S.png b/deck/3S.png
index 78e3b20..2ce5fa3 100644
Binary files a/deck/3S.png and b/deck/3S.png differ
diff --git a/deck/4C.png b/deck/4C.png
index 8938459..0ab9510 100644
Binary files a/deck/4C.png and b/deck/4C.png differ
diff --git a/deck/4D.png b/deck/4D.png
index d9ae5be..432867f 100644
Binary files a/deck/4D.png and b/deck/4D.png differ
diff --git a/deck/4H.png b/deck/4H.png
index 41a4488..7ea0baf 100644
Binary files a/deck/4H.png and b/deck/4H.png differ
diff --git a/deck/4S.png b/deck/4S.png
index 70bc9cc..8162cc3 100644
Binary files a/deck/4S.png and b/deck/4S.png differ
diff --git a/deck/5C.png b/deck/5C.png
index a7f49be..8051c0e 100644
Binary files a/deck/5C.png and b/deck/5C.png differ
diff --git a/deck/5D.png b/deck/5D.png
index cff0617..c41640c 100644
Binary files a/deck/5D.png and b/deck/5D.png differ
diff --git a/deck/5H.png b/deck/5H.png
index 1efcbf3..8b040f4 100644
Binary files a/deck/5H.png and b/deck/5H.png differ
diff --git a/deck/5S.png b/deck/5S.png
index e708806..0cb4110 100644
Binary files a/deck/5S.png and b/deck/5S.png differ
diff --git a/deck/6C.png b/deck/6C.png
index d8382d3..4d12cd1 100644
Binary files a/deck/6C.png and b/deck/6C.png differ
diff --git a/deck/6D.png b/deck/6D.png
index 7ba40e9..c8c7106 100644
Binary files a/deck/6D.png and b/deck/6D.png differ
diff --git a/deck/6H.png b/deck/6H.png
index 93a84f8..1440ec8 100644
Binary files a/deck/6H.png and b/deck/6H.png differ
diff --git a/deck/6S.png b/deck/6S.png
index 874162b..da7d738 100644
Binary files a/deck/6S.png and b/deck/6S.png differ
diff --git a/deck/7C.png b/deck/7C.png
index f6a9653..e71bfba 100644
Binary files a/deck/7C.png and b/deck/7C.png differ
diff --git a/deck/7D.png b/deck/7D.png
index 6c4393d..c77daff 100644
Binary files a/deck/7D.png and b/deck/7D.png differ
diff --git a/deck/7H.png b/deck/7H.png
index d4a59ff..7d506a2 100644
Binary files a/deck/7H.png and b/deck/7H.png differ
diff --git a/deck/7S.png b/deck/7S.png
index 895f85c..885a7c3 100644
Binary files a/deck/7S.png and b/deck/7S.png differ
diff --git a/deck/8C.png b/deck/8C.png
index bc87bf0..86a84a5 100644
Binary files a/deck/8C.png and b/deck/8C.png differ
diff --git a/deck/8D.png b/deck/8D.png
index 38c5695..2fc5a3d 100644
Binary files a/deck/8D.png and b/deck/8D.png differ
diff --git a/deck/8H.png b/deck/8H.png
index c2812aa..759873c 100644
Binary files a/deck/8H.png and b/deck/8H.png differ
diff --git a/deck/8S.png b/deck/8S.png
index 0277cc6..3b4e523 100644
Binary files a/deck/8S.png and b/deck/8S.png differ
diff --git a/deck/9C.png b/deck/9C.png
index d81b2f2..eb2d47e 100644
Binary files a/deck/9C.png and b/deck/9C.png differ
diff --git a/deck/9D.png b/deck/9D.png
index e0d3d05..a96c73d 100644
Binary files a/deck/9D.png and b/deck/9D.png differ
diff --git a/deck/9H.png b/deck/9H.png
index 7b679e1..557d0a9 100644
Binary files a/deck/9H.png and b/deck/9H.png differ
diff --git a/deck/9S.png b/deck/9S.png
index f58493e..e800624 100644
Binary files a/deck/9S.png and b/deck/9S.png differ
diff --git a/deck/JC.png b/deck/JC.png
index 16418e4..62f67cf 100644
Binary files a/deck/JC.png and b/deck/JC.png differ
diff --git a/deck/JD.png b/deck/JD.png
index 05b0389..6478933 100644
Binary files a/deck/JD.png and b/deck/JD.png differ
diff --git a/deck/JH.png b/deck/JH.png
index 259421c..30b74eb 100644
Binary files a/deck/JH.png and b/deck/JH.png differ
diff --git a/deck/JS.png b/deck/JS.png
index 6e0554d..06c1340 100644
Binary files a/deck/JS.png and b/deck/JS.png differ
diff --git a/deck/KC.png b/deck/KC.png
index 70c4ee5..eb21d56 100644
Binary files a/deck/KC.png and b/deck/KC.png differ
diff --git a/deck/KD.png b/deck/KD.png
index 95a3b8f..f3e940d 100644
Binary files a/deck/KD.png and b/deck/KD.png differ
diff --git a/deck/KH.png b/deck/KH.png
index 0defcbb..5b5ce30 100644
Binary files a/deck/KH.png and b/deck/KH.png differ
diff --git a/deck/KS.png b/deck/KS.png
index 43b8e19..2a9bc5d 100644
Binary files a/deck/KS.png and b/deck/KS.png differ
diff --git a/deck/QC.png b/deck/QC.png
index 6f74177..ef3552c 100644
Binary files a/deck/QC.png and b/deck/QC.png differ
diff --git a/deck/QD.png b/deck/QD.png
index 85c443f..b4d41ca 100644
Binary files a/deck/QD.png and b/deck/QD.png differ
diff --git a/deck/QH.png b/deck/QH.png
index ba8e1e4..f62b655 100644
Binary files a/deck/QH.png and b/deck/QH.png differ
diff --git a/deck/QS.png b/deck/QS.png
index a6ef69f..119778b 100644
Binary files a/deck/QS.png and b/deck/QS.png differ
diff --git a/deck/aces.png b/deck/aces.png
index 58d0e46..2aa525e 100644
Binary files a/deck/aces.png and b/deck/aces.png differ
diff --git a/deck/gray_back.png b/deck/gray_back.png
index 0b40ae3..f99c45a 100644
Binary files a/deck/gray_back.png and b/deck/gray_back.png differ
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 2ac1a3c..a2f2fbe 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -12,6 +12,8 @@ void delay(int millisecondsToWait)
QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
}
}
+
+
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindow)
{
@@ -22,8 +24,11 @@ MainWindow::MainWindow(QWidget *parent)
ui->label_name->setText("Name: " + name);
ui->label_money->setText("Money: " + money + " $");
ui->frame2->hide();
+ ui->widget_status->hide();
+ ui->settings->setStyleSheet("QPushButton { qproperty-icon: url(:/res/res/gear.png); }");
+ setWindowIcon(QIcon((":/deck/aces.png")));
- // full screen
+ // full screen
// QMainWindow::showFullScreen();
}
void MainWindow::newgamestart()
@@ -113,7 +118,7 @@ void MainWindow::start_round()
ui->player_num->show();
ui->dealer_num->show();
// dealer second hand
-
+ QPixmap backcard(":/deck/gray_back.png");
std::string dcard2 = newdeck.card();
dhand.push_back(getvalue(":/deck/" + dcard2));
QPixmap dhand2((":/deck/" + dcard2).c_str());
@@ -123,32 +128,35 @@ void MainWindow::start_round()
QPixmap pix((":/deck/" + dcard).c_str());
dhand.push_back(getvalue(":/deck/" + dcard));
ui->hand1_d->setPixmap(pix.scaled(100, 100, Qt::KeepAspectRatio));
+
ui->dealer_num->setText(std::to_string(dhand[1]).c_str());
std::string pcard = newdeck.card();
pcard = newdeck.card();
std::string pcard2 = newdeck.card();
+
QPixmap fcard((":/deck/" + pcard).c_str());
QPixmap scard((":/deck/" + pcard2).c_str());
+
+
phand.push_back(getvalue(":/deck/" + pcard));
phand.push_back(getvalue(":/deck/" + pcard2));
+
ui->hand1_p->setPixmap(fcard.scaled(100, 100, Qt::KeepAspectRatio));
ui->hand2_p->setPixmap(scard.scaled(100, 100, Qt::KeepAspectRatio));
ui->player_num->setText(std::to_string(sum(phand)).c_str());
+
if (sum(phand) == 21 && sum(dhand) != 21)
{
- QMessageBox::information(this, tr("YOU WIN"), tr("Congratulations"));
+ CustomMessageBox("Win", "Congratulations");
newgamestart();
}
else if (sum(phand) == 21 && sum(dhand) == 21)
{
- QMessageBox::information(this, tr("TIE"), tr("PUSH BACK"));
- newgamestart();
- }
- else if ((phand[0] == 1 && phand[1] == 10) || (phand[1] == 1 && phand[0] == 10))
- {
- QMessageBox::information(this, tr("Blackjack"), tr("You won"));
+ ui->hand2_d->show();
+ CustomMessageBox("Tie", "Money Pushed");
newgamestart();
}
+
}
void MainWindow::openmenu()
@@ -187,13 +195,14 @@ void MainWindow::on_Bhit_clicked()
delay(1000);
if (sum(phand) > 21)
{
- QMessageBox::information(this, tr("Busted you passed"), tr("good luck next time"));
+ CustomMessageBox("Lose", "Too many");
newgamestart();
return;
}
else if (sum(phand) == 21)
{
- QMessageBox::information(this, tr("Black Jack"), tr("You win"));
+ ui->hand2_d->show();
+ CustomMessageBox("Black Jack", "You win");
newgamestart();
return;
}
@@ -207,88 +216,98 @@ void MainWindow::on_Bstand_clicked()
{
ui->shows->hide();
ui->frame2->hide();
-
ui->hand2_d->show();
+
ui->dealer_num->setText(std::to_string(sum(dhand)).c_str());
if (sum(dhand) == 16 && sum(phand) == 16)
{
- QMessageBox::information(this, tr("Tie"), tr("money pushed"));
+ CustomMessageBox("Tie", "Money Pushed");
newgamestart();
return;
}
- if (sum(dhand) < 17)
+
+ if (sum(dhand) > sum(phand)) {
+ CustomMessageBox("Lose", "Dealer have higher value");
+ newgamestart();
+ return;
+ }
+
+ while (sum(dhand) < 17)
{
- while (true)
+ delay(700);
+ if (ui->hand3_d->pixmap(Qt::ReturnByValue).isNull())
{
- delay(700);
- if (ui->hand3_d->pixmap(Qt::ReturnByValue).isNull())
- {
- std::string more = newdeck.card();
- dhand.push_back(getvalue(":/deck/" + more));
- QPixmap hand3((":/deck/" + more).c_str());
- ui->hand3_d->setPixmap(hand3.scaled(100, 100, Qt::KeepAspectRatio));
- ui->dealer_num->setText(std::to_string(sum(dhand)).c_str());
- }
- else if (ui->hand4_d->pixmap(Qt::ReturnByValue).isNull())
- {
- std::string more = newdeck.card();
- dhand.push_back(getvalue(":/deck/" + more));
- QPixmap hand4((":/deck/" + more).c_str());
- ui->hand4_d->setPixmap(hand4.scaled(100, 100, Qt::KeepAspectRatio));
- ui->dealer_num->setText(std::to_string(sum(dhand)).c_str());
- }
- else if (ui->hand5_d->pixmap(Qt::ReturnByValue).isNull())
- {
- std::string more = newdeck.card();
- dhand.push_back(getvalue(":/deck/" + more));
- QPixmap hand5((":/deck/" + more).c_str());
- ui->hand5_d->setPixmap(hand5.scaled(100, 100, Qt::KeepAspectRatio));
- ui->dealer_num->setText(std::to_string(sum(dhand)).c_str());
- }
- else if (ui->hand6_d->pixmap(Qt::ReturnByValue).isNull())
- {
- std::string more = newdeck.card();
- dhand.push_back(getvalue(":/deck/" + more));
- QPixmap hand5((":/deck/" + more).c_str());
- ui->hand6_d->setPixmap(hand5.scaled(100, 100, Qt::KeepAspectRatio));
- ui->dealer_num->setText(std::to_string(sum(dhand)).c_str());
- }
- if (sum(dhand) <= 17 && sum(phand) <= 21 && sum(dhand) < sum(phand))
- {
- QMessageBox::information(this, tr("You have higher cards"), tr("good job"));
- break;
- }
- if (sum(dhand) >= 22)
- {
- QMessageBox::information(this, tr("dealer bust you win"), tr("good job"));
- break;
- }
- else if (sum(dhand) > sum(phand))
- {
- QMessageBox::information(this, tr("Dealer have higher value"), tr("good luck next time"));
- break;
- }
- else if (sum(dhand) == sum(phand))
- {
- QMessageBox::information(this, tr("Tie"), tr("money pushed"));
- break;
- }
+ std::string more = newdeck.card();
+ dhand.push_back(getvalue(":/deck/" + more));
+ QPixmap hand3((":/deck/" + more).c_str());
+ ui->hand3_d->setPixmap(hand3.scaled(100, 100, Qt::KeepAspectRatio));
+ ui->dealer_num->setText(std::to_string(sum(dhand)).c_str());
+ ui->hand3_d->show();
+ continue;
}
+ else if (ui->hand4_d->pixmap(Qt::ReturnByValue).isNull())
+ {
+ std::string more = newdeck.card();
+ dhand.push_back(getvalue(":/deck/" + more));
+ QPixmap hand4((":/deck/" + more).c_str());
+ ui->hand4_d->setPixmap(hand4.scaled(100, 100, Qt::KeepAspectRatio));
+ ui->dealer_num->setText(std::to_string(sum(dhand)).c_str());
+ ui->hand4_d->show();
+ continue;
+ }
+ else if (ui->hand5_d->pixmap(Qt::ReturnByValue).isNull())
+ {
+ std::string more = newdeck.card();
+ dhand.push_back(getvalue(":/deck/" + more));
+ QPixmap hand5((":/deck/" + more).c_str());
+ ui->hand5_d->setPixmap(hand5.scaled(100, 100, Qt::KeepAspectRatio));
+ ui->dealer_num->setText(std::to_string(sum(dhand)).c_str());
+ ui->hand5_d->show();
+ continue;
+ }
+ else if (ui->hand6_d->pixmap(Qt::ReturnByValue).isNull())
+ {
+ std::string more = newdeck.card();
+ dhand.push_back(getvalue(":/deck/" + more));
+ QPixmap hand5((":/deck/" + more).c_str());
+ ui->hand6_d->setPixmap(hand5.scaled(100, 100, Qt::KeepAspectRatio));
+ ui->dealer_num->setText(std::to_string(sum(dhand)).c_str());
+ ui->hand6_d->show();
+ continue;
+ }
+
+ }
+ if (sum(dhand) < 17 && sum(phand) <= 21 && sum(dhand) < sum(phand))
+ {
+ CustomMessageBox("Win", "You have higher cards");
+
+ }
+ else if (sum(dhand) >= 22)
+ {
+ CustomMessageBox("Win", "dealer bust");
+
+ }
+ else if (sum(dhand) == sum(phand))
+ {
+ CustomMessageBox("Tie", "Money Pushed");
+
}
else if (sum(dhand) > sum(phand) && sum(phand) < 21)
{
- QMessageBox::information(this, tr("dealer wins"), tr("dealer have higher value"));
+ CustomMessageBox("Lose", "dealer have higher cards");
}
else if (sum(phand) > sum(dhand))
{
- QMessageBox::information(this, tr("You wins"), tr("congratulations"));
+ CustomMessageBox("Win", "you have higher cards");
}
else if (sum(phand) == sum(dhand))
{
- QMessageBox::information(this, tr("Tie"), tr("money pushed"));
+ CustomMessageBox("Tie", "Money Pushed");
}
newgamestart();
}
+
+
void MainWindow::CustomMessageBox(QString title, QString body)
{
@@ -297,6 +316,13 @@ void MainWindow::CustomMessageBox(QString title, QString body)
ui->widget_status->show();
ui->frame_status_label_title->setText(title);
ui->frame_status_label_body->setText(body);
- delay(1000);
+ delay(2000);
ui->widget_status->hide();
-}
\ No newline at end of file
+
+}
+
+void MainWindow::on_settings_clicked()
+{
+ settings window = new settings();
+ window.exec();
+}
diff --git a/mainwindow.h b/mainwindow.h
index 63e705f..1028c20 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -6,6 +6,7 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "deck.h"
+#include "settings.h"
#include
#include
#include
@@ -32,6 +33,7 @@ private slots:
void on_Bhit_clicked();
void on_Bstand_clicked();
void CustomMessageBox(QString title, QString body);
+ void on_settings_clicked();
private:
Ui::MainWindow *ui;
diff --git a/mainwindow.ui b/mainwindow.ui
index 9f49ba5..d59880d 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -78,7 +78,7 @@
-
+ text-align: center
@@ -102,6 +102,29 @@
23
+
+
+ color: rgb(232, 230, 227);
+ background-color: rgb(0, 98, 204);
+ border-color: rgb(0, 86, 179);
+
+ display: inline-block;
+ font-weight: 400;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ border: 1px solid transparent;
+ padding: .375rem .75rem;
+ font-size: 1rem;
+ line-height: 1.5;
+ border-radius: .25rem;
+ transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
+
+
PLAY
@@ -112,10 +135,10 @@
- 320
- 270
- 351
- 80
+ 400
+ 430
+ 171
+ 41
@@ -127,40 +150,83 @@
- 40
- 30
- 75
- 23
+ 20
+ 10
+ 31
+ 31
+
+
+ 12
+
+
+
+ background-color:#1549FF;
+border-style: solid;
+border-color: black;
+border-width: 0px;
+border-radius: 10px;
+
+
- DOUBLE
+ X2
- 150
- 30
- 75
- 23
+ 70
+ 10
+ 31
+ 31
+
+
+ 15
+
+
+
+ Qt::LeftToRight
+
+
+ background-color: #00D333;
+border-style: solid;
+border-color: black;
+border-width: 0px;
+border-radius: 10px;
+
- HIT
+ +
- 250
- 30
- 75
- 23
+ 120
+ 10
+ 31
+ 31
+
+
+ 15
+
+
+
+ background-color: red;
+border-style: solid;
+border-color: black;
+border-width: 0px;
+border-radius: 10px;
+
- STAND
+ −
+
+
+ true
@@ -193,8 +259,8 @@
- 390
- 10
+ 370
+ 20
341
91
@@ -207,8 +273,8 @@
- -
-
+
-
+
@@ -228,8 +294,8 @@
- -
-
+
-
+
@@ -247,12 +313,17 @@
- 470
- 170
+ 490
+ 120
51
31
+
+
+ 20
+
+
@@ -260,12 +331,17 @@
- 460
- 450
+ 470
+ 300
61
- 21
+ 31
+
+
+ 20
+
+
@@ -281,60 +357,6 @@
-
-
-
- 400
- 340
- 321
- 91
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
false
@@ -347,10 +369,16 @@
141
+
+ false
+
+
+ background:rgba(56, 94, 203, 0.6);
+
- 60
+ 50
10
111
41
@@ -361,6 +389,9 @@
20
+
+ background-color:none;
+
TITLE
@@ -388,6 +419,10 @@
15
+
+ background-color:none;
+
+
BODY
@@ -396,6 +431,155 @@
+
+
+
+ 930
+ 10
+ 21
+ 24
+
+
+
+
+
+
+ true
+
+
+
+
+
+ 410
+ 260
+ 221
+ 171
+
+
+
+
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
+
+ 20
+ 80
+ 65
+ 90
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+ 70
+ 80
+ 65
+ 90
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+ 100
+ 60
+ 65
+ 90
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+ 120
+ 40
+ 65
+ 90
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+ 150
+ 20
+ 65
+ 90
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+ 170
+ 0
+ 65
+ 90
+
+
+
+ false
+
+
+
+
+
+
+
+
+
table_image
frame2
shows
@@ -405,8 +589,9 @@
dealer_num
player_num
gridLayoutWidget_2
- gridLayoutWidget_3
widget_status
+ settings
+ frame