diff --git a/main.go b/main.go index ae9f881..4acb7f9 100644 --- a/main.go +++ b/main.go @@ -43,6 +43,7 @@ func main() { b.Handle("/duel", duelController.StartMatch) b.Handle("/accept", duelController.AcceptMatch) + b.Handle("/clear", duelController.ClearMatch) b.Start() } diff --git a/src/controllers/duelController.go b/src/controllers/duelController.go index cc8b3b1..d158971 100644 --- a/src/controllers/duelController.go +++ b/src/controllers/duelController.go @@ -103,6 +103,24 @@ func (s *DuelController) AcceptMatch(c tele.Context) error { return c.Send(fmt.Sprintf("%s принимает участие в дуэли.", s.PlayerTwo.FName)) } +// Clear match +func (s *DuelController) ClearMatch(c tele.Context) error { + if c.Sender().ID == s.PlayerOne.ID { + s.PlayerOne.Counter = 0 + s.PlayerTwo.Counter = 0 + s.PlayerOne.FName = "" + s.PlayerTwo.FName = "" + s.PlayerOne.ID = 0 + s.PlayerTwo.ID = 0 + s.Inited = false + s.Summ = 0 + + return c.Send(fmt.Sprintf("%s отменил дуель!", c.Sender().FirstName)) + } else { + return c.Send("Отменить дуель может только инициатор!") + } +} + // Start Game func (s *DuelController) gameProccess(r tele.Recipient) { time.Sleep(time.Second * 3)