Skip to content

Commit 6df48a4

Browse files
committed
Simon:
-Created a linux project to create the interactions, the project is named Simon (linux) and it'll be called as so Simon (linux): -Host linux machine seted up -I won't work here for a while because of some probles that may appear and I need to focus on other projects too
1 parent a9a2166 commit 6df48a4

21 files changed

+860
-15
lines changed

Atividades de Aula.sln

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,76 +13,160 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Batalha Naval", "Batalha Na
1313
EndProject
1414
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Simon", "Simon\Simon.vcxproj", "{108814A1-98EE-47AA-8749-2BFDAFC780E0}"
1515
EndProject
16+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Simon (Linux)", "Simon (Linux)\Simon (Linux).vcxproj", "{21252A61-C6AF-4C67-BBD7-E17DA099F957}"
17+
EndProject
1618
Global
1719
GlobalSection(SolutionConfigurationPlatforms) = preSolution
20+
Debug|ARM = Debug|ARM
21+
Debug|ARM64 = Debug|ARM64
1822
Debug|x64 = Debug|x64
1923
Debug|x86 = Debug|x86
24+
Release StaticCRT|ARM = Release StaticCRT|ARM
25+
Release StaticCRT|ARM64 = Release StaticCRT|ARM64
2026
Release StaticCRT|x64 = Release StaticCRT|x64
2127
Release StaticCRT|x86 = Release StaticCRT|x86
28+
Release|ARM = Release|ARM
29+
Release|ARM64 = Release|ARM64
2230
Release|x64 = Release|x64
2331
Release|x86 = Release|x86
2432
EndGlobalSection
2533
GlobalSection(ProjectConfigurationPlatforms) = postSolution
34+
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Debug|ARM.ActiveCfg = Debug|Win32
35+
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Debug|ARM64.ActiveCfg = Debug|Win32
2636
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Debug|x64.ActiveCfg = Debug|x64
2737
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Debug|x64.Build.0 = Debug|x64
2838
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Debug|x86.ActiveCfg = Debug|Win32
2939
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Debug|x86.Build.0 = Debug|Win32
40+
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release StaticCRT|ARM.ActiveCfg = Release|Win32
41+
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release StaticCRT|ARM.Build.0 = Release|Win32
42+
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release StaticCRT|ARM64.ActiveCfg = Release|Win32
43+
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release StaticCRT|ARM64.Build.0 = Release|Win32
3044
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release StaticCRT|x64.ActiveCfg = Release|x64
3145
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release StaticCRT|x64.Build.0 = Release|x64
3246
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release StaticCRT|x86.ActiveCfg = Release|Win32
3347
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release StaticCRT|x86.Build.0 = Release|Win32
48+
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release|ARM.ActiveCfg = Release|Win32
49+
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release|ARM64.ActiveCfg = Release|Win32
3450
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release|x64.ActiveCfg = Release|x64
3551
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release|x64.Build.0 = Release|x64
3652
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release|x86.ActiveCfg = Release|Win32
3753
{1FEA9D35-5DE9-487E-B276-4F9491884931}.Release|x86.Build.0 = Release|Win32
54+
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Debug|ARM.ActiveCfg = Debug|Win32
55+
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Debug|ARM64.ActiveCfg = Debug|Win32
3856
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Debug|x64.ActiveCfg = Debug|x64
3957
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Debug|x64.Build.0 = Debug|x64
4058
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Debug|x86.ActiveCfg = Debug|Win32
4159
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Debug|x86.Build.0 = Debug|Win32
60+
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release StaticCRT|ARM.ActiveCfg = Release|Win32
61+
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release StaticCRT|ARM.Build.0 = Release|Win32
62+
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release StaticCRT|ARM64.ActiveCfg = Release|Win32
63+
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release StaticCRT|ARM64.Build.0 = Release|Win32
4264
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release StaticCRT|x64.ActiveCfg = Release|x64
4365
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release StaticCRT|x64.Build.0 = Release|x64
4466
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release StaticCRT|x86.ActiveCfg = Release|Win32
4567
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release StaticCRT|x86.Build.0 = Release|Win32
68+
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release|ARM.ActiveCfg = Release|Win32
69+
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release|ARM64.ActiveCfg = Release|Win32
4670
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release|x64.ActiveCfg = Release|x64
4771
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release|x64.Build.0 = Release|x64
4872
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release|x86.ActiveCfg = Release|Win32
4973
{0644F248-5E49-477A-BAD7-7FCA86DA135A}.Release|x86.Build.0 = Release|Win32
74+
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Debug|ARM.ActiveCfg = Debug|Win32
75+
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Debug|ARM64.ActiveCfg = Debug|Win32
5076
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Debug|x64.ActiveCfg = Debug|x64
5177
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Debug|x64.Build.0 = Debug|x64
5278
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Debug|x86.ActiveCfg = Debug|Win32
5379
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Debug|x86.Build.0 = Debug|Win32
80+
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release StaticCRT|ARM.ActiveCfg = Release|Win32
81+
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release StaticCRT|ARM.Build.0 = Release|Win32
82+
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release StaticCRT|ARM64.ActiveCfg = Release|Win32
83+
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release StaticCRT|ARM64.Build.0 = Release|Win32
5484
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release StaticCRT|x64.ActiveCfg = Release|x64
5585
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release StaticCRT|x64.Build.0 = Release|x64
5686
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release StaticCRT|x86.ActiveCfg = Release|Win32
5787
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release StaticCRT|x86.Build.0 = Release|Win32
88+
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release|ARM.ActiveCfg = Release|Win32
89+
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release|ARM64.ActiveCfg = Release|Win32
5890
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release|x64.ActiveCfg = Release|x64
5991
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release|x64.Build.0 = Release|x64
6092
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release|x86.ActiveCfg = Release|Win32
6193
{E42D6209-08C2-41E3-A600-C199645ADC2C}.Release|x86.Build.0 = Release|Win32
94+
{EE58612E-920A-4BC3-8567-0AEB20070867}.Debug|ARM.ActiveCfg = Debug|Win32
95+
{EE58612E-920A-4BC3-8567-0AEB20070867}.Debug|ARM64.ActiveCfg = Debug|Win32
6296
{EE58612E-920A-4BC3-8567-0AEB20070867}.Debug|x64.ActiveCfg = Debug|x64
6397
{EE58612E-920A-4BC3-8567-0AEB20070867}.Debug|x64.Build.0 = Debug|x64
6498
{EE58612E-920A-4BC3-8567-0AEB20070867}.Debug|x86.ActiveCfg = Debug|Win32
6599
{EE58612E-920A-4BC3-8567-0AEB20070867}.Debug|x86.Build.0 = Debug|Win32
100+
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release StaticCRT|ARM.ActiveCfg = Release|Win32
101+
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release StaticCRT|ARM.Build.0 = Release|Win32
102+
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release StaticCRT|ARM64.ActiveCfg = Release|Win32
103+
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release StaticCRT|ARM64.Build.0 = Release|Win32
66104
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release StaticCRT|x64.ActiveCfg = Release|x64
67105
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release StaticCRT|x64.Build.0 = Release|x64
68106
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release StaticCRT|x86.ActiveCfg = Release|Win32
69107
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release StaticCRT|x86.Build.0 = Release|Win32
108+
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release|ARM.ActiveCfg = Release|Win32
109+
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release|ARM64.ActiveCfg = Release|Win32
70110
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release|x64.ActiveCfg = Release|x64
71111
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release|x64.Build.0 = Release|x64
72112
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release|x86.ActiveCfg = Release|Win32
73113
{EE58612E-920A-4BC3-8567-0AEB20070867}.Release|x86.Build.0 = Release|Win32
114+
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Debug|ARM.ActiveCfg = Debug|Win32
115+
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Debug|ARM64.ActiveCfg = Debug|Win32
74116
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Debug|x64.ActiveCfg = Debug|x64
75117
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Debug|x64.Build.0 = Debug|x64
76118
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Debug|x86.ActiveCfg = Debug|Win32
77119
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Debug|x86.Build.0 = Debug|Win32
120+
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release StaticCRT|ARM.ActiveCfg = Release|Win32
121+
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release StaticCRT|ARM.Build.0 = Release|Win32
122+
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release StaticCRT|ARM64.ActiveCfg = Release|Win32
123+
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release StaticCRT|ARM64.Build.0 = Release|Win32
78124
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release StaticCRT|x64.ActiveCfg = Release|x64
79125
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release StaticCRT|x64.Build.0 = Release|x64
80126
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release StaticCRT|x86.ActiveCfg = Release|Win32
81127
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release StaticCRT|x86.Build.0 = Release|Win32
128+
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release|ARM.ActiveCfg = Release|Win32
129+
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release|ARM64.ActiveCfg = Release|Win32
82130
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release|x64.ActiveCfg = Release|x64
83131
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release|x64.Build.0 = Release|x64
84132
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release|x86.ActiveCfg = Release|Win32
85133
{108814A1-98EE-47AA-8749-2BFDAFC780E0}.Release|x86.Build.0 = Release|Win32
134+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|ARM.ActiveCfg = Debug|ARM
135+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|ARM.Build.0 = Debug|ARM
136+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|ARM.Deploy.0 = Debug|ARM
137+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|ARM64.ActiveCfg = Debug|ARM64
138+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|ARM64.Build.0 = Debug|ARM64
139+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|ARM64.Deploy.0 = Debug|ARM64
140+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|x64.ActiveCfg = Debug|x64
141+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|x64.Build.0 = Debug|x64
142+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|x64.Deploy.0 = Debug|x64
143+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|x86.ActiveCfg = Debug|x86
144+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|x86.Build.0 = Debug|x86
145+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Debug|x86.Deploy.0 = Debug|x86
146+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|ARM.ActiveCfg = Release|ARM
147+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|ARM.Build.0 = Release|ARM
148+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|ARM.Deploy.0 = Release|ARM
149+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|ARM64.ActiveCfg = Release|ARM64
150+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|ARM64.Build.0 = Release|ARM64
151+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|ARM64.Deploy.0 = Release|ARM64
152+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|x64.ActiveCfg = Release|x64
153+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|x64.Build.0 = Release|x64
154+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|x64.Deploy.0 = Release|x64
155+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|x86.ActiveCfg = Release|x86
156+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|x86.Build.0 = Release|x86
157+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release StaticCRT|x86.Deploy.0 = Release|x86
158+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|ARM.ActiveCfg = Release|ARM
159+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|ARM.Build.0 = Release|ARM
160+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|ARM.Deploy.0 = Release|ARM
161+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|ARM64.ActiveCfg = Release|ARM64
162+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|ARM64.Build.0 = Release|ARM64
163+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|ARM64.Deploy.0 = Release|ARM64
164+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|x64.ActiveCfg = Release|x64
165+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|x64.Build.0 = Release|x64
166+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|x64.Deploy.0 = Release|x64
167+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|x86.ActiveCfg = Release|x86
168+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|x86.Build.0 = Release|x86
169+
{21252A61-C6AF-4C67-BBD7-E17DA099F957}.Release|x86.Deploy.0 = Release|x86
86170
EndGlobalSection
87171
GlobalSection(SolutionProperties) = preSolution
88172
HideSolutionNode = FALSE
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug|ARM">
5+
<Configuration>Debug</Configuration>
6+
<Platform>ARM</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Release|ARM">
9+
<Configuration>Release</Configuration>
10+
<Platform>ARM</Platform>
11+
</ProjectConfiguration>
12+
<ProjectConfiguration Include="Debug|ARM64">
13+
<Configuration>Debug</Configuration>
14+
<Platform>ARM64</Platform>
15+
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Release|ARM64">
17+
<Configuration>Release</Configuration>
18+
<Platform>ARM64</Platform>
19+
</ProjectConfiguration>
20+
<ProjectConfiguration Include="Debug|x86">
21+
<Configuration>Debug</Configuration>
22+
<Platform>x86</Platform>
23+
</ProjectConfiguration>
24+
<ProjectConfiguration Include="Release|x86">
25+
<Configuration>Release</Configuration>
26+
<Platform>x86</Platform>
27+
</ProjectConfiguration>
28+
<ProjectConfiguration Include="Debug|x64">
29+
<Configuration>Debug</Configuration>
30+
<Platform>x64</Platform>
31+
</ProjectConfiguration>
32+
<ProjectConfiguration Include="Release|x64">
33+
<Configuration>Release</Configuration>
34+
<Platform>x64</Platform>
35+
</ProjectConfiguration>
36+
</ItemGroup>
37+
<PropertyGroup Label="Globals">
38+
<ProjectGuid>{21252a61-c6af-4c67-bbd7-e17da099f957}</ProjectGuid>
39+
<Keyword>Linux</Keyword>
40+
<RootNamespace>Simon__Linux_</RootNamespace>
41+
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
42+
<ApplicationType>Linux</ApplicationType>
43+
<ApplicationTypeRevision>1.0</ApplicationTypeRevision>
44+
<TargetLinuxPlatform>Generic</TargetLinuxPlatform>
45+
<LinuxProjectType>{D51BCBC9-82E9-4017-911E-C93873C4EA2B}</LinuxProjectType>
46+
</PropertyGroup>
47+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
48+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
49+
<UseDebugLibraries>true</UseDebugLibraries>
50+
</PropertyGroup>
51+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
52+
<UseDebugLibraries>false</UseDebugLibraries>
53+
</PropertyGroup>
54+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'" Label="Configuration">
55+
<UseDebugLibraries>true</UseDebugLibraries>
56+
</PropertyGroup>
57+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'" Label="Configuration">
58+
<UseDebugLibraries>false</UseDebugLibraries>
59+
</PropertyGroup>
60+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
61+
<UseDebugLibraries>true</UseDebugLibraries>
62+
</PropertyGroup>
63+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
64+
<UseDebugLibraries>false</UseDebugLibraries>
65+
</PropertyGroup>
66+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
67+
<UseDebugLibraries>false</UseDebugLibraries>
68+
</PropertyGroup>
69+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
70+
<UseDebugLibraries>true</UseDebugLibraries>
71+
</PropertyGroup>
72+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
73+
<ImportGroup Label="ExtensionSettings" />
74+
<ImportGroup Label="Shared" />
75+
<ImportGroup Label="PropertySheets" />
76+
<PropertyGroup Label="UserMacros" />
77+
<ItemGroup>
78+
<ClCompile Include="ansi_escapes.c" />
79+
<ClCompile Include="linuxMouseInteraction.c" />
80+
<ClCompile Include="simon.c" />
81+
</ItemGroup>
82+
<ItemGroup>
83+
<ClInclude Include="ansi_escapes.h" />
84+
<ClInclude Include="linuxMouseInteraction.h" />
85+
</ItemGroup>
86+
<ItemDefinitionGroup />
87+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
88+
<ImportGroup Label="ExtensionTargets" />
89+
</Project>

