tankstat.go 2.0 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.IStatParam // Сила атаки танка
  13. fyne types.IStatParam // Точность танка
  14. armor types.IStatParam // Броня танка
  15. hard types.IStatParam // Броня танка
  16. power types.IStatParam // Танковая мощь (может не совпадать по сумме, если есть усиление)
  17. force types.IStatParam
  18. }
  19. // NewTankStat -- возвращает новый *TankStat
  20. func NewTankStat() *TankStat {
  21. sf := &TankStat{
  22. attack: static_param.NewStaticParam("attack"),
  23. fyne: static_param.NewStaticParam("fyne"),
  24. armor: static_param.NewStaticParam("armor"),
  25. hard: static_param.NewStaticParam("hard"),
  26. power: static_param.NewStaticParam("power"),
  27. force: static_param.NewStaticParam("force"),
  28. }
  29. return sf
  30. }
  31. // Attack -- возвращает объект силы атаки
  32. func (sf *TankStat) Attack() types.IStatParam {
  33. return sf.attack
  34. }
  35. // Hard -- возвращает объект прочности танка
  36. func (sf *TankStat) Hard() types.IStatParam {
  37. return sf.hard
  38. }
  39. // Fyne -- возвращает объект точности танка
  40. func (sf *TankStat) Fyne() types.IStatParam {
  41. return sf.fyne
  42. }
  43. // Armor -- возвращает объект брони танка
  44. func (sf *TankStat) Armor() types.IStatParam {
  45. return sf.armor
  46. }
  47. // Power -- возвращает объект мощи танка
  48. func (sf *TankStat) Power() types.IStatParam {
  49. return sf.power
  50. }
  51. // Force -- возвращает объект форсированного параметра
  52. func (sf *TankStat) Force() types.IStatParam {
  53. return sf.force
  54. }