better card shuffling, fixed needing double enter press after player card draw and ai play, after manually drawing a card the player can see what card they drew
This commit is contained in:
1 parent
f4a3463df1
commit
9c3a7669b2
2 files changed
+18
-13
No files matched your search
@@ -48,7 +48,12 @@ std::vector<Card> createDeck() {
|
||||
if (n != 0) deck.push_back({ static_cast<Color>(c), n });
|
||||
}
|
||||
}
|
||||
std::shuffle(deck.begin(), deck.end(), std::mt19937{ std::random_device{}() });
|
||||
std::random_device rd;
|
||||
std::mt19937 g(rd()); // Mersenne Twister random number generator
|
||||
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
std::shuffle(deck.begin(), deck.end(), g);
|
||||
}
|
||||
return deck;
|
||||
}
|
||||
|
||||
@@ -139,7 +144,6 @@ int main() {
|
||||
char input;
|
||||
std::cin >> input;
|
||||
if (input == 'd' || input == 'D') {
|
||||
playerHand.push_back(drawCard(deck));
|
||||
Card drawn = drawCard(deck);
|
||||
playerHand.push_back(drawn);
|
||||
fmt::print("You drew: ");
|
||||
@@ -147,6 +151,7 @@ int main() {
|
||||
fmt::print("\nPress Enter to continue...");
|
||||
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
|
||||
std::cin.get();
|
||||
std::cin.putback('\n');
|
||||
playerTurn = false;
|
||||
continue;
|
||||
}
|
||||
@@ -158,11 +163,14 @@ int main() {
|
||||
std::cin >> input;
|
||||
|
||||
if (input == "d" || input == "D") {
|
||||
playerHand.push_back(drawCard(deck));
|
||||
fmt::print("You drew a card. ");
|
||||
fmt::print("Press Enter to continue...");
|
||||
Card drawn = drawCard(deck);
|
||||
playerHand.push_back(drawn);
|
||||
fmt::print("You drew: ");
|
||||
drawn.print();
|
||||
fmt::print("\nPress Enter to continue...");
|
||||
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
|
||||
std::cin.get();
|
||||
std::cin.putback('\n');
|
||||
playerTurn = false;
|
||||
break;
|
||||
}
|
||||
@@ -211,8 +219,7 @@ int main() {
|
||||
}
|
||||
|
||||
fmt::print("Press Enter to continue...");
|
||||
if (played)
|
||||
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
|
||||
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
|
||||
std::cin.get();
|
||||
|
||||
playerTurn = true;
|
||||
|
||||
+4
-6
@@ -37,7 +37,7 @@
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
@@ -50,7 +50,7 @@
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@@ -98,7 +98,7 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp23</LanguageStandard>
|
||||
<AdditionalOptions>/source-charset:utf-8 /execution-charset:utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@@ -107,7 +107,6 @@
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>fmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
@@ -138,7 +137,7 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp23</LanguageStandard>
|
||||
<AdditionalOptions>/source-charset:utf-8 /execution-charset:utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@@ -147,7 +146,6 @@
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>fmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
|
||||
Reference in new issue
Block a user