tank_stat.go 2.9 KB

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