Simon (Linux)/ansi_escapes.c

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
#ifdef _WIN32
2+
#define _CRT_SECURE_NO_WARNINGS 1
3+
#include <windows.h>
4+
#else
5+
#include <termios.h>
6+
#include <unistd.h>
7+
#endif
8+
9+
#include <stdio.h>
10+
#include <stdlib.h>
11+
12+
#ifdef _WIN32
13+
// Some old MinGW/CYGWIN distributions don't define this:
14+
#ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING
15+
#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
16+
#endif
17+
18+
static HANDLE stdoutHandle, stdinHandle;
19+
static DWORD outModeInit, inModeInit;
20+
21+
void setupConsole(void) {
22+
DWORD outMode = 0, inMode = 0;
23+
stdoutHandle = GetStdHandle(STD_OUTPUT_HANDLE);
24+
stdinHandle = GetStdHandle(STD_INPUT_HANDLE);
25+
26+
if (stdoutHandle == INVALID_HANDLE_VALUE || stdinHandle == INVALID_HANDLE_VALUE) {
27+
exit(GetLastError());
28+
}
29+
30+
if (!GetConsoleMode(stdoutHandle, &outMode) || !GetConsoleMode(stdinHandle, &inMode)) {
31+
exit(GetLastError());
32+
}
33+
34+
outModeInit = outMode;
35+
inModeInit = inMode;
36+
37+
// Enable ANSI escape codes
38+
outMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
39+
40+
// Set stdin as no echo and unbuffered
41+
inMode &= ~(ENABLE_ECHO_INPUT | ENABLE_LINE_INPUT);
42+
43+
if (!SetConsoleMode(stdoutHandle, outMode) || !SetConsoleMode(stdinHandle, inMode)) {
44+
exit(GetLastError());
45+
}
46+
}
47+
48+
void restoreConsoleMode(void) {
49+
if (!SetConsoleMode(stdoutHandle, outModeInit) || !SetConsoleMode(stdinHandle, inModeInit)) {
50+
exit(GetLastError());
51+
}
52+
}
53+
54+
void restoreConsole(void) {
55+
// Reset colors
56+
printf("\x1b[0m");
57+
58+
// Reset console mode
59+
if (!SetConsoleMode(stdoutHandle, outModeInit) || !SetConsoleMode(stdinHandle, inModeInit)) {
60+
exit(GetLastError());
61+
}
62+
}
63+
#else
64+
65+
static struct termios orig_term;
66+
static struct termios new_term;
67+
68+
void setupConsole(void) {
69+
tcgetattr(STDIN_FILENO, &orig_term);
70+
new_term = orig_term;
71+
72+
new_term.c_lflag &= ~(ICANON | ECHO);
73+
74+
tcsetattr(STDIN_FILENO, TCSANOW, &new_term);
75+
}
76+
77+
void restoreConsole(void) {
78+
// Reset colors
79+
printf("\x1b[0m");
80+
81+
// Reset console mode
82+
tcsetattr(STDIN_FILENO, TCSANOW, &orig_term);
83+
}
84+
#endif
85+
86+
void getCursorPosition(int* row, int* col) {
87+
printf("\x1b[6n");
88+
char buff[128];
89+
int indx = 0;
90+
for (;;) {
91+
int cc = getchar();
92+
buff[indx] = (char)cc;
93+
indx++;
94+
if (cc == 'R') {
95+
buff[indx + 1] = '\0';
96+
break;
97+
}
98+
}
99+
sscanf(buff, "\x1b[%d;%dR", row, col);
100+
fseek(stdin, 0, SEEK_END);
101+
}

0 commit comments

Comments
 (0)