Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
85bfdb6
Update .gitignore
Aryan-Khera Dec 16, 2024
c8795d4
Add files via upload
Aryan-Khera Jan 14, 2025
442e698
Add files via upload
Aryan-Khera Jan 14, 2025
f05d9e8
Files
Aryan-Khera Jan 14, 2025
1e9b2b9
Merge branch 'main' of https://github.com/outscal/Arrays
Aryan-Khera Jan 14, 2025
ccfac72
Folder Structure
Aryan-Khera Jan 14, 2025
0bb2813
Create .gitignore
Aryan-Khera Jan 14, 2025
3d31d0e
removed vs file
Aryan-Khera Jan 14, 2025
ce06607
setup
Aryan-Khera Jan 14, 2025
7ee50b1
include folder
Aryan-Khera Jan 18, 2025
70d0ddf
setup
Aryan-Khera Jan 18, 2025
0e99da1
assets
Aryan-Khera Feb 1, 2025
209aab0
Update restart_button.png
Aryan-Khera Feb 1, 2025
d9c4b58
Add files via upload
Aryan-Khera Feb 14, 2025
fce2c91
Create place your include and lib folders here
Aryan-Khera Feb 14, 2025
ab493f7
Merge branch 'main' of https://github.com/outscal/Arrays
Aryan-Khera Feb 14, 2025
2e1b7cf
Transition to Gameplay State
Arav1ndan May 11, 2025
4afe8f6
Draw the Board
Arav1ndan May 12, 2025
21d3be2
Create Cell
Arav1ndan May 13, 2025
91f6c27
Slice Textures
Arav1ndan May 14, 2025
c66ed55
Position the Cell
Arav1ndan May 14, 2025
d7ebee8
Set Cell Size
Arav1ndan May 14, 2025
cf7ef1d
Draw a Row of Cells
Arav1ndan May 15, 2025
e1aaa5f
Draw the Grid
Arav1ndan May 16, 2025
fdac605
Place the Mines!
Arav1ndan May 16, 2025
ed6a9f6
Calculate Cell Values
Arav1ndan May 16, 2025
65c4309
Calculate Cell Values
Arav1ndan May 17, 2025
ec7166b
Open a Cell
Arav1ndan May 17, 2025
269c14f
Flag a Cell
Arav1ndan May 19, 2025
d2af8b0
Open Neighbouring Cells
Arav1ndan May 19, 2025
22fa304
Handle Mine Cells
Arav1ndan May 19, 2025
e05074c
Implement First Cell Logic
Arav1ndan May 20, 2025
bcfa88e
Add a Timer
Arav1ndan May 20, 2025
27384e7
Process Game Result
Arav1ndan May 20, 2025
c071d59
Display Timer and Mine Count
Arav1ndan May 20, 2025
96ff72b
Add a Reset Button
Arav1ndan May 20, 2025
cc60ccc
Create Main Menu
Arav1ndan May 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,7 @@
*.exe
*.out
*.app

