ladder_defs.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package proto
  2. // 连胜加分
  3. type ConsecutiveWinPoint struct {
  4. Count int // 连胜次数
  5. AddictionalPoint int // 额外分数
  6. }
  7. type LadderInfo struct {
  8. Ladder int // 所在段位
  9. Level int // 段位等级
  10. Star int // 星星数量
  11. }
  12. func (li *LadderInfo) IsChanged(old LadderInfo) bool {
  13. if li.Ladder != old.Ladder {
  14. return true
  15. }
  16. if li.Level != old.Level {
  17. return true
  18. }
  19. if li.Star != old.Star {
  20. return true
  21. }
  22. return false
  23. }
  24. type UserLadderInfo struct {
  25. LadderInfo
  26. Point int // 分数
  27. MaxConWin int // 最大连胜
  28. WinCount int // 赢
  29. LoseCount int // 输
  30. DrawCount int // 平
  31. CurConWin int // 当前累计连胜
  32. Records []WinningStreak // 结算的连胜记录
  33. }
  34. type LadderConfig struct {
  35. Ladder int // id,用于前端标记
  36. Name string // 名称
  37. Levels []LevelConfig
  38. }
  39. type LevelConfig struct {
  40. Level int
  41. Stars []StarConfig
  42. }
  43. type StarConfig struct {
  44. Star int
  45. Point int
  46. }
  47. type GameRoomInfo struct {
  48. GameId int
  49. BaseScore int // 底分
  50. MinGold int // 最小携带
  51. MaxGold int // 最大携带 0不限制
  52. AdditionalPercent int // 加成
  53. ServerAddr string // 服务器地址
  54. RoomName string // 坐下规则名称
  55. GameRule string // 详细规则
  56. }
  57. // 结算记录
  58. type SettlementRecord struct {
  59. TotalPoint int // 总分数
  60. WinNumber int // 胜利次数
  61. WinPoint int // 赢的分数
  62. LoseNumber int // 失败次数
  63. LosePoint int // 输的分数
  64. Records []WinningStreak // 连胜记录
  65. AdditionalPercent int // 加成
  66. }
  67. // 连胜记录
  68. type WinningStreak struct {
  69. Point int // 分数
  70. WinCount int // 胜利次数
  71. WinType int // 连胜类型
  72. }