diff --git a/src/controllers/duelController.go b/src/controllers/duelController.go index 813aa04..c44c10b 100644 --- a/src/controllers/duelController.go +++ b/src/controllers/duelController.go @@ -45,42 +45,42 @@ func (s *DuelController) StartMatch(c tele.Context) error { } var text string + user := s.DC.GetUser(s.PlayerOne.ID) - if strings.Contains(c.Text(), " ") { + if strings.Contains(c.Data(), " ") { text = strings.Split(c.Text(), " ")[1] - fmt.Println("new command", text) + fmt.Println("Ставка", text) } else { + s.Inited = false return c.Send("Некоректная команда, используйте /duel <сумма>") } summ, err := strconv.Atoi(text) if err != nil { + s.Inited = false return c.Send("Некорректная команда, используйте /duel <сумма>") - } else { - s.Summ = summ } - if summ <= 0 { - return c.Send("Некорректная сумма, используйте положительное значение!") - } - - s.Inited = true - s.PlayerOne.ID = c.Sender().ID - s.PlayerOne.FName = c.Sender().FirstName - - user := s.DC.GetUser(s.PlayerOne.ID) - if user.DickSize < summ { + s.Inited = false return c.Send("У вас недостаточно длинный пенис для состязания!") } + s.PlayerOne.ID = c.Sender().ID + s.PlayerOne.FName = c.Sender().FirstName + s.Inited = true + return c.Send(fmt.Sprintf("%s начал дуель, ставка: %d", s.PlayerOne.FName, summ)) } // Accept Match func (s *DuelController) AcceptMatch(c tele.Context) error { if !s.Inited { - return c.Send("Дуэль еще не началась! Дождитесь старта матча или начните новую дуель с помощью /duel <сумма>") + return c.Send("Дуэль еще не началась! Дождитесь старта или начните новую дуель с помощью /duel <сумма>") + } + + if s.Summ <= 0 { + return c.Send("Некорректная сумма, используйте положительное значение!") } s.PlayerTwo.ID = c.Sender().ID @@ -104,44 +104,38 @@ func (s *DuelController) AcceptMatch(c tele.Context) error { // Start Game func (s *DuelController) gameProccess(r tele.Recipient) { - time.Sleep(time.Second * 3) - s.Bot.Send(r, fmt.Sprintf("Дуэль началась!\nНа кону: %d", s.Summ)) - s.RoundOne(r) -} + msg, _ := s.Bot.Send(r, fmt.Sprintf("Дуэль началась!\nНа кону: %d", s.Summ)) -// Round One -func (s *DuelController) RoundOne(r tele.Recipient) { + // round 1 time.Sleep(time.Second * 3) + s.PlayerOne.Counter += rand.Intn(11) + 1 s.PlayerTwo.Counter += rand.Intn(11) + 1 - s.Bot.Send(r, + s.Bot.Edit(msg, fmt.Sprintf("Результаты первого раунда\n%s: %d очков.\n%s: %d очков.", s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter), ) - s.RoundTwo(r) -} -// Round Two -func (s *DuelController) RoundTwo(r tele.Recipient) { + // round 2 time.Sleep(time.Second * 3) + s.PlayerOne.Counter += rand.Intn(11) + 1 s.PlayerTwo.Counter += rand.Intn(11) + 1 - s.Bot.Send(r, + s.Bot.Edit(msg, fmt.Sprintf("Результаты второго раунда\n%s: %d очков.\n%s: %d очков.", s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter), ) - s.RoundThree(r) -} -// Round Three -func (s *DuelController) RoundThree(r tele.Recipient) { + // round 3 time.Sleep(time.Second * 3) + s.PlayerOne.Counter += rand.Intn(11) + 1 s.PlayerTwo.Counter += rand.Intn(11) + 1 - s.Bot.Send(r, + s.Bot.Edit(msg, fmt.Sprintf("Результаты третьего раунда\n%s: %d очков.\n%s: %d очков.", s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter), ) + s.CheckWin(r) }