tankstat.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package tankstat
  2. import (
  3. "wartank/pkg/types"
  4. "wartank/server/serv_bots/warbot/tank/tankstat/static_param"
  5. )
  6. /*
  7. Исходник предоставляет статические параметры танка.
  8. Броня, атака, прочность и т.п.
  9. */
  10. // TankStat -- статические параметры танка
  11. type TankStat struct {
  12. attack types.ИСтатПарам // Сила атаки танка
  13. fyne types.ИСтатПарам // Точность танка
  14. armor types.ИСтатПарам // Броня танка
  15. hard types.ИСтатПарам // Броня танка
  16. power types.ИСтатПарам // Танковая мощь (может не совпадать по сумме, если есть усиление)
  17. force types.ИСтатПарам
  18. }
  19. // NewTankStat -- возвращает новый *TankStat
  20. func NewTankStat() *TankStat {
  21. sf := &TankStat{
  22. attack: static_param.НовСтатПарам("attack"),
  23. fyne: static_param.НовСтатПарам("fyne"),
  24. armor: static_param.НовСтатПарам("armor"),
  25. hard: static_param.НовСтатПарам("hard"),
  26. power: static_param.НовСтатПарам("power"),
  27. force: static_param.НовСтатПарам("force"),
  28. }
  29. return sf
  30. }
  31. // Атака -- возвращает объект силы атаки
  32. func (sf *TankStat) Атака() types.ИСтатПарам {
  33. return sf.attack
  34. }
  35. // Прочность -- возвращает объект прочности танка
  36. func (sf *TankStat) Прочность() types.ИСтатПарам {
  37. return sf.hard
  38. }
  39. // Точность -- возвращает объект точности танка
  40. func (sf *TankStat) Точность() types.ИСтатПарам {
  41. return sf.fyne
  42. }
  43. // Броня -- возвращает объект брони танка
  44. func (sf *TankStat) Броня() types.ИСтатПарам {
  45. return sf.armor
  46. }
  47. // Мощь -- возвращает объект мощи танка
  48. func (sf *TankStat) Мощь() types.ИСтатПарам {
  49. return sf.power
  50. }
  51. // ПарамФорсаж -- возвращает объект форсированного параметра
  52. func (sf *TankStat) ПарамФорсаж() types.ИСтатПарам {
  53. return sf.force
  54. }