fixed hangman look

This commit is contained in:
Toastie 2025-03-28 21:21:31 +13:00
parent ea1c8c56e3
commit 69f45cd592
Signed by: toastie_t0ast
GPG key ID: 0861BE54AD481DC7

View file

@ -10,44 +10,54 @@ public partial class Games
[Cmd] [Cmd]
[RequireContext(ContextType.Guild)] [RequireContext(ContextType.Guild)]
public async Task Hangmanlist() public async Task Hangmanlist()
=> await Response().Confirm(GetText(strs.hangman_types(prefix)), _service.GetHangmanTypes().Join('\n')).SendAsync(); => await Response().Confirm(GetText(strs.hangman_types(prefix)), _service.GetHangmanTypes().Join('\n'))
.SendAsync();
private static string Draw(HangmanGame.State state) private static string Draw(HangmanGame.State state)
=> $""" {
. var head = state.Errors >= 1 ? "O" : " ";
................ var torso = state.Errors >= 2 ? "|" : " ";
................ var leftArm = state.Errors >= 3 ? "/" : " ";
.{(state.Errors > 0 ? ".............😲" : "")} var rightArm = state.Errors >= 4 ? "\\" : " ";
.{(state.Errors > 1 ? "............./" : "")} {(state.Errors > 2 ? "|" : "")} {(state.Errors > 3 ? "\\" : "")} var leftLeg = state.Errors >= 5 ? "/" : " ";
.{(state.Errors > 4 ? "............../" : "")} {(state.Errors > 5 ? "\\" : "")} var rightLeg = state.Errors >= 6 ? "\\" : " ";
/-\
"""; return $"""
```
{head}
{leftArm} {torso} {rightArm}
{leftLeg} {rightLeg}
```
""";
}
public static EmbedBuilder GetEmbed(IMessageSenderService sender, HangmanGame.State state) public static EmbedBuilder GetEmbed(IMessageSenderService sender, HangmanGame.State state)
{ {
if (state.Phase == HangmanGame.Phase.Running) if (state.Phase == HangmanGame.Phase.Running)
{ {
return sender.CreateEmbed() return sender.CreateEmbed()
.WithOkColor() .WithOkColor()
.AddField("Hangman", Draw(state)) .AddField("Hangman", Draw(state))
.AddField("Guess", Format.Code(state.Word)) .AddField("Guess", Format.Code(state.Word))
.WithFooter(state.MissedLetters.Join(' ')); .WithFooter(state.MissedLetters.Join(' '));
} }
if (state.Phase == HangmanGame.Phase.Ended && state.Failed) if (state.Phase == HangmanGame.Phase.Ended && state.Failed)
{ {
return sender.CreateEmbed() return sender.CreateEmbed()
.WithErrorColor() .WithErrorColor()
.AddField("Hangman", Draw(state)) .AddField("Hangman", Draw(state))
.AddField("Guess", Format.Code(state.Word)) .AddField("Guess", Format.Code(state.Word))
.WithFooter(state.MissedLetters.Join(' ')); .WithFooter(state.MissedLetters.Join(' '));
} }
return sender.CreateEmbed() return sender.CreateEmbed()
.WithOkColor() .WithOkColor()
.AddField("Hangman", Draw(state)) .AddField("Hangman", Draw(state))
.AddField("Guess", Format.Code(state.Word)) .AddField("Guess", Format.Code(state.Word))
.WithFooter(state.MissedLetters.Join(' ')); .WithFooter(state.MissedLetters.Join(' '));
} }
[Cmd] [Cmd]