Compare commits
2 commits
4c2b42ab7f
...
69f45cd592
Author | SHA1 | Date | |
---|---|---|---|
69f45cd592 | |||
ea1c8c56e3 |
2 changed files with 39 additions and 26 deletions
src/EllieBot/Modules/Games
|
@ -20,10 +20,13 @@ public sealed class FishConfigService : ConfigServiceBase<FishConfig>
|
||||||
|
|
||||||
private void Migrate()
|
private void Migrate()
|
||||||
{
|
{
|
||||||
ModifyConfig(c =>
|
if (data.Version < 2)
|
||||||
{
|
{
|
||||||
c.Version = 2;
|
ModifyConfig(c =>
|
||||||
c.RequireCaptcha = true;
|
{
|
||||||
});
|
c.Version = 2;
|
||||||
|
c.RequireCaptcha = true;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -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]
|
||||||
|
|
Loading…
Add table
Reference in a new issue