Skip to content

Commit

Permalink
- implemented manual mode
Browse files Browse the repository at this point in the history
 - code cleanup
  • Loading branch information
RonSijm committed Jan 7, 2023
1 parent 5ecde19 commit 49bf769
Show file tree
Hide file tree
Showing 31 changed files with 350 additions and 265 deletions.
5 changes: 2 additions & 3 deletions RonSijm.ButtFish.Tests/FENToAsciiTest.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
using FluentAssertions;
using RonSijm.ButtFish.Ascii;


// ReSharper disable StringLiteralTypo
namespace RonSijm.ButtFish.Tests;

public class FENToAsciiTest
Expand Down
4 changes: 3 additions & 1 deletion RonSijm.ButtFish.Tests/Properties/GlobalUsings.cs
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
global using Xunit;
global using Xunit;
global using FluentAssertions;
global using RonSijm.ButtFish.Ascii;
4 changes: 2 additions & 2 deletions RonSijm.ButtFish.Tests/RonSijm.ButtFish.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
Expand All @@ -10,7 +10,7 @@

<ItemGroup>
<PackageReference Include="FluentAssertions" Version="6.8.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
10 changes: 4 additions & 6 deletions RonSijm.ButtFish/Ascii/AsciiToColerfulOutput.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
using System.Drawing;

namespace RonSijm.ButtFish.Ascii;
namespace RonSijm.ButtFish.Ascii;

public static class AsciiToColorfulOutput
{
Expand All @@ -10,16 +8,16 @@ public static void AsciiToConsole(string ascii)
{
if (char.IsUpper(character))
{
Colorful.Console.Write(character, Color.DarkSeaGreen);
Console.Write(character, Color.DarkSeaGreen);
}
else if (char.IsLower(character))
{
Colorful.Console.Write(character, Color.CornflowerBlue);
Console.Write(character, Color.CornflowerBlue);
}
else
{

Colorful.Console.Write(character, Color.SaddleBrown);
Console.Write(character, Color.SaddleBrown);
}
}
}
Expand Down
6 changes: 2 additions & 4 deletions RonSijm.ButtFish/Ascii/FENToOutputFacade.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
using System.Drawing;

namespace RonSijm.ButtFish.Ascii;
namespace RonSijm.ButtFish.Ascii;

public static class FENToOutputFacade
{
Expand All @@ -23,7 +21,7 @@ public static bool PaintBoard(string fenPosition)
}
catch (Exception e)
{
Colorful.Console.WriteLine($"Error: {e}", Color.Red);
Console.WriteLine($"Error: {e}", Color.Red);
return false;
}
}
Expand Down
25 changes: 12 additions & 13 deletions RonSijm.ButtFish/Ascii/LoopHelper.cs
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
namespace RonSijm.ButtFish.Ascii
namespace RonSijm.ButtFish.Ascii;

internal static class Loop
{
internal static class Loop
internal static IEnumerable<int> Between(int minValue, int maxValue, bool inverted)
{
internal static IEnumerable<int> Between(int minValue, int maxValue, bool inverted)
if (!inverted)
{
if (!inverted)
for (var i = minValue; i < maxValue; i++)
{
for (var i = minValue; i < maxValue; i++)
{
yield return i;
}
yield return i;
}
else
}
else
{
for (var i = maxValue - 1; i >= minValue; i--)
{
for (var i = maxValue - 1; i >= minValue; i--)
{
yield return i;
}
yield return i;
}
}
}
Expand Down
162 changes: 0 additions & 162 deletions RonSijm.ButtFish/ButtFishCore.cs

This file was deleted.

6 changes: 2 additions & 4 deletions RonSijm.ButtFish/Connectors/ButtplugConnector.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
using System.Drawing;
using Buttplug;
using RonSijm.ButtFish.Models;
using Buttplug;

namespace RonSijm.ButtFish.Connectors;

Expand All @@ -12,7 +10,7 @@ public async Task<List<IDeviceAbstraction>> GetDiscoveredDevices(string discover
{
Console.WriteLine(discoverAddress == null ? "Starting to scan for ButtPlug Devices..." : $"Attempting to connect to {discoverAddress}...");

Colorful.Console.WriteLine("Will return results after 5 seconds.", Color.Green);
Console.WriteLine("Will return results after 5 seconds.", Color.Green);

if (discoverAddress == null)
{
Expand Down
4 changes: 1 addition & 3 deletions RonSijm.ButtFish/Connectors/DeviceConnector.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
using RonSijm.ButtFish.Models;

namespace RonSijm.ButtFish.Connectors;
namespace RonSijm.ButtFish.Connectors;

public class DeviceConnector
{
Expand Down
3 changes: 1 addition & 2 deletions RonSijm.ButtFish/Connectors/YeelightConnector.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using RonSijm.ButtFish.Models;
using YeelightAPI;
using YeelightAPI;

namespace RonSijm.ButtFish.Connectors;

Expand Down
43 changes: 43 additions & 0 deletions RonSijm.ButtFish/DeviceBroadcaster.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
namespace RonSijm.ButtFish;

public class DeviceBroadcaster
{
private readonly ICharacterEncoder _characterEncoder;

public DeviceBroadcaster(ICharacterEncoder characterEncoder)
{
_characterEncoder = characterEncoder;
}

public async Task SendNextMoveToDevice(string nextPosition, IList<IDeviceAbstraction> devices)
{
Console.WriteLine(nextPosition);

foreach (var nextPositionChar in nextPosition)
{
var morseCodeForChar = _characterEncoder.EncodeCharacter(nextPositionChar);

if (morseCodeForChar == null)
{
continue;
}

Console.Write($"({nextPositionChar})");

foreach (var durationToSend in morseCodeForChar.Select(morseCodeChar => morseCodeChar == '.' ? TimeUnitConfig.DotTime : TimeUnitConfig.DashTime))
{
Task.WaitAll(devices.Select(device => device.SendDuration(durationToSend)).ToArray());

// Wait 1 time unit
Console.Write(" ");
await Task.Delay(TimeUnitConfig.SpaceBetweenSymbols);
}

// wait 3 time units
await Task.Delay(TimeUnitConfig.SpaceBetweenLetters);
}

Console.WriteLine();
Console.WriteLine("Finished sending command to device.", Color.Green);
}
}

0 comments on commit 49bf769

Please sign in to comment.