Day 1 done
This commit is contained in:
parent
ce1cda06b4
commit
bc250f7c00
138
Day 3/Day 3.vcxproj
Normal file
138
Day 3/Day 3.vcxproj
Normal file
@ -0,0 +1,138 @@
|
||||
<?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>{cf11a7b9-18f3-4cac-b861-f6faf8b4a4b9}</ProjectGuid>
|
||||
<RootNamespace>Day_3</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>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</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>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="olcPixelGameEngine.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
27
Day 3/Day 3.vcxproj.filters
Normal file
27
Day 3/Day 3.vcxproj.filters
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<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="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<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>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="olcPixelGameEngine.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
10
Day 3/Day3_1.txt
Normal file
10
Day 3/Day3_1.txt
Normal file
@ -0,0 +1,10 @@
|
||||
467..114..
|
||||
...*......
|
||||
..35..633.
|
||||
......#...
|
||||
617*......
|
||||
.....+.58.
|
||||
..592.....
|
||||
......755.
|
||||
...$.*....
|
||||
.664.598..
|
140
Day 3/Day3_2.txt
Normal file
140
Day 3/Day3_2.txt
Normal file
@ -0,0 +1,140 @@
|
||||
............677..........................................................................227.....730..35.......318...........92...166.......
|
||||
....%..863..#......................36.............956..337%......692..............*744....$..........*......../.....187..-..................
|
||||
..346...*.....475.440....903&..996*...404+.395...*..............*.......&253.223.....................453..535......@....265.....290$........
|
||||
.........470.*.....+..........................*.........148...40....361...................883.............*....%............649.............
|
||||
.............587..........#..........848*.............../.........................................415....445....947............*...509......
|
||||
......170..............922..79*660.......87...802...........................669.152...867...........*.........................926....+.53...
|
||||
.......-..#319..915................846......../......120...870*874..610.........$....-.......577.....825.....430$.....689...................
|
||||
......................700.........*................................*..................../.........................693.*....734&......@.59...
|
||||
..........247..........*.......444....768....569.248..430..565.....82............525...794...171...................*..160........39.25.*....
|
||||
..........*.........560............56*......$..........&...*............70-........&.........*....397....571.....297.............*.....422..
|
||||
......338..481........../..#220...............116.........194..................#.....=....-..529..=........................../....381.......
|
||||
.892....*....../...708.856.......405.............*324................&...922....60..288..810.........747............*876./....180...........
|
||||
....*..41......456........................652..................48..110..+.....................199.....*..........824......471........261....
|
||||
..317......+1........29...316&...368&............%.365...212....*..............................*..292..70..............................*....
|
||||
.......................................*......616..-.....*....596........*699.978*259....309..660....*...........90....634.....631......987.
|
||||
140........2*....285...836&..........13.8.............264.............945...............*............323....514.&.........-......%..........
|
||||
......&......634..*..........816...........................41..=..............@670......648................+.............................926
|
||||
......343.........221....157....*.......=..492.319..............659......238.........................-.......113.......187...863............
|
||||
........................*......937....471........*...274..................*....../244......22..332...908.......*..........#..*..............
|
||||
.......610.............670.693..................182...*..618.............865................................678........85.....948...........
|
||||
.........*...334.............../.....21*853.........491..../...524...............494........794.....401.........$........*327...............
|
||||
........270.../................164.......................#....=..............235...*....-..*.......*.............142..............738*......
|
||||
...579.............@...823...............596........+263.797.....916..............632..618..335.996......504*..................+......853...
|
||||
....&...646*.872...805....*...-788.......*.........................*.......985*..............................440.......310..826.....+.......
|
||||
..............*.........54..........104...238.........787...........79.........449.674........204......................*...........808......
|
||||
...949....396..................664....$.........626..*...............................*.......*....923..30....482........111.............+...
|
||||
...$......*...................../.............*......387.........333...-........@.750.......737.........*.....*.............890..707.....852
|
||||
.........264....247.....416+..................177...........55..........251..911.........................88...741.................@.........
|
||||
................*..............-........................232..*.....737...............597..............................=.+...............24..
|
||||
.................456............109..907................../...656.......................*..................855.451.958..783.........854*....
|
||||
.....65*....#188.......894............................@.....&................380.302.133..507.................*..............227............
|
||||
..71....14..................774..%109..821...182*......85...256......314.......%..........-....148..$.824*591......653........*......&435...
|
||||
.........................$./.............@...........................=............228..............32.........*........%989..121............
|
||||
.......................64.......545.........*458......735....435...........869.......+...........=.........307.......................*......
|
||||
74...209../885..................*....&368.86.........*..........*....965.....................919..226................990..........381.566...
|
||||
........#..........970.150....910.=..............973.502....$.603..#..*....429..557...#................665.......307........................
|
||||
...-.........486..........=.......514.............*......621......59.654......*...*....756...584.....%....*453...*....250...328...995.......
|
||||
....997.........*.......................316......533........................100..485.........*.......955........792..........*.......*......
|
||||
.........420....111..........273.430.......*889..........824..338..91.55.............656....70...............................936...713......
|
||||
......#....*........647......*...../.484.......................*..*......#376..........................425.613..............................
|
||||
...568....151....$.......95.............*...66.....818..453.735..817.319......568*764...........242.....+.............829.1.................
|
||||
..............216....345......................*.....*.................*...549............251.......*.........*44.......*...*352......597*7..
|
||||
.....138..240......$...*.............34..197.988.....760..981....*....682....*...263/...*.........19......678.......$..839.......70.........
|
||||
........*...*....270.........147.700.......*...............+..470.849.......625.........218..$.....................936..........*....@......
|
||||
.......953..856.................*.........910........504.........................&..........830........874..................514.772..698....
|
||||
814...................460...........................$............&49......804..394......................*...............747...*.............
|
||||
........876...........@...............607......15........8...................$.........706..............767...972.......*...912....%........
|
||||
.............805...83..............*......156..............924...719...............514*...........................936...........960..364....
|
||||
...692........*....#......220...667.645....*........................=...977..628........415...................@....*..386....#.........*....
|
||||
.............................$.............891.948..479...................-...*..........*...*385......*...173....113./...765..779......643.
|
||||
..........$754......8............599...........*............373.............814....537.307..........552.........................*...........
|
||||
......................*111..874..&...887....820.........73..*..........196.....................260.......%......915.774.........../.........
|
||||
..........670*484.624..........$.......................%.....17........*.......91@..703*705...............298......*............160.........
|
||||
.....256...............&..................833.....@......319....&310.778........................214...................195..............7....
|
||||
......*......-.......229.................*........23.........82.............604..428.....258&..*.................303..*......198............
|
||||
....554...262...621*...........959....475..28............836.*...11*68...........#............602..73.....+471..*....161.61.*...........652.
|
||||
...............................*..........................$..324.........&.........-.....950........*..........921.......*...551...799$.$...
|
||||
..............=306..19/.397*....127.......*..........794..........461....997........429.#.........923.......................................
|
||||
..950.....225...............667........743.560.........*....678....*..................................240.............*.....................
|
||||
...........*......................&727..................229...*...20............508@...464........312.....399..945...430....................
|
||||
............239......*453.....................................908.........339.........*........................*............394@............
|
||||
.606..647......................544.....*765.............908/...............*....318...393................481.445..................714.......
|
||||
...*.../......859......362....../...352...........736.........970.......138....................%....850............529........#......*561...
|
||||
..841.............*.......$................225...=....*470..................280....109......441........*785....281*........576..@929........
|
||||
...........146..34.965......272...............*....418......-....=918..862.*......*...................................#365..................
|
||||
.821*388......*.....................781......778...........839...........*..779.........635..#....243..+............*.............*493...147
|
||||
...............991....463...211*......$...........291...............+.............970...*....153..*....81..........614...720....63..........
|
||||
...........714..................127......81......&.................307.............-.....948.....565......907...........*...................
|
||||
...........................-..............#...#...........................&..........145.....................*365..590..711....830....511...
|
||||
..........136..-...810....9....................178...........*440....696...792..............260........18......................*............
|
||||
......364....*.193...+..........5*.....390+..........580..630...........*..............324./....463....*........................846......915
|
||||
.........*..............868.......593.......384......../....................201........*..............343..852......96......................
|
||||
......303..64.............................................493.........694............833....758........................266......531.........
|
||||
.............*823..................................461............295..........100$.......%...=.884..433....929.......&.........$...........
|
||||
521..........................&.................120.........................../..........996.....*.......&....*...971.................-......
|
||||
.......@..227...............440..308.../................152.......#.........82.660.%265......599.............646..*...505....547$.....983...
|
||||
.....157................................22.......=.......%...&.....12....................................428.....641........................
|
||||
...........398.....381.../...248................492........631.....................128...../...577.......$............792...................
|
||||
..........+...............28.........41.....386......15............*937......660...*....915.......*.594.................$.......964.........
|
||||
..............216.............351&...*........*.....*........$..449...............328..........270...#.........900.........930.*.....941....
|
||||
..552.224.402*......895.............302.462....248...374...142................535..........................884....%..71....$...997...*...589
|
||||
.....*.....................270...-........=.-..........................760..........151..508..........21.....*......+.......................
|
||||
........341..%898.......$......612...........103..............895....*.*.........@.....-.....99........*..939.....*.........................
|
||||
........*............295.............591.................458.+.....374..70........284................283.........340..89......820......932..
|
||||
......284.......826........+838........*........*.........$...................................89........................&.....=.......*.....
|
||||
..........818..........................741...175.495................489.........................*.........469..565..%...........613.32......
|
||||
788.982...*.........468..............................952....73...............588...336........+...498*805....*...*...332.........*..........
|
||||
....../.884...%.127....&..980...#.........214...............+.................*....*.......336...............812..43.......475..908.........
|
||||
............294..............-.681......=......1........647.............180..895..760....%................91...............*.........674....
|
||||
...24..#.................739.............657..=....149.....*..296.737..*..............553...............*...*473........474...%.............
|
||||
.......694.......*..%....*.........*..................-.117....*.....*..............................953.793....................653.....635..
|
||||
..............519....963..640......718......................*...693.83.............................$.................................-..#...
|
||||
.......................................463...........*39..867...........200..................766.........893........262.89.777-.....476.....
|
||||
......................@790........................983...................*.....................*.............*906...../..*.........%.........
|
||||
.../.......417..619...................................................944...973.....#......664.........203...............504.824...626.149..
|
||||
...316...............847...........%....................382...1................*.825..223.............@.........+............*.........*....
|
||||
...............816....*.....744..771.628..............*....*..*..............433......*..........................303......569..725......221.
|
||||
.....&543........*.774.......*.....................461..357..131...583..892$.........627...978..630...#653........................#.........
|
||||
352............540............509.504*......109......................*.......................+.-...............431..486..250....%...........
|
||||
...+.......774.....343........................*.......&............859.....499......................./................*......448....425.....
|
||||
..............*857.$........26....+.....$..705..491.128......871............#..659....................119.....%80.770.25....................
|
||||
......66....................*..453....497.........-.......*.....*................@.....833..........................................-.......
|
||||
.....*........196........535........................./.233.230.238.....................*...#.56*...........757.......620..........$..694....
|
||||
...226.122....*.....116...............78$.........652.....................+589......260..633....97....153...............*..$...142.......464
|
||||
........@......493..........883...862.................199......................100......................%.............445...25.....*........
|
||||
...........372.........388...*...%.......13*506......%...../855...-456.........+................373........@....976.............243.965.....
|
||||
.....234..*........200...&.659...........................-...............353......451..........*..........997....*..........................
|
||||
........*..........*...........205..................#...346.................@....-.......890..455.....819.....673..733*473..................
|
||||
..........970...132...$....509*..........#.......437..........290..../489...........59.................*........................961.........
|
||||
..972.192.@.........152.@.......$...876...993.............449....&.............335.*.....184.........723.......................+.......+....
|
||||
...............899......470.82..908..............10.......+...........375......#....635...*................*538.....$..228..%...........587.
|
||||
...751........................-......................996....351........*..422...........246.......#393..168.......576...*...652...784.......
|
||||
....................997.................49.............*...*....118......*.....998..$..........2............#....................*..........
|
||||
.........-749..612..*.............140..$.......659.....750..965....*...187.....*...973..............859..908......951.....104.....749...+...
|
||||
.302...............257...........................*...............851...........444..........58*119...*........162....@......*............431
|
||||
....*........260*........324................262...147.......+..............245........................604.47...............333..../.........
|
||||
.................926........*248...............*..........660................*......438=..250.................622................103....543.
|
||||
............@223............................933.........................605..285............*..................*.....622...............#....
|
||||
....&...873.............6..530.......251.........17..529...................*.................945...905.........505...*.....181..............
|
||||
.....60....*........94..&...&..........#........+....../....746*768........849.......985*445.............*...........201..$....307...-......
|
||||
..........838.365..$.............595+..............-............................256..............533......84..................%.......564...
|
||||
.....855........*.....%...............854.........20..739..........+............................................992.........................
|
||||
.981..*..........75..147.390..................842....../..997......145.......593..............#...........769../........88..............323.
|
||||
...*..911.................*..997.........................*................15*.......642....327........148*................*268..........@...
|
||||
..127.........................@...........856........284.753..469.....+.......611=.....&.........................63....&........@346........
|
||||
......758..............670...............*.....431..............*.460..988..=...................................*.....538..............#697.
|
||||
.........................*.......311.=37.........*............524...*.......315..316..902.....864*.....%529.....392.......859..156@.........
|
||||
.....$..............610......478.#..............335................337.................-..........828........................#......530.191.
|
||||
.892.914......................%..........................283....................208........626.........&.40.....443..626.$.............*....
|
||||
...*.....................963....645*........694*.................539.....317..................%......555............*.....450......+........
|
||||
..412..422..373%...713$..%......................778.159.........*...........#.......978...................+......647..........$..885....&...
|
||||
...............................58...........383.....%..........185...376...........+.....158.........%.....398.............203.........784..
|
||||
......360...914*875.104&........&.673....-.....*.*....................*...................*.....590.417.60.......................*..........
|
||||
.......*.................................386.592..445...............74...........&........864.............$.370.....75........125.102...292.
|
||||
........950.522..422&.204%......918.........................228................918............../..............-...*...951..................
|
||||
.....@.........*..................................................228..840$.....................584......72..#....563...$..717..113.........
|
||||
..250...........817.........#........614...224...164...506......................362....873...........568*....920...............*............
|
||||
......159.................553..294#...*.........*......................42..$...........*......884.......................950...482..611...249
|
||||
........*....978*275.................974...*....81.........../...........%.405.........224.....-....*......409*20....../............*...*...
|
||||
.122.273...............759....137...........574............229...................................497.41............................872.78...
|
241
Day 3/main.cpp
Normal file
241
Day 3/main.cpp
Normal file
@ -0,0 +1,241 @@
|
||||
#pragma region Hidden Setup Stuff
|
||||
#define OLC_PGE_APPLICATION
|
||||
#include "olcPixelGameEngine.h"
|
||||
|
||||
using namespace olc;
|
||||
|
||||
enum Run{
|
||||
FILE1,
|
||||
FILE2
|
||||
};
|
||||
|
||||
// Override base class with your custom functionality
|
||||
class AoC2023 : public olc::PixelGameEngine
|
||||
{
|
||||
std::vector<std::string>lines;
|
||||
bool waitForRender=false;
|
||||
|
||||
void wait(int pauseMs=0){
|
||||
waitForRender=true;
|
||||
while(waitForRender);
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(pauseMs));
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
|
||||
const int DAY = 3;
|
||||
Run runInput=FILE1;
|
||||
|
||||
struct numb{
|
||||
vi2d pos;
|
||||
int number;
|
||||
};
|
||||
|
||||
std::vector<numb>parts;
|
||||
std::vector<std::vector<char>>board;
|
||||
|
||||
void doStuff2(){
|
||||
while(true){ //lines is accessible as a global.
|
||||
int sum=0;
|
||||
vi2d pos={};
|
||||
for(std::string&line:lines){
|
||||
std::string numb="";
|
||||
bool isAdjacent=false;
|
||||
std::vector<char>row;
|
||||
vi2d initialNumberPos={};
|
||||
for(int i=0;i<line.size();i++){
|
||||
if(line[i]>='0'&&line[i]<='9'){
|
||||
if(numb.length()==0){
|
||||
initialNumberPos=pos;
|
||||
}
|
||||
numb+=line[i];
|
||||
}else
|
||||
if(numb.length()>0){
|
||||
//A number has been parsed.
|
||||
parts.push_back({initialNumberPos,atoi(numb.c_str())});
|
||||
numb="";
|
||||
}
|
||||
row.push_back(line[i]);
|
||||
pos.x++;
|
||||
}
|
||||
if(numb.length()>0){
|
||||
//A number has been parsed.
|
||||
parts.push_back({initialNumberPos,atoi(numb.c_str())});
|
||||
}
|
||||
board.push_back(row);
|
||||
pos.y++;
|
||||
pos.x=0;
|
||||
std::cout<<line<<std::endl;
|
||||
}
|
||||
|
||||
for(numb&number:parts){
|
||||
int myNumb=number.number;
|
||||
vi2d startingPos=number.pos;
|
||||
while(myNumb>0){
|
||||
auto validatePos=[&](vi2d checkPos){
|
||||
return startingPos.y+checkPos.y>0&&startingPos.y+checkPos.y<board.size()-1&&
|
||||
startingPos.x+checkPos.x>0&&startingPos.x+checkPos.x<board[startingPos.y+checkPos.y].size()-1;
|
||||
};
|
||||
auto testChar=[&](char test){
|
||||
if(test!='.'&&!(test>='0'&&test<='9')){
|
||||
sum+=number.number;
|
||||
std::cout<<number.number<<" was adjacent to a symbol"<<std::endl;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
vi2d checkPos={1,0};
|
||||
if(validatePos({1,0})){if(testChar(board[startingPos.y][startingPos.x+1]))break;}
|
||||
if(validatePos({0,1})){if(testChar(board[startingPos.y+1][startingPos.x]))break;}
|
||||
if(validatePos({-1,0})){if(testChar(board[startingPos.y][startingPos.x-1]))break;}
|
||||
if(validatePos({0,-1})){if(testChar(board[startingPos.y-1][startingPos.x]))break;}
|
||||
if(validatePos({1,1})){if(testChar(board[startingPos.y+1][startingPos.x+1]))break;}
|
||||
if(validatePos({1,-1})){if(testChar(board[startingPos.y-1][startingPos.x+1]))break;}
|
||||
if(validatePos({-1,1})){if(testChar(board[startingPos.y+1][startingPos.x-1]))break;}
|
||||
if(validatePos({-1,-1})){if(testChar(board[startingPos.y-1][startingPos.x-1]))break;}
|
||||
myNumb/=10;
|
||||
startingPos.x++;
|
||||
}
|
||||
}
|
||||
std::cout<<sum<<std::endl;
|
||||
wait(0); //Wait for 0ms and render the screen (calls draw())
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void doStuff(){
|
||||
while(true){ //lines is accessible as a global.
|
||||
int sum=0;
|
||||
vi2d pos={};
|
||||
for(std::string&line:lines){
|
||||
std::string numb="";
|
||||
bool isAdjacent=false;
|
||||
std::vector<char>row;
|
||||
vi2d initialNumberPos={};
|
||||
for(int i=0;i<line.size();i++){
|
||||
if(line[i]>='0'&&line[i]<='9'){
|
||||
if(numb.length()==0){
|
||||
initialNumberPos=pos;
|
||||
}
|
||||
numb+=line[i];
|
||||
}else
|
||||
if(numb.length()>0){
|
||||
//A number has been parsed.
|
||||
parts.push_back({initialNumberPos,atoi(numb.c_str())});
|
||||
numb="";
|
||||
}
|
||||
row.push_back(line[i]);
|
||||
pos.x++;
|
||||
}
|
||||
if(numb.length()>0){
|
||||
//A number has been parsed.
|
||||
parts.push_back({initialNumberPos,atoi(numb.c_str())});
|
||||
}
|
||||
board.push_back(row);
|
||||
pos.y++;
|
||||
pos.x=0;
|
||||
std::cout<<line<<std::endl;
|
||||
}
|
||||
|
||||
for(numb&number:parts){
|
||||
int myNumb=number.number;
|
||||
vi2d startingPos=number.pos;
|
||||
while(myNumb>0){
|
||||
auto validatePos=[&](vi2d checkPos){
|
||||
return startingPos.y+checkPos.y>0&&startingPos.y+checkPos.y<board.size()-1&&
|
||||
startingPos.x+checkPos.x>0&&startingPos.x+checkPos.x<board[startingPos.y+checkPos.y].size()-1;
|
||||
};
|
||||
auto testChar=[&](char test){
|
||||
if(test!='.'&&!(test>='0'&&test<='9')){
|
||||
sum+=number.number;
|
||||
std::cout<<number.number<<" was adjacent to a symbol"<<std::endl;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
vi2d checkPos={1,0};
|
||||
if(validatePos({1,0})){if(testChar(board[startingPos.y][startingPos.x+1]))break;}
|
||||
if(validatePos({0,1})){if(testChar(board[startingPos.y+1][startingPos.x]))break;}
|
||||
if(validatePos({-1,0})){if(testChar(board[startingPos.y][startingPos.x-1]))break;}
|
||||
if(validatePos({0,-1})){if(testChar(board[startingPos.y-1][startingPos.x]))break;}
|
||||
if(validatePos({1,1})){if(testChar(board[startingPos.y+1][startingPos.x+1]))break;}
|
||||
if(validatePos({1,-1})){if(testChar(board[startingPos.y-1][startingPos.x+1]))break;}
|
||||
if(validatePos({-1,1})){if(testChar(board[startingPos.y+1][startingPos.x-1]))break;}
|
||||
if(validatePos({-1,-1})){if(testChar(board[startingPos.y-1][startingPos.x-1]))break;}
|
||||
myNumb/=10;
|
||||
startingPos.x++;
|
||||
}
|
||||
}
|
||||
std::cout<<sum<<std::endl;
|
||||
wait(0); //Wait for 0ms and render the screen (calls draw())
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void draw(){ //Only use Sprites! If using decals, you must reference global variables!
|
||||
Clear(BLACK);
|
||||
int count=0;
|
||||
vi2d pos;
|
||||
for(std::vector<char>&row:board){
|
||||
for(char c:row){
|
||||
DrawString(pos,std::string(1,c));
|
||||
pos.x+=8;
|
||||
}
|
||||
pos.y+=8;
|
||||
pos.x=0;
|
||||
}
|
||||
for(numb&number:parts){
|
||||
std::string numbStr="";
|
||||
int numb=number.number;
|
||||
while(numb>0){
|
||||
numbStr=std::to_string(numb%10)+numbStr;
|
||||
numb/=10;
|
||||
}
|
||||
DrawString(number.pos*8,numbStr,RED);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma region Hidden Engine Stuff
|
||||
public:
|
||||
AoC2023()
|
||||
{
|
||||
// Name your application
|
||||
std::string fileName="day"+std::to_string(DAY)+"_1.txt";
|
||||
if(runInput==FILE2){fileName="day"+std::to_string(DAY)+"_2.txt";}
|
||||
std::ifstream file(fileName);
|
||||
while(file.good()){
|
||||
std::string line;
|
||||
std::getline(file,line);
|
||||
lines.push_back(line);
|
||||
}
|
||||
|
||||
sAppName = "Advent of Code 2023 - Day "+std::to_string(DAY);
|
||||
}
|
||||
|
||||
public:
|
||||
bool OnUserCreate() override
|
||||
{
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnUserUpdate(float fElapsedTime) override
|
||||
{
|
||||
static std::thread aocSolver(&AoC2023::doStuff2,this);
|
||||
|
||||
if(waitForRender){
|
||||
draw();
|
||||
waitForRender=false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
AoC2023 game;
|
||||
if (game.Construct(1280, 960, 2, 2))
|
||||
game.Start();
|
||||
return 0;
|
||||
}
|
||||
#pragma endregion
|
6695
Day 3/olcPixelGameEngine.h
Normal file
6695
Day 3/olcPixelGameEngine.h
Normal file
File diff suppressed because it is too large
Load Diff
10
Project3.sln
10
Project3.sln
@ -9,6 +9,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Day 1", "Day 1\Day 1.vcxpro
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Day 2", "Day 2\Day 2.vcxproj", "{FC99E3F2-B7D0-44F4-8F65-E390976AC73B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Day 3", "Day 3\Day 3.vcxproj", "{CF11A7B9-18F3-4CAC-B861-F6FAF8B4A4B9}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
@ -41,6 +43,14 @@ Global
|
||||
{FC99E3F2-B7D0-44F4-8F65-E390976AC73B}.Release|x64.Build.0 = Release|x64
|
||||
{FC99E3F2-B7D0-44F4-8F65-E390976AC73B}.Release|x86.ActiveCfg = Release|Win32
|
||||
{FC99E3F2-B7D0-44F4-8F65-E390976AC73B}.Release|x86.Build.0 = Release|Win32
|
||||
{CF11A7B9-18F3-4CAC-B861-F6FAF8B4A4B9}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{CF11A7B9-18F3-4CAC-B861-F6FAF8B4A4B9}.Debug|x64.Build.0 = Debug|x64
|
||||
{CF11A7B9-18F3-4CAC-B861-F6FAF8B4A4B9}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{CF11A7B9-18F3-4CAC-B861-F6FAF8B4A4B9}.Debug|x86.Build.0 = Debug|Win32
|
||||
{CF11A7B9-18F3-4CAC-B861-F6FAF8B4A4B9}.Release|x64.ActiveCfg = Release|x64
|
||||
{CF11A7B9-18F3-4CAC-B861-F6FAF8B4A4B9}.Release|x64.Build.0 = Release|x64
|
||||
{CF11A7B9-18F3-4CAC-B861-F6FAF8B4A4B9}.Release|x86.ActiveCfg = Release|Win32
|
||||
{CF11A7B9-18F3-4CAC-B861-F6FAF8B4A4B9}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
Loading…
x
Reference in New Issue
Block a user