├── .gitignore ├── LICENSE ├── MazeScrnSave.dsw ├── MazeScrnSave ├── Maze.cpp ├── Maze.h ├── MazeCell.cpp ├── MazeCell.h ├── MazeCellStack.cpp ├── MazeCellStack.h ├── MazeColor.cpp ├── MazeColor.h ├── MazeScrnSave.cpp ├── MazeScrnSave.def ├── MazeScrnSave.dsp ├── MazeScrnSave.rc ├── MazeScrnSave.vcproj ├── MazeScrnSave.vcxproj ├── MazeScrnSave.vcxproj.filters ├── res │ ├── MainFrame.ico │ └── MazeScrnSave.manifest └── resource.h ├── MazeScrnSave2008.sln ├── MazeScrnSave2010.sln ├── MazeScrnSave2012.sln ├── MazeScrnSave2013.sln ├── README.md ├── bin_x86_vc9 └── MazeScrnSave.scr ├── m1.jpg ├── m2.jpg └── m3.jpg /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.suo 8 | *.user 9 | *.userosscache 10 | *.sln.docstates 11 | 12 | # User-specific files (MonoDevelop/Xamarin Studio) 13 | *.userprefs 14 | 15 | # Build results 16 | [Dd]ebug/ 17 | [Dd]ebugPublic/ 18 | [Rr]elease/ 19 | [Rr]eleases/ 20 | x64/ 21 | x86/ 22 | bld/ 23 | [Bb]in/ 24 | [Oo]bj/ 25 | [Ll]og/ 26 | 27 | # Visual Studio 2015/2017 cache/options directory 28 | .vs/ 29 | # Uncomment if you have tasks that create the project's static files in wwwroot 30 | #wwwroot/ 31 | 32 | # Visual Studio 2017 auto generated files 33 | Generated\ Files/ 34 | 35 | # MSTest test Results 36 | [Tt]est[Rr]esult*/ 37 | [Bb]uild[Ll]og.* 38 | 39 | # NUNIT 40 | *.VisualState.xml 41 | TestResult.xml 42 | 43 | # Build Results of an ATL Project 44 | [Dd]ebugPS/ 45 | [Rr]eleasePS/ 46 | dlldata.c 47 | 48 | # Benchmark Results 49 | BenchmarkDotNet.Artifacts/ 50 | 51 | # .NET Core 52 | project.lock.json 53 | project.fragment.lock.json 54 | artifacts/ 55 | **/Properties/launchSettings.json 56 | 57 | # StyleCop 58 | StyleCopReport.xml 59 | 60 | # Files built by Visual Studio 61 | *_i.c 62 | *_p.c 63 | *_i.h 64 | *.ilk 65 | *.meta 66 | *.obj 67 | *.iobj 68 | *.pch 69 | *.pdb 70 | *.ipdb 71 | *.pgc 72 | *.pgd 73 | *.rsp 74 | *.sbr 75 | *.tlb 76 | *.tli 77 | *.tlh 78 | *.tmp 79 | *.tmp_proj 80 | *.log 81 | *.vspscc 82 | *.vssscc 83 | .builds 84 | *.pidb 85 | *.svclog 86 | *.scc 87 | 88 | # Chutzpah Test files 89 | _Chutzpah* 90 | 91 | # Visual C++ cache files 92 | ipch/ 93 | *.aps 94 | *.ncb 95 | *.opendb 96 | *.opensdf 97 | *.sdf 98 | *.cachefile 99 | *.VC.db 100 | *.VC.VC.opendb 101 | 102 | # Visual Studio profiler 103 | *.psess 104 | *.vsp 105 | *.vspx 106 | *.sap 107 | 108 | # Visual Studio Trace Files 109 | *.e2e 110 | 111 | # TFS 2012 Local Workspace 112 | $tf/ 113 | 114 | # Guidance Automation Toolkit 115 | *.gpState 116 | 117 | # ReSharper is a .NET coding add-in 118 | _ReSharper*/ 119 | *.[Rr]e[Ss]harper 120 | *.DotSettings.user 121 | 122 | # JustCode is a .NET coding add-in 123 | .JustCode 124 | 125 | # TeamCity is a build add-in 126 | _TeamCity* 127 | 128 | # DotCover is a Code Coverage Tool 129 | *.dotCover 130 | 131 | # AxoCover is a Code Coverage Tool 132 | .axoCover/* 133 | !.axoCover/settings.json 134 | 135 | # Visual Studio code coverage results 136 | *.coverage 137 | *.coveragexml 138 | 139 | # NCrunch 140 | _NCrunch_* 141 | .*crunch*.local.xml 142 | nCrunchTemp_* 143 | 144 | # MightyMoose 145 | *.mm.* 146 | AutoTest.Net/ 147 | 148 | # Web workbench (sass) 149 | .sass-cache/ 150 | 151 | # Installshield output folder 152 | [Ee]xpress/ 153 | 154 | # DocProject is a documentation generator add-in 155 | DocProject/buildhelp/ 156 | DocProject/Help/*.HxT 157 | DocProject/Help/*.HxC 158 | DocProject/Help/*.hhc 159 | DocProject/Help/*.hhk 160 | DocProject/Help/*.hhp 161 | DocProject/Help/Html2 162 | DocProject/Help/html 163 | 164 | # Click-Once directory 165 | publish/ 166 | 167 | # Publish Web Output 168 | *.[Pp]ublish.xml 169 | *.azurePubxml 170 | # Note: Comment the next line if you want to checkin your web deploy settings, 171 | # but database connection strings (with potential passwords) will be unencrypted 172 | *.pubxml 173 | *.publishproj 174 | 175 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 176 | # checkin your Azure Web App publish settings, but sensitive information contained 177 | # in these scripts will be unencrypted 178 | PublishScripts/ 179 | 180 | # NuGet Packages 181 | *.nupkg 182 | # The packages folder can be ignored because of Package Restore 183 | **/[Pp]ackages/* 184 | # except build/, which is used as an MSBuild target. 185 | !**/[Pp]ackages/build/ 186 | # Uncomment if necessary however generally it will be regenerated when needed 187 | #!**/[Pp]ackages/repositories.config 188 | # NuGet v3's project.json files produces more ignorable files 189 | *.nuget.props 190 | *.nuget.targets 191 | 192 | # Microsoft Azure Build Output 193 | csx/ 194 | *.build.csdef 195 | 196 | # Microsoft Azure Emulator 197 | ecf/ 198 | rcf/ 199 | 200 | # Windows Store app package directories and files 201 | AppPackages/ 202 | BundleArtifacts/ 203 | Package.StoreAssociation.xml 204 | _pkginfo.txt 205 | *.appx 206 | 207 | # Visual Studio cache files 208 | # files ending in .cache can be ignored 209 | *.[Cc]ache 210 | # but keep track of directories ending in .cache 211 | !*.[Cc]ache/ 212 | 213 | # Others 214 | ClientBin/ 215 | ~$* 216 | *~ 217 | *.dbmdl 218 | *.dbproj.schemaview 219 | *.jfm 220 | *.pfx 221 | *.publishsettings 222 | orleans.codegen.cs 223 | 224 | # Including strong name files can present a security risk 225 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 226 | #*.snk 227 | 228 | # Since there are multiple workflows, uncomment next line to ignore bower_components 229 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 230 | #bower_components/ 231 | 232 | # RIA/Silverlight projects 233 | Generated_Code/ 234 | 235 | # Backup & report files from converting an old project file 236 | # to a newer Visual Studio version. Backup files are not needed, 237 | # because we have git ;-) 238 | _UpgradeReport_Files/ 239 | Backup*/ 240 | UpgradeLog*.XML 241 | UpgradeLog*.htm 242 | ServiceFabricBackup/ 243 | *.rptproj.bak 244 | 245 | # SQL Server files 246 | *.mdf 247 | *.ldf 248 | *.ndf 249 | 250 | # Business Intelligence projects 251 | *.rdl.data 252 | *.bim.layout 253 | *.bim_*.settings 254 | *.rptproj.rsuser 255 | 256 | # Microsoft Fakes 257 | FakesAssemblies/ 258 | 259 | # GhostDoc plugin setting file 260 | *.GhostDoc.xml 261 | 262 | # Node.js Tools for Visual Studio 263 | .ntvs_analysis.dat 264 | node_modules/ 265 | 266 | # Visual Studio 6 build log 267 | *.plg 268 | 269 | # Visual Studio 6 workspace options file 270 | *.opt 271 | 272 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 273 | *.vbw 274 | 275 | # Visual Studio LightSwitch build output 276 | **/*.HTMLClient/GeneratedArtifacts 277 | **/*.DesktopClient/GeneratedArtifacts 278 | **/*.DesktopClient/ModelManifest.xml 279 | **/*.Server/GeneratedArtifacts 280 | **/*.Server/ModelManifest.xml 281 | _Pvt_Extensions 282 | 283 | # Paket dependency manager 284 | .paket/paket.exe 285 | paket-files/ 286 | 287 | # FAKE - F# Make 288 | .fake/ 289 | 290 | # JetBrains Rider 291 | .idea/ 292 | *.sln.iml 293 | 294 | # CodeRush 295 | .cr/ 296 | 297 | # Python Tools for Visual Studio (PTVS) 298 | __pycache__/ 299 | *.pyc 300 | 301 | # Cake - Uncomment if you are using it 302 | # tools/** 303 | # !tools/packages.config 304 | 305 | # Tabs Studio 306 | *.tss 307 | 308 | # Telerik's JustMock configuration file 309 | *.jmconfig 310 | 311 | # BizTalk build output 312 | *.btp.cs 313 | *.btm.cs 314 | *.odx.cs 315 | *.xsd.cs 316 | 317 | # OpenCover UI analysis results 318 | OpenCover/ 319 | 320 | # Azure Stream Analytics local run output 321 | ASALocalRun/ 322 | 323 | # MSBuild Binary and Structured Log 324 | *.binlog 325 | 326 | # NVidia Nsight GPU debugger configuration file 327 | *.nvuser 328 | 329 | # MFractors (Xamarin productivity tool) working folder 330 | .mfractor/ 331 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, Shilyx 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of MazeScrnSave nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | 29 | -------------------------------------------------------------------------------- /MazeScrnSave.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "MazeScrnSave"=.\MazeScrnSave\MazeScrnSave.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /MazeScrnSave/Maze.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/MazeScrnSave/Maze.cpp -------------------------------------------------------------------------------- /MazeScrnSave/Maze.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/MazeScrnSave/Maze.h -------------------------------------------------------------------------------- /MazeScrnSave/MazeCell.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/MazeScrnSave/MazeCell.cpp -------------------------------------------------------------------------------- /MazeScrnSave/MazeCell.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/MazeScrnSave/MazeCell.h -------------------------------------------------------------------------------- /MazeScrnSave/MazeCellStack.cpp: -------------------------------------------------------------------------------- 1 | #include "MazeCellStack.h" 2 | #include 3 | 4 | CMazeCellStack::CMazeCellStack() 5 | { 6 | top = NULL; 7 | } 8 | 9 | // CMazeCellStack::CMazeCellStack(const CMazeCellStack& Stack) 10 | // { 11 | // if (!Stack.IsEmpty()) 12 | // { 13 | // top = new StackNode; 14 | // top->Cell = Stack.top->Cell; 15 | // StackNode *tmp = top, *tmp2, *p = Stack.top->Next; 16 | // while (p!=NULL) 17 | // { 18 | // tmp2 = new StackNode; 19 | // tmp2->Cell = p->Cell; 20 | // tmp->Next = tmp2; 21 | // tmp = tmp2; 22 | // p = p->Next; 23 | // } 24 | // tmp->Next = NULL; 25 | // } 26 | // } 27 | 28 | CMazeCellStack::~CMazeCellStack() 29 | { 30 | Init(); 31 | } 32 | 33 | void CMazeCellStack::Push(CMazeCell* Cell) 34 | { 35 | StackNode* NewNode = new StackNode; 36 | NewNode->Cell = Cell; 37 | NewNode->Next = top; 38 | top = NewNode; 39 | } 40 | 41 | void CMazeCellStack::Pop() 42 | { 43 | if (!IsEmpty()) 44 | { 45 | StackNode* tmp = top; 46 | top = top->Next; 47 | delete tmp; 48 | } 49 | } 50 | 51 | CMazeCell* CMazeCellStack::Top() const 52 | { 53 | if (top != NULL) 54 | { 55 | return top->Cell; 56 | } 57 | 58 | return NULL; 59 | } 60 | 61 | bool CMazeCellStack::IsEmpty() 62 | { 63 | return top == NULL; 64 | } 65 | 66 | bool CMazeCellStack::IsFull() 67 | { 68 | return false; 69 | } 70 | 71 | void CMazeCellStack::Init() 72 | { 73 | while (!IsEmpty()) 74 | { 75 | Pop(); 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /MazeScrnSave/MazeCellStack.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/MazeScrnSave/MazeCellStack.h -------------------------------------------------------------------------------- /MazeScrnSave/MazeColor.cpp: -------------------------------------------------------------------------------- 1 | #include "MazeColor.h" 2 | 3 | CMazeColor::CMazeColor(void) 4 | { 5 | m_colors[clBackGround] = GetSysColor(COLOR_BTNFACE); 6 | m_colors[clWall] = RGB(0, 0, 0); 7 | m_colors[clBadPath] = RGB(155, 155, 155); 8 | m_colors[clVisited] = RGB(0, 0, 255); 9 | m_colors[clPtStart] = RGB(0, 0, 0); 10 | m_colors[clPtEnd] = RGB(255, 0, 0); 11 | 12 | for (int i = 0; i < clCount; i += 1) 13 | { 14 | m_pens[i] = NULL; 15 | m_brushs[i] = NULL; 16 | } 17 | } 18 | 19 | CMazeColor::~CMazeColor() 20 | { 21 | for (int i = 0; i < clCount; i += 1) 22 | { 23 | if (m_pens[i] != NULL) 24 | { 25 | DeleteObject(m_pens[i]); 26 | } 27 | 28 | if (m_brushs[i] != NULL) 29 | { 30 | DeleteObject(m_brushs[i]); 31 | } 32 | } 33 | } 34 | 35 | COLORREF CMazeColor::GetColor(ColorType ct) const 36 | { 37 | return m_colors[ct]; 38 | } 39 | 40 | HPEN CMazeColor::GetPen(ColorType ct) 41 | { 42 | if (m_pens[ct] == NULL) 43 | { 44 | m_pens[ct] = CreatePen(PS_SOLID, 1, m_colors[ct]); 45 | } 46 | 47 | return m_pens[ct]; 48 | } 49 | 50 | HBRUSH CMazeColor::GetBrush(ColorType ct) 51 | { 52 | if (m_brushs[ct] == NULL) 53 | { 54 | m_brushs[ct] = CreateSolidBrush(m_colors[ct]); 55 | } 56 | 57 | return m_brushs[ct]; 58 | } 59 | 60 | COLORREF CMazeColor::SetColor(ColorType ct, COLORREF color) 61 | { 62 | COLORREF oldColor = m_colors[ct]; 63 | 64 | if (oldColor != color) 65 | { 66 | m_colors[ct] = color; 67 | 68 | if (m_pens[ct] != NULL) 69 | { 70 | DeleteObject(m_pens[ct]); 71 | m_pens[ct] = CreatePen(PS_SOLID, 1, m_colors[ct]); 72 | } 73 | 74 | if (m_brushs[ct] != NULL) 75 | { 76 | DeleteObject(m_brushs[ct]); 77 | m_brushs[ct] = CreateSolidBrush(m_colors[ct]); 78 | } 79 | } 80 | 81 | return oldColor; 82 | } -------------------------------------------------------------------------------- /MazeScrnSave/MazeColor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/MazeScrnSave/MazeColor.h -------------------------------------------------------------------------------- /MazeScrnSave/MazeScrnSave.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/MazeScrnSave/MazeScrnSave.cpp -------------------------------------------------------------------------------- /MazeScrnSave/MazeScrnSave.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | 3 | ScreenSaverConfigureDialog 4 | 5 | ScreenSaverProc 6 | 7 | 8 | -------------------------------------------------------------------------------- /MazeScrnSave/MazeScrnSave.dsp: -------------------------------------------------------------------------------- 1 | # Microsoft Developer Studio Project File - Name="MazeScrnSave" - Package Owner=<4> 2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00 3 | # ** DO NOT EDIT ** 4 | 5 | # TARGTYPE "Win32 (x86) Application" 0x0101 6 | 7 | CFG=MazeScrnSave - Win32 Debug 8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE, 9 | !MESSAGE use the Export Makefile command and run 10 | !MESSAGE 11 | !MESSAGE NMAKE /f "MazeScrnSave.mak". 12 | !MESSAGE 13 | !MESSAGE You can specify a configuration when running NMAKE 14 | !MESSAGE by defining the macro CFG on the command line. For example: 15 | !MESSAGE 16 | !MESSAGE NMAKE /f "MazeScrnSave.mak" CFG="MazeScrnSave - Win32 Debug" 17 | !MESSAGE 18 | !MESSAGE Possible choices for configuration are: 19 | !MESSAGE 20 | !MESSAGE "MazeScrnSave - Win32 Release" (based on "Win32 (x86) Application") 21 | !MESSAGE "MazeScrnSave - Win32 Debug" (based on "Win32 (x86) Application") 22 | !MESSAGE 23 | 24 | # Begin Project 25 | # PROP AllowPerConfigDependencies 0 26 | # PROP Scc_ProjName "" 27 | # PROP Scc_LocalPath "" 28 | CPP=cl.exe 29 | MTL=midl.exe 30 | RSC=rc.exe 31 | 32 | !IF "$(CFG)" == "MazeScrnSave - Win32 Release" 33 | 34 | # PROP BASE Use_MFC 0 35 | # PROP BASE Use_Debug_Libraries 0 36 | # PROP BASE Output_Dir "Release" 37 | # PROP BASE Intermediate_Dir "Release" 38 | # PROP BASE Target_Dir "" 39 | # PROP Use_MFC 0 40 | # PROP Use_Debug_Libraries 0 41 | # PROP Output_Dir "Release" 42 | # PROP Intermediate_Dir "Release" 43 | # PROP Ignore_Export_Lib 0 44 | # PROP Target_Dir "" 45 | # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c 46 | # ADD CPP /nologo /MD /W3 /GX /Z7 /O2 /D "_WINDOWS" /D "WIN32" /D "NDEBUG" /D "_UNICODE" /D "UNICODE" /D _WIN32_WINNT=0x500 /D WINVER=0x500 /YX /FD /c 47 | # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 48 | # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 49 | # ADD BASE RSC /l 0x804 /d "NDEBUG" 50 | # ADD RSC /l 0x804 /d "NDEBUG" 51 | BSC32=bscmake.exe 52 | # ADD BASE BSC32 /nologo 53 | # ADD BSC32 /nologo 54 | LINK32=link.exe 55 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 56 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /entry:"wWinMainCRTStartup" /subsystem:windows /pdb:"../Release/MazeScrnSave.pdb" /debug /machine:I386 /out:"../Release/MazeScrnSave.scr" 57 | # SUBTRACT LINK32 /pdb:none 58 | 59 | !ELSEIF "$(CFG)" == "MazeScrnSave - Win32 Debug" 60 | 61 | # PROP BASE Use_MFC 0 62 | # PROP BASE Use_Debug_Libraries 1 63 | # PROP BASE Output_Dir "Debug" 64 | # PROP BASE Intermediate_Dir "Debug" 65 | # PROP BASE Target_Dir "" 66 | # PROP Use_MFC 0 67 | # PROP Use_Debug_Libraries 1 68 | # PROP Output_Dir "Debug" 69 | # PROP Intermediate_Dir "Debug" 70 | # PROP Ignore_Export_Lib 0 71 | # PROP Target_Dir "" 72 | # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c 73 | # ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "_WINDOWS" /D "WIN32" /D "_DEBUG" /D "_UNICODE" /D "UNICODE" /D _WIN32_WINNT=0x500 /D WINVER=0x500 /YX /FD /GZ /c 74 | # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 75 | # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 76 | # ADD BASE RSC /l 0x804 /d "_DEBUG" 77 | # ADD RSC /l 0x804 /d "_DEBUG" 78 | BSC32=bscmake.exe 79 | # ADD BASE BSC32 /nologo 80 | # ADD BSC32 /nologo 81 | LINK32=link.exe 82 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept 83 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /entry:"wWinMainCRTStartup" /subsystem:windows /pdb:"../Debug/MazeScrnSave.pdb" /debug /machine:I386 /out:"../Debug/MazeScrnSave.scr" /pdbtype:sept 84 | # SUBTRACT LINK32 /pdb:none 85 | 86 | !ENDIF 87 | 88 | # Begin Target 89 | 90 | # Name "MazeScrnSave - Win32 Release" 91 | # Name "MazeScrnSave - Win32 Debug" 92 | # Begin Group "Source Files" 93 | 94 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" 95 | # Begin Source File 96 | 97 | SOURCE=.\Maze.cpp 98 | # End Source File 99 | # Begin Source File 100 | 101 | SOURCE=.\MazeCell.cpp 102 | # End Source File 103 | # Begin Source File 104 | 105 | SOURCE=.\MazeCellStack.cpp 106 | # End Source File 107 | # Begin Source File 108 | 109 | SOURCE=.\MazeColor.cpp 110 | # End Source File 111 | # Begin Source File 112 | 113 | SOURCE=.\MazeScrnSave.cpp 114 | # End Source File 115 | # Begin Source File 116 | 117 | SOURCE=.\MazeScrnSave.def 118 | # End Source File 119 | # Begin Source File 120 | 121 | SOURCE=.\MazeScrnSave.rc 122 | # End Source File 123 | # End Group 124 | # Begin Group "Header Files" 125 | 126 | # PROP Default_Filter "h;hpp;hxx;hm;inl" 127 | # Begin Source File 128 | 129 | SOURCE=.\Maze.h 130 | # End Source File 131 | # Begin Source File 132 | 133 | SOURCE=.\MazeCell.h 134 | # End Source File 135 | # Begin Source File 136 | 137 | SOURCE=.\MazeCellStack.h 138 | # End Source File 139 | # Begin Source File 140 | 141 | SOURCE=.\MazeColor.h 142 | # End Source File 143 | # End Group 144 | # Begin Group "Resource Files" 145 | 146 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" 147 | # Begin Source File 148 | 149 | SOURCE=.\res\MainFrame.ico 150 | # End Source File 151 | # End Group 152 | # Begin Source File 153 | 154 | SOURCE=.\res\MazeScrnSave.manifest 155 | # End Source File 156 | # End Target 157 | # End Project 158 | -------------------------------------------------------------------------------- /MazeScrnSave/MazeScrnSave.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/MazeScrnSave/MazeScrnSave.rc -------------------------------------------------------------------------------- /MazeScrnSave/MazeScrnSave.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/MazeScrnSave/MazeScrnSave.vcproj -------------------------------------------------------------------------------- /MazeScrnSave/MazeScrnSave.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Debug 10 | x64 11 | 12 | 13 | Release 14 | Win32 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | {F6384075-81DC-406E-AFF2-0CE590870FE1} 23 | Win32Proj 24 | MazeScrnSave 25 | 26 | 27 | 28 | Application 29 | true 30 | Unicode 31 | v140 32 | 33 | 34 | Application 35 | true 36 | Unicode 37 | v140 38 | 39 | 40 | Application 41 | false 42 | true 43 | Unicode 44 | v140 45 | 46 | 47 | Application 48 | false 49 | true 50 | Unicode 51 | v140 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | true 71 | .scr 72 | 73 | 74 | true 75 | $(SolutionDir)$(Configuration)\ 76 | $(ProjectName)64 77 | .scr 78 | 79 | 80 | false 81 | .scr 82 | 83 | 84 | false 85 | $(SolutionDir)$(Configuration)\ 86 | $(ProjectName)64 87 | .scr 88 | 89 | 90 | 91 | 92 | 93 | Level3 94 | Disabled 95 | WIN32;_WIN32_WINNT=0x500;WINVER=0x500;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) 96 | 97 | 98 | 99 | 100 | Windows 101 | true 102 | 103 | 104 | 105 | 106 | res\MazeScrnSave.manifest 107 | 108 | 109 | 110 | 111 | 112 | 113 | Level3 114 | Disabled 115 | WIN32;_WIN32_WINNT=0x500;WINVER=0x500;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) 116 | 117 | 118 | 119 | 120 | Windows 121 | true 122 | $(OutDir)$(TargetName)$(TargetExt) 123 | $(TargetDir)$(TargetName).pdb 124 | 125 | 126 | 127 | 128 | res\MazeScrnSave.manifest 129 | 130 | 131 | 132 | 133 | Level3 134 | 135 | 136 | MaxSpeed 137 | true 138 | true 139 | WIN32;_WIN32_WINNT=0x500;WINVER=0x500;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) 140 | OldStyle 141 | 142 | 143 | 144 | 145 | Windows 146 | true 147 | true 148 | true 149 | 150 | 151 | 152 | 153 | res\MazeScrnSave.manifest 154 | 155 | 156 | 157 | 158 | Level3 159 | 160 | 161 | MaxSpeed 162 | true 163 | true 164 | WIN32;_WIN32_WINNT=0x500;WINVER=0x500;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) 165 | OldStyle 166 | 167 | 168 | 169 | 170 | Windows 171 | true 172 | true 173 | true 174 | $(OutDir)$(TargetName)$(TargetExt) 175 | $(TargetDir)$(TargetName).pdb 176 | 177 | 178 | 179 | 180 | res\MazeScrnSave.manifest 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | -------------------------------------------------------------------------------- /MazeScrnSave/MazeScrnSave.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 源文件 20 | 21 | 22 | 源文件 23 | 24 | 25 | 源文件 26 | 27 | 28 | 源文件 29 | 30 | 31 | 源文件 32 | 33 | 34 | 35 | 36 | 资源文件 37 | 38 | 39 | 40 | 41 | 头文件 42 | 43 | 44 | 头文件 45 | 46 | 47 | 头文件 48 | 49 | 50 | 头文件 51 | 52 | 53 | 头文件 54 | 55 | 56 | 57 | 58 | 源文件 59 | 60 | 61 | 资源文件 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /MazeScrnSave/res/MainFrame.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/MazeScrnSave/res/MainFrame.ico -------------------------------------------------------------------------------- /MazeScrnSave/res/MazeScrnSave.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /MazeScrnSave/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by MazeScrnSave.rc 4 | // 5 | #define IDI_MAINFRAME 100 6 | #define IDR_241 103 7 | #define IDC_CL_BACKGROUND 1008 8 | #define IDC_CL_WALL 1009 9 | #define IDC_CL_BADPATH 1010 10 | #define IDC_CL_VISITED 1011 11 | #define IDC_CL_BEGIN 1012 12 | #define IDC_CL_END 1013 13 | #define IDC_CELLWIDTH 1014 14 | #define IDC_SPINCELLWIDTH 1015 15 | #define IDC_CELLHEIGHT 1016 16 | #define IDC_SPINCELLHEIGHT 1017 17 | #define IDC_GENERATESPEED 1018 18 | #define IDC_RESOLVESPEED 1019 19 | #define IDC_REDRAWBEFOREGENERATE 1020 20 | #define IDC_FLASHPATH 1021 21 | #define IDC_DEFAULT 1022 22 | #define IDC_SPINGENERATESPEED 1023 23 | #define IDC_SPINRESOLVESPEED 1024 24 | #define IDC_ALLOWNONSOLUTION 1025 25 | #define IDD_DIALOG 2003 26 | 27 | // Next default values for new objects 28 | // 29 | #ifdef APSTUDIO_INVOKED 30 | #ifndef APSTUDIO_READONLY_SYMBOLS 31 | #define _APS_NEXT_RESOURCE_VALUE 2004 32 | #define _APS_NEXT_COMMAND_VALUE 40001 33 | #define _APS_NEXT_CONTROL_VALUE 1025 34 | #define _APS_NEXT_SYMED_VALUE 101 35 | #endif 36 | #endif 37 | -------------------------------------------------------------------------------- /MazeScrnSave2008.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MazeScrnSave", "MazeScrnSave\MazeScrnSave.vcproj", "{258E7AC1-0251-4D76-8F98-93AE7B32642F}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Release|Win32 = Release|Win32 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {258E7AC1-0251-4D76-8F98-93AE7B32642F}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {258E7AC1-0251-4D76-8F98-93AE7B32642F}.Debug|Win32.Build.0 = Debug|Win32 16 | {258E7AC1-0251-4D76-8F98-93AE7B32642F}.Debug|x64.ActiveCfg = Debug|x64 17 | {258E7AC1-0251-4D76-8F98-93AE7B32642F}.Debug|x64.Build.0 = Debug|x64 18 | {258E7AC1-0251-4D76-8F98-93AE7B32642F}.Release|Win32.ActiveCfg = Release|Win32 19 | {258E7AC1-0251-4D76-8F98-93AE7B32642F}.Release|Win32.Build.0 = Release|Win32 20 | {258E7AC1-0251-4D76-8F98-93AE7B32642F}.Release|x64.ActiveCfg = Release|x64 21 | {258E7AC1-0251-4D76-8F98-93AE7B32642F}.Release|x64.Build.0 = Release|x64 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /MazeScrnSave2010.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MazeScrnSave", "MazeScrnSave\MazeScrnSave.vcxproj", "{F6384075-81DC-406E-AFF2-0CE590870FE1}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Release|Win32 = Release|Win32 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Debug|Win32.Build.0 = Debug|Win32 16 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Debug|x64.ActiveCfg = Debug|x64 17 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Debug|x64.Build.0 = Debug|x64 18 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Release|Win32.ActiveCfg = Release|Win32 19 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Release|Win32.Build.0 = Release|Win32 20 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Release|x64.ActiveCfg = Release|x64 21 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Release|x64.Build.0 = Release|x64 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /MazeScrnSave2012.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{80440DAC-11D4-461D-A3F6-DC3E4E115F6A}") = "MazeScrnSave", "MazeScrnSave\MazeScrnSave.vcxproj", "{5EB2B946-F421-440E-B161-58E640E1E20B}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Release|Win32 = Release|Win32 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {5EB2B946-F421-440E-B161-58E640E1E20B}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {5EB2B946-F421-440E-B161-58E640E1E20B}.Debug|Win32.Build.0 = Debug|Win32 16 | {5EB2B946-F421-440E-B161-58E640E1E20B}.Debug|x64.ActiveCfg = Debug|x64 17 | {5EB2B946-F421-440E-B161-58E640E1E20B}.Debug|x64.Build.0 = Debug|x64 18 | {5EB2B946-F421-440E-B161-58E640E1E20B}.Release|Win32.ActiveCfg = Release|Win32 19 | {5EB2B946-F421-440E-B161-58E640E1E20B}.Release|Win32.Build.0 = Release|Win32 20 | {5EB2B946-F421-440E-B161-58E640E1E20B}.Release|x64.ActiveCfg = Release|x64 21 | {5EB2B946-F421-440E-B161-58E640E1E20B}.Release|x64.Build.0 = Release|x64 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /MazeScrnSave2013.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.30723.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MazeScrnSave", "MazeScrnSave\MazeScrnSave.vcxproj", "{F6384075-81DC-406E-AFF2-0CE590870FE1}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Debug|Win32.Build.0 = Debug|Win32 18 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Debug|x64.ActiveCfg = Debug|x64 19 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Debug|x64.Build.0 = Debug|x64 20 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Release|Win32.ActiveCfg = Release|Win32 21 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Release|Win32.Build.0 = Release|Win32 22 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Release|x64.ActiveCfg = Release|x64 23 | {F6384075-81DC-406E-AFF2-0CE590870FE1}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MazeScrnSave 2 | a screen saver, generate and resolve maze automatic 3 | 4 | ![image](https://raw.githubusercontent.com/Shilyx/MazeScrnSave/master/m1.jpg) 5 | ![image](https://raw.githubusercontent.com/Shilyx/MazeScrnSave/master/m2.jpg) 6 | ![image](https://raw.githubusercontent.com/Shilyx/MazeScrnSave/master/m3.jpg) 7 | -------------------------------------------------------------------------------- /bin_x86_vc9/MazeScrnSave.scr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/bin_x86_vc9/MazeScrnSave.scr -------------------------------------------------------------------------------- /m1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/m1.jpg -------------------------------------------------------------------------------- /m2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/m2.jpg -------------------------------------------------------------------------------- /m3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shilyx/MazeScrnSave/a9bb9f1dac61cf4fad2e635b164294d87f6894b8/m3.jpg --------------------------------------------------------------------------------