tank_stat.go 3.0 KB

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