Замена предыдущего сообщения вместо нового
This commit is contained in:
@@ -2,6 +2,7 @@ package controllers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -105,62 +106,65 @@ func (s *DuelController) AcceptMatch(c tele.Context) error {
|
|||||||
// Start Game
|
// Start Game
|
||||||
func (s *DuelController) gameProccess(r tele.Recipient) {
|
func (s *DuelController) gameProccess(r tele.Recipient) {
|
||||||
time.Sleep(time.Second * 3)
|
time.Sleep(time.Second * 3)
|
||||||
s.Bot.Send(r, fmt.Sprintf("Дуэль началась!\nНа кону: %d", s.Summ))
|
msg, err := s.Bot.Send(r, fmt.Sprintf("Дуэль началась!\nНа кону: %d", s.Summ))
|
||||||
s.RoundOne(r)
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
s.RoundOne(msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Round One
|
// Round One
|
||||||
func (s *DuelController) RoundOne(r tele.Recipient) {
|
func (s *DuelController) RoundOne(msg *tele.Message) {
|
||||||
time.Sleep(time.Second * 3)
|
time.Sleep(time.Second * 3)
|
||||||
s.PlayerOne.Counter += rand.Intn(11) + 1
|
s.PlayerOne.Counter += rand.Intn(11) + 1
|
||||||
s.PlayerTwo.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 очков.",
|
fmt.Sprintf("Результаты первого раунда\n%s: %d очков.\n%s: %d очков.",
|
||||||
s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter),
|
s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter),
|
||||||
)
|
)
|
||||||
s.RoundTwo(r)
|
s.RoundTwo(msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Round Two
|
// Round Two
|
||||||
func (s *DuelController) RoundTwo(r tele.Recipient) {
|
func (s *DuelController) RoundTwo(msg *tele.Message) {
|
||||||
time.Sleep(time.Second * 3)
|
time.Sleep(time.Second * 3)
|
||||||
s.PlayerOne.Counter += rand.Intn(11) + 1
|
s.PlayerOne.Counter += rand.Intn(11) + 1
|
||||||
s.PlayerTwo.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 очков.",
|
fmt.Sprintf("Результаты второго раунда\n%s: %d очков.\n%s: %d очков.",
|
||||||
s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter),
|
s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter),
|
||||||
)
|
)
|
||||||
s.RoundThree(r)
|
s.RoundThree(msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Round Three
|
// Round Three
|
||||||
func (s *DuelController) RoundThree(r tele.Recipient) {
|
func (s *DuelController) RoundThree(msg *tele.Message) {
|
||||||
time.Sleep(time.Second * 3)
|
time.Sleep(time.Second * 3)
|
||||||
s.PlayerOne.Counter += rand.Intn(11) + 1
|
s.PlayerOne.Counter += rand.Intn(11) + 1
|
||||||
s.PlayerTwo.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 очков.",
|
fmt.Sprintf("Результаты третьего раунда\n%s: %d очков.\n%s: %d очков.",
|
||||||
s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter),
|
s.PlayerOne.FName, s.PlayerOne.Counter, s.PlayerTwo.FName, s.PlayerTwo.Counter),
|
||||||
)
|
)
|
||||||
s.CheckWin(r)
|
s.CheckWin(msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check Win
|
// Check Win
|
||||||
func (s *DuelController) CheckWin(r tele.Recipient) {
|
func (s *DuelController) CheckWin(msg *tele.Message) {
|
||||||
userOne := s.DC.GetUser(s.PlayerOne.ID)
|
userOne := s.DC.GetUser(s.PlayerOne.ID)
|
||||||
userTwo := s.DC.GetUser(s.PlayerTwo.ID)
|
userTwo := s.DC.GetUser(s.PlayerTwo.ID)
|
||||||
time.Sleep(time.Second * 3)
|
time.Sleep(time.Second * 3)
|
||||||
|
|
||||||
if s.PlayerOne.Counter > s.PlayerTwo.Counter {
|
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(userOne.ID, userOne.DickSize+(s.Summ/2))
|
||||||
s.DC.UpdateDick(userTwo.ID, userTwo.DickSize-(s.Summ/2))
|
s.DC.UpdateDick(userTwo.ID, userTwo.DickSize-(s.Summ/2))
|
||||||
} else if s.PlayerOne.Counter < s.PlayerTwo.Counter {
|
} 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(userOne.ID, userOne.DickSize-(s.Summ/2))
|
||||||
s.DC.UpdateDick(userTwo.ID, userTwo.DickSize+(s.Summ/2))
|
s.DC.UpdateDick(userTwo.ID, userTwo.DickSize+(s.Summ/2))
|
||||||
} else if s.PlayerOne.Counter == s.PlayerTwo.Counter {
|
} else if s.PlayerOne.Counter == s.PlayerTwo.Counter {
|
||||||
s.Bot.Send(r, "Ничья!")
|
s.Bot.Edit(msg, "Ничья!")
|
||||||
}
|
}
|
||||||
|
|
||||||
s.PlayerOne.Counter = 0
|
s.PlayerOne.Counter = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user