From 64c3b742cce95279a10acd582211eaeccb773a58 Mon Sep 17 00:00:00 2001 From: Smile Rex Date: Sat, 25 Jan 2025 19:52:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D0=BD=D0=B0=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D1=8B=D0=B4=D1=83=D1=89=D0=B5=D0=B3=D0=BE=20?= =?UTF-8?q?=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2?= =?UTF-8?q?=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/duelController.go | 34 +++++++++++++++++-------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/controllers/duelController.go b/src/controllers/duelController.go index 476855c..cc8b3b1 100644 --- a/src/controllers/duelController.go +++ b/src/controllers/duelController.go @@ -2,6 +2,7 @@ package controllers import ( "fmt" + "log" "math/rand" "strconv" "strings" @@ -105,62 +106,65 @@ 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, err := s.Bot.Send(r, fmt.Sprintf("Дуэль началась!\nНа кону: %d", s.Summ)) + if err != nil { + log.Fatal(err) + } + s.RoundOne(msg) } // Round One -func (s *DuelController) RoundOne(r tele.Recipient) { +func (s *DuelController) RoundOne(msg *tele.Message) { time.Sleep(time.Second * 3) s.PlayerOne.Counter += rand.Intn(11) + 1 s.PlayerTwo.Counter += rand.Intn(11) + 1 - s.Bot.Send(r, + msg, _ = 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) + s.RoundTwo(msg) } // Round Two -func (s *DuelController) RoundTwo(r tele.Recipient) { +func (s *DuelController) RoundTwo(msg *tele.Message) { time.Sleep(time.Second * 3) s.PlayerOne.Counter += rand.Intn(11) + 1 s.PlayerTwo.Counter += rand.Intn(11) + 1 - s.Bot.Send(r, + msg, _ = 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) + s.RoundThree(msg) } // Round Three -func (s *DuelController) RoundThree(r tele.Recipient) { +func (s *DuelController) RoundThree(msg *tele.Message) { time.Sleep(time.Second * 3) s.PlayerOne.Counter += rand.Intn(11) + 1 s.PlayerTwo.Counter += rand.Intn(11) + 1 - s.Bot.Send(r, + msg, _ = 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) + s.CheckWin(msg) } // Check Win -func (s *DuelController) CheckWin(r tele.Recipient) { +func (s *DuelController) CheckWin(msg *tele.Message) { userOne := s.DC.GetUser(s.PlayerOne.ID) userTwo := s.DC.GetUser(s.PlayerTwo.ID) time.Sleep(time.Second * 3) if s.PlayerOne.Counter > s.PlayerTwo.Counter { - s.Bot.Send(r, fmt.Sprintf("%s победил!", s.PlayerOne.FName)) + s.Bot.Edit(msg, fmt.Sprintf("%s победил!", s.PlayerOne.FName)) s.DC.UpdateDick(userOne.ID, userOne.DickSize+(s.Summ/2)) s.DC.UpdateDick(userTwo.ID, userTwo.DickSize-(s.Summ/2)) } else if s.PlayerOne.Counter < s.PlayerTwo.Counter { - s.Bot.Send(r, fmt.Sprintf("%s победил!", s.PlayerTwo.FName)) + s.Bot.Edit(msg, fmt.Sprintf("%s победил!", s.PlayerTwo.FName)) s.DC.UpdateDick(userOne.ID, userOne.DickSize-(s.Summ/2)) s.DC.UpdateDick(userTwo.ID, userTwo.DickSize+(s.Summ/2)) } else if s.PlayerOne.Counter == s.PlayerTwo.Counter { - s.Bot.Send(r, "Ничья!") + s.Bot.Edit(msg, "Ничья!") } s.PlayerOne.Counter = 0