hacky quick preview works, commented out command init
This commit is contained in:
parent
f6f75c6982
commit
d657c8a071
@ -1,7 +1,8 @@
|
|||||||
using Discord;
|
using Discord;
|
||||||
using Discord.Commands;
|
using Discord.Commands;
|
||||||
using NadekoBot.Commands;
|
using NadekoBot.Commands;
|
||||||
using System.Linq;
|
using System.Text;
|
||||||
|
using System.Timers;
|
||||||
using static NadekoBot.Modules.Games.Commands.Bomberman;
|
using static NadekoBot.Modules.Games.Commands.Bomberman;
|
||||||
|
|
||||||
namespace NadekoBot.Modules.Games.Commands
|
namespace NadekoBot.Modules.Games.Commands
|
||||||
@ -12,7 +13,12 @@ namespace NadekoBot.Modules.Games.Commands
|
|||||||
|
|
||||||
public BombermanPlayer[] players = new BombermanPlayer[4];
|
public BombermanPlayer[] players = new BombermanPlayer[4];
|
||||||
|
|
||||||
public Channel gameChannel;
|
public Channel gameChannel = null;
|
||||||
|
|
||||||
|
public Message godMsg = null;
|
||||||
|
|
||||||
|
public int curI = 5;
|
||||||
|
public int curJ = 5;
|
||||||
|
|
||||||
|
|
||||||
public Bomberman(DiscordModule module) : base(module)
|
public Bomberman(DiscordModule module) : base(module)
|
||||||
@ -26,33 +32,81 @@ namespace NadekoBot.Modules.Games.Commands
|
|||||||
}
|
}
|
||||||
NadekoBot.Client.MessageReceived += (s, e) =>
|
NadekoBot.Client.MessageReceived += (s, e) =>
|
||||||
{
|
{
|
||||||
if (e.Channel != gameChannel)
|
if (e.Channel != gameChannel ||
|
||||||
|
e.User.Id == NadekoBot.Client.CurrentUser.Id)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (e.Message.Text == "a")
|
if (e.Message.Text == "w")
|
||||||
players.Where(p => p.User == e.User).FirstOrDefault()?.MoveLeft();
|
{
|
||||||
|
board[curI - 1, curJ] = board[curI--, curJ];
|
||||||
|
board[curI + 1, curJ].player = null;
|
||||||
|
}
|
||||||
|
else if (e.Message.Text == "s")
|
||||||
|
{
|
||||||
|
board[curI + 1, curJ] = board[curI++, curJ];
|
||||||
|
board[curI - 1, curJ].player = null;
|
||||||
|
}
|
||||||
|
else if (e.Message.Text == "a")
|
||||||
|
{
|
||||||
|
board[curI, curJ - 1] = board[curI, curJ--];
|
||||||
|
board[curI, curJ + 1].player = null;
|
||||||
|
}
|
||||||
|
else if (e.Message.Text == "d")
|
||||||
|
{
|
||||||
|
board[curI, curJ + 1] = board[curI, curJ++];
|
||||||
|
board[curI, curJ - 1].player = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
e.Message.Delete();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var t = new Timer();
|
||||||
|
t.Elapsed += async (s, e) =>
|
||||||
|
{
|
||||||
|
if (gameChannel == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var boardStr = new StringBuilder();
|
||||||
|
|
||||||
|
for (int i = 0; i < 15; i++)
|
||||||
|
{
|
||||||
|
for (int j = 0; j < 15; j++)
|
||||||
|
{
|
||||||
|
boardStr.Append(board[i, j].ToString());
|
||||||
|
}
|
||||||
|
boardStr.AppendLine();
|
||||||
|
}
|
||||||
|
if (godMsg.Id != 0)
|
||||||
|
await godMsg.Edit(boardStr.ToString());
|
||||||
|
|
||||||
|
};
|
||||||
|
t.Interval = 1000;
|
||||||
|
t.Start();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override void Init(CommandGroupBuilder cgb)
|
internal override void Init(CommandGroupBuilder cgb)
|
||||||
{
|
{
|
||||||
//cgb.CreateCommand(Module.Prefix + "bomb")
|
//cgb.CreateCommand(Module.Prefix + "bomb")
|
||||||
// .Description("Bomberman start")
|
// .Description("Bomberman start")
|
||||||
// .Do(e =>
|
// .Do(async e =>
|
||||||
// {
|
// {
|
||||||
// if (gameChannel != null)
|
// if (gameChannel != null)
|
||||||
// return;
|
// return;
|
||||||
|
// godMsg = await e.Channel.SendMessage("GAME START IN 1 SECOND....");
|
||||||
// gameChannel = e.Channel;
|
// gameChannel = e.Channel;
|
||||||
// players[0] = new BombermanPlayer
|
// players[0] = new BombermanPlayer
|
||||||
// {
|
// {
|
||||||
// User = e.User,
|
// User = e.User,
|
||||||
// };
|
// };
|
||||||
|
|
||||||
|
// board[5, 5].player = players[0];
|
||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
public class BombermanPlayer
|
public class BombermanPlayer
|
||||||
{
|
{
|
||||||
public User User;
|
public User User = null;
|
||||||
public string Icon = "👳";
|
public string Icon = "👳";
|
||||||
|
|
||||||
internal void MoveLeft()
|
internal void MoveLeft()
|
||||||
@ -62,13 +116,9 @@ namespace NadekoBot.Modules.Games.Commands
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class Field
|
internal struct Field
|
||||||
{
|
{
|
||||||
public BombermanPlayer player = null;
|
public BombermanPlayer player;
|
||||||
|
|
||||||
public Field()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public override string ToString() => player?.Icon ?? "⬜";
|
public override string ToString() => player?.Icon ?? "⬜";
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user