# Others
*.vs/
*x64/
36 changes: 36 additions & 0 deletions Array-Minesweeper/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# Others
*.vs/
*x64/
31 changes: 31 additions & 0 deletions Array-Minesweeper/Array-Minesweeper.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.6.33829.357
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Array-Minesweeper", "Array-Minesweeper.vcxproj", "{F57EE1AA-F779-49C9-A20F-718830F922F9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F57EE1AA-F779-49C9-A20F-718830F922F9}.Debug|x64.ActiveCfg = Debug|x64
{F57EE1AA-F779-49C9-A20F-718830F922F9}.Debug|x64.Build.0 = Debug|x64
{F57EE1AA-F779-49C9-A20F-718830F922F9}.Debug|x86.ActiveCfg = Debug|Win32
{F57EE1AA-F779-49C9-A20F-718830F922F9}.Debug|x86.Build.0 = Debug|Win32
{F57EE1AA-F779-49C9-A20F-718830F922F9}.Release|x64.ActiveCfg = Release|x64
{F57EE1AA-F779-49C9-A20F-718830F922F9}.Release|x64.Build.0 = Release|x64
{F57EE1AA-F779-49C9-A20F-718830F922F9}.Release|x86.ActiveCfg = Release|Win32
{F57EE1AA-F779-49C9-A20F-718830F922F9}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D9C4E205-95AE-4187-A87E-ACBCECBB0584}
EndGlobalSection
EndGlobal
166 changes: 166 additions & 0 deletions Array-Minesweeper/Array-Minesweeper.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{f57ee1aa-f779-49c9-a20f-718830f922f9}</ProjectGuid>
<RootNamespace>ArrayMinesweeper</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>$(SolutionDir)sfml\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalLibraryDirectories>$(SolutionDir)sfml\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>sfml-graphics-d.lib;sfml-window-d.lib;sfml-network-d.lib;sfml-audio-d.lib;sfml-system-d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>$(SolutionDir)sfml\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalLibraryDirectories>$(SolutionDir)sfml\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>sfml-graphics-d.lib;sfml-window-d.lib;sfml-network-d.lib;sfml-audio-d.lib;sfml-system-d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="source\GameLoop\Gameplay\Board.cpp" />
<ClCompile Include="source\GameLoop\Gameplay\Cell.cpp" />
<ClCompile Include="source\GameLoop\Gameplay\GameplayManager.cpp" />
<ClCompile Include="source\Sound\SoundManager.cpp" />
<ClCompile Include="source\GameLoop\GameLoop.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="source\Event\EventPollingManager.cpp" />
<ClCompile Include="source\GameWindow\GameWindowManager.cpp" />
<ClCompile Include="source\UI\GameplayUI.cpp" />
<ClCompile Include="source\UI\MainMenu\MainMenuManager.cpp" />
<ClCompile Include="source\UI\SplashScreen\SplashScreenManager.cpp" />
<ClCompile Include="source\Time\TimeManager.cpp" />
<ClCompile Include="source\UI\UIElements\Button\Button.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="header\GameLoop\GameLoop.h" />
<ClInclude Include="header\Event\EventPollingManager.h" />
<ClInclude Include="header\GameLoop\Gameplay\Cell.h" />
<ClInclude Include="header\GameLoop\Gameplay\GameplayManager.h" />
<ClInclude Include="header\GameWindow\GameWindowManager.h" />
<ClInclude Include="header\UI\GameplayUI.h" />
<ClInclude Include="header\UI\MainMenu\MainMenuManager.h" />
<ClInclude Include="header\UI\SplashScreen\SplashScreenManager.h" />
<ClInclude Include="header\Time\TimeManager.h" />
<ClInclude Include="header\Sound\SoundManager.h" />
<ClInclude Include="header\UI\UIElements\Button\Button.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
105 changes: 105 additions & 0 deletions Array-Minesweeper/Array-Minesweeper.vcxproj.filters
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Header">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Header\GameLoop">
<UniqueIdentifier>{b318d0ad-1409-498f-900f-c83fd0551200}</UniqueIdentifier>
</Filter>
<Filter Include="Header\GameLoop\Gameplay">
<UniqueIdentifier>{5aad90e6-0cde-4d80-acff-7e0d029fa0d3}</UniqueIdentifier>
</Filter>
<Filter Include="Source">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Source\GameLoop">
<UniqueIdentifier>{4685afd3-d078-4b9a-a50e-c10b438627b9}</UniqueIdentifier>
</Filter>
<Filter Include="Source\GameLoop\Gameplay">
<UniqueIdentifier>{d3c4dc1c-b78c-4959-a30d-0a9307ea386e}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\Event\EventPollingManager.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\GameWindow\GameWindowManager.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\GameLoop\GameLoop.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\UI\SplashScreen\SplashScreenManager.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\Time\TimeManager.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\Sound\SoundManager.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\GameLoop\Gameplay\Board.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\GameLoop\Gameplay\GameplayManager.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\UI\UIElements\Button\Button.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\GameLoop\Gameplay\Cell.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\UI\GameplayUI.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\UI\MainMenu\MainMenuManager.cpp">
<Filter>Source</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="header\Event\EventPollingManager.h">
<Filter>Header</Filter>
</ClInclude>
<ClInclude Include="header\GameWindow\GameWindowManager.h">
<Filter>Header</Filter>
</ClInclude>
<ClInclude Include="header\Time\TimeManager.h">
<Filter>Header</Filter>
</ClInclude>
<ClInclude Include="header\Sound\SoundManager.h">
<Filter>Header</Filter>
</ClInclude>
<ClInclude Include="header\UI\SplashScreen\SplashScreenManager.h">
<Filter>Header</Filter>
</ClInclude>
<ClInclude Include="header\GameLoop\GameLoop.h">
<Filter>Header\GameLoop</Filter>
</ClInclude>
<ClInclude Include="header\GameLoop\Gameplay\GameplayManager.h">
<Filter>Header</Filter>
</ClInclude>
<ClInclude Include="header\UI\UIElements\Button\Button.h">
<Filter>Header</Filter>
</ClInclude>
<ClInclude Include="header\GameLoop\Gameplay\Cell.h">
<Filter>Header</Filter>
</ClInclude>
<ClInclude Include="header\UI\GameplayUI.h">
<Filter>Header</Filter>
</ClInclude>
<ClInclude Include="header\UI\MainMenu\MainMenuManager.h">
<Filter>Header</Filter>
</ClInclude>
</ItemGroup>
</Project>
6 changes: 6 additions & 0 deletions Array-Minesweeper/Array-Minesweeper.vcxproj.user
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ShowAllFiles>true</ShowAllFiles>
</PropertyGroup>
</Project>
21 changes: 21 additions & 0 deletions Array-Minesweeper/CppProperties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"configurations": [
{
"inheritEnvironments": [
"msvc_x64"
],
"name": "x64-Debug",
"includePath": [
"${env.INCLUDE}",
"${workspaceRoot}\\**"
],
"defines": [
"WIN32",
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "windows-msvc-x64"
}
]
}
Loading