tank_stat.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // package tank_stat -- статистика бота
  2. package tank_stat
  3. import (
  4. . "wartank/app/lev0/types"
  5. "wartank/app/lev1/stat_param"
  6. )
  7. // ТанкСтат -- статические параметры танка
  8. type ТанкСтат struct {
  9. конт ИБотКонтекст
  10. атака ИСтатПарам
  11. точность ИСтатПарам
  12. прочность ИСтатПарам
  13. броня ИСтатПарам
  14. power ИСтатПарам // Танковая мощь (может не совпадать по сумме, если есть усиление)
  15. усиление ИСтатПарам
  16. }
  17. // НовТанкСтат -- возвращает новый *TankStat
  18. func НовТанкСтат(конт ИБотКонтекст) *ТанкСтат {
  19. сам := &ТанкСтат{
  20. конт: конт,
  21. атака: stat_param.НовСтатПарам("атака"),
  22. точность: stat_param.НовСтатПарам("точность"),
  23. прочность: stat_param.НовСтатПарам("прочность"),
  24. броня: stat_param.НовСтатПарам("броня"),
  25. power: stat_param.НовСтатПарам("мощь"),
  26. усиление: stat_param.НовСтатПарам("усиление"),
  27. }
  28. return сам
  29. }
  30. // Атака -- возвращает объект силы атаки
  31. func (сам *ТанкСтат) Атака() ИСтатПарам {
  32. return сам.атака
  33. }
  34. // Прочность -- возвращает объект прочности танка
  35. func (сам *ТанкСтат) Прочность() ИСтатПарам {
  36. return сам.броня
  37. }
  38. // Точность -- возвращает объект точности танка
  39. func (сам *ТанкСтат) Точность() ИСтатПарам {
  40. return сам.точность
  41. }
  42. // Броня -- возвращает объект брони танка
  43. func (сам *ТанкСтат) Броня() ИСтатПарам {
  44. return сам.прочность
  45. }
  46. // Мощь -- возвращает объект мощи танка
  47. func (сам *ТанкСтат) Мощь() ИСтатПарам {
  48. return сам.power
  49. }
  50. // Форсаж -- возвращает объект форсированного параметра
  51. func (сам *ТанкСтат) Форсаж() ИСтатПарам {
  52. return сам.усиление
  53. }
  54. // Форсаж -- возвращает объект форсированного параметра
  55. func (сам *ТанкСтат) ФорсажОбнов(парам string, знач int) {
  56. сам.усиление = stat_param.НовСтатПарам("усиление")
  57. сам.усиление.Уст(знач)
  58. }