Advertisement
Guest User

Redis Card Example

a guest
Aug 16th, 2015
692
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.72 KB | None | 0 0
  1. key: = string
  2. #key: = hash
  3. $key: = set
  4. $$key: = sortedSet
  5.  
  6.  
  7. #puzzle:guid:
  8. // #puzzle:guid:mapInfo: {"map_order": 1,
  9. // "energy_cost": 2,
  10. // "prizes": [{"coins":25000}, {"xp":100}, {"energy":4}],
  11. // "mission_ids": [1,2],
  12. // "mission_descs": ["find the blue key", "get a {11}{11}{12}{12} streak"]}
  13. #puzzle:guid:boardInfo: {"deck_size": 25, "max_score": 1200, "stars": [200, 400, 1000] }
  14. // #puzzle:guid:params: {"treasure_prob": 1.0,
  15. // "treasure_prob_erode": 0.05,
  16. // "treasure_prob_min": 0.3,
  17. // "attack_trigger_count": 5,
  18. // "attack_trigger_erode": 0.5,
  19. // "attack_trigger_max": 9,
  20. // "attack_cap": 2500}
  21. // #puzzle:guid:collectibles [ [{"type": "keys", "min": 1, "max": 1, "prob_weight": 1.0}],
  22. // [{"type": "coins", "min": 10, "max": 100, "prob_weight": 1.0}],
  23. // [{"type": "energy", "min": 1, "max": 3, "prob_weight": 0.333}, {"type": "coins", "min": 1, "max": 2, "prob_weight": 0.3333}, {"type": "xp", "min": 100, "max": 1000, "prob_weight": 0.3333}],
  24. // [{"type": "xp", "min": 100, "max": 1000, "prob_weight": 0.5}, {"type": "coins", "min": 88, "max": 123, "prob_weight": 0.5}]
  25.  
  26. // #puzzle:guid:generated: {"treasures":[{"type": "coins", "amount":23},{"type": "xp", "amount": 256}], "attack_count":4}
  27. #puzzle:guid:layout
  28. [{"type":"card","params":[{"k":"value","v":"12"},{"k":"suit","v":"H"},{"k":"z_index","v":"15"},{"k":"deck","v":"true"}],"rect":[{"x":685.5,"y":497},{"x":765.5,"y":497},{"x":765.5,"y":607},{"x":685.5,"y":607}]},
  29. {"type":"card","params":[{"k":"value","v":"1"},{"k":"suit","v":"C"},{"k":"z_index","v":"34"},{"k":"flipped","v":"true"}],"rect":[{"x":397.5,"y":145},{"x":467.5,"y":145},{"x":467.5,"y":245},{"x":397.5,"y":245}]},
  30. {"type":"card","params":[{"k":"value","v":"2"},{"k":"suit","v":"H"},{"k":"z_index","v":"35"},{"k":"flipped","v":"true"}],"rect":[{"x":397.5,"y":193},{"x":467.5,"y":193},{"x":467.5,"y":293},{"x":397.5,"y":293}]},
  31. {"type":"card","params":[{"k":"value","v":"3"},{"k":"suit","v":"H"},{"k":"z_index","v":"38"}],"rect":[{"x":429.5,"y":241},{"x":499.5,"y":241},{"x":499.5,"y":341},{"x":429.5,"y":341}]},
  32. {"type":"card","params":[{"k":"value","v":"4"},{"k":"suit","v":"S"},{"k":"z_index","v":"43"}],"rect":[{"x":349.5,"y":241},{"x":419.5,"y":241},{"x":419.5,"y":341},{"x":349.5,"y":341}]},
  33. {"type":"key","params":[],"rect":[{"x":542,"y":145},{"x":604,"y":145},{"x":604,"y":207},{"x":542,"y":207}]},{"type":"key","params":[],"rect":[{"x":542,"y":385},{"x":604,"y":385},{"x":604,"y":447},{"x":542,"y":447}]},
  34. {"type":"key","params":[],"rect":[{"x":895,"y":145},{"x":957,"y":145},{"x":957,"y":207},{"x":895,"y":207}]},{"type":"key","params":[],"rect":[{"x":895,"y":385},{"x":957,"y":385},{"x":957,"y":447},{"x":895,"y":447}]},
  35. {"type":"treasure","params":[],"rect":[{"x":398,"y":129},{"x":468,"y":129},{"x":468,"y":199},{"x":398,"y":199}]},{"type":"treasure","params":[],"rect":[{"x":398,"y":401},{"x":468,"y":401},{"x":468,"y":471},{"x":398,"y":471}]},
  36. {"type":"treasure","params":[],"rect":[{"x":718.5,"y":113},{"x":788.5,"y":113},{"x":788.5,"y":183},{"x":718.5,"y":183}]},
  37. {"type":"treasure","params":[],"rect":[{"x":718.5,"y":401},{"x":788.5,"y":401},{"x":788.5,"y":471},{"x":718.5,"y":471}]}]
  38.  
  39. #puzzle:lookup:
  40. #puzzle:lookup:1: puzzle:guid1
  41. #puzzle:lookup:2: puzzle:guid2
  42. #puzzle:lookup:3: puzzle:guid3
  43. ...
  44.  
  45. #map_order:lookup:
  46. #map_order:lookup:1: puzzle:guid1
  47. #map_order:lookup:2: puzzle:guid2
  48. #map_order:lookup:3: puzzle:guid3
  49. ...
  50.  
  51. #house:guid:
  52. #house:guid:level: 1
  53. #house:guid:benefits: {"energy_every": 1200, "energy_cap": 5, "alarm_cap": 3},
  54. #house:guid:items: [{ "type": "roof", "name": "Thatch Roof", "cost": 1000, "xp": 100},
  55. { "type": "floor","name": "Dirt Floor", "cost": 2000, "xp": 200},
  56. { "type": "furniture","name": "Wooden Chair", "cost": 200, "xp": 20},
  57. { "type": "walls", "name": "Clay Walls", "cost": 5000, "xp": 400}]
  58. #house:lookup:
  59. #house:lookup:1: house:guid1
  60. #house:lookup:2: house:guid2
  61. #house:lookup:3: house:guid3
  62. ...
  63.  
  64.  
  65. #level:
  66. #level:guid:number: 1
  67. #level:guid:from_xp: 0
  68. #level:guid:to_xp: 100
  69. #level:guid:coins: 1900
  70. #level:guid:prev_level_id: null
  71. #level:guid:energy: 5
  72. #level:guid:gift_value: 250
  73.  
  74. #level:lookup:
  75. #level:lookup:1: level:guid1
  76. #level:lookup:2: level:guid2
  77. #level:lookup:3: level:guid3
  78. ...
  79.  
  80. session:guid: EXPIRE 3600 user:guid
  81.  
  82. #user:guid:
  83. #user:guid:last_played: timestamp
  84. #user:guid:energy: 23
  85. #user:guid:balance: 125390
  86. #user:guid:xp: 13459
  87. #user:guid:alarms: 3
  88. #user:guid:base_info: {"name": "dave", "last_name": "brubeck", "image": "http:/face.jpg", "uid": "d06gxha72ds2", "network": "facebook"}
  89. #user:guid:user_items: [{"type": "roof", "name": "Thatch Roof", "cost": 300, "xp": 100, "level":1, "damaged": 3, "repair_cost": 6000},
  90. {"type": "floor", "name": "Wood floor", "cost": 0, "xp": 300, "level":2, "damaged": 0, "repair_cost": 15000},
  91. {"type": "furniture", "name": "family set", "cost": 2000, "level":2, "damaged": 1, "repair_cost": 200},
  92. { "type": "walls","name": "paper walls", "cost": 0, "level":2, "damaged": 0, "repair_cost": 0}]
  93.  
  94. #user:guid:user_status: {"level": 2 , "to_xp": 1000, "max_energy": 10, "max_alarm":3}
  95. #user:guid:energy_every: 3600
  96. #user:guid:last_energy_at: timestamp
  97. #user:guid:attack_lock: true/false
  98. #user:guid:news_log [{"action_type": "gift", "coins": 1500, "profile": "user:guid" },
  99. {"action_type": "invite", "energy": 25, "profile": "user:guid" },
  100. {"action_type": "alarm", "profile": "user:guid" },
  101. {"action_type": "attacked", "coins": 15000, "profile": "user:guid" }]
  102.  
  103. #user:guid:puzzle:
  104. [{"type":"card","params":[{"k":"value","v":"12"},{"k":"suit","v":"H"},{"k":"z_index","v":"15"},{"k":"deck","v":"true"}],"rect":[{"x":685.5,"y":497},{"x":765.5,"y":497},{"x":765.5,"y":607},{"x":685.5,"y":607}]},
  105. (...)
  106.  
  107. #user:guid:puzzle_session: // GENERATED ON GET PUZZLE
  108. {"deck_size": 25, "deck": [{"type":"card","params":[{"k":"value","v":"12"} (...),
  109. "deck": [],
  110. "collected": ["g_2", "g_23", "g_48"], // STARTS AS EMPTY ARRAY, EXACTLY LIKE DECK
  111. "collectibles": [{"guid": "g_2", "type": "key", "params": []},
  112. {"guid": "g_23", "type": "coins", "params": [{"k": "value", "v": "999"}]},
  113. {"guid": "g_48", "type": "beer", "params": [{"k": "value", "v": "3"}]}, (...) ]
  114.  
  115. $user:guid:friends: ["guid1", "guid2", "guid3"]
  116. $$user:guid:invitedFriends: ["friendID":timestamp, "friendID2":timestamp, "friendId3":timestampe]
  117. $$user:guid:giftedFriends: ["userId1":timestamp, "userId2":timestamp, "userid3":timestamp]
  118. $$user:guid:played ["puzzle:abcd:played":6, "puzzle:abcd:solved":3, "puzzle:abcd:failed":3, "puzzle:fffa:played":1, "puzzle:fffa:solved":1]
  119. $$user:guid:scores ["puzzle:abcd":1600, "puzzle:ghfad":4800, "puzzle:abcde":12423, "puzzle:abcdg":56839]
  120.  
  121.  
  122. #user:lookup:
  123. #user:lookup:uid user:guid1
  124. #user:lookup:uid user:guid2
  125. #user:lookup:uid user:guid3
  126. #user:lookup:uid user:guid4
  127. ...
  128.  
  129. $$leaderboard:puzzle-guid2 [userguid1:1500, userguid2:4599. ...]
  130. $$leaderboard:puzzle-guid1 [userguid1:5500, userguid2:2359. ...]
  131. $$leaderboard:puzzle-guid3 [userguid1:7500, userguid2:8499. ...]
  132. ...
  133.  
  134. #coupon
  135. #coupon:guid:target_id user:guid1
  136. #coupon:guid:state collected/pending/activated/expired
  137. #coupon:guid:bonus_type gift/invite
  138. #coupon:guid:reward {"coins": "1234"} / {"energy": 10} / {"coins": 100, "energy": 5, "xp": 200}..
  139. #coupon:guid:sender_id user:guid2
  140.  
  141. #attack
  142. #attack:guid:attacker user:guid1
  143. #attack:guid:target user:guid1
  144. #attack:guid:status "alarm"/"stolen"/"locked"/"draw"
  145. #attack:guid:active false
  146. #attack:guid:stash 179000
  147. #attack:guid:stash_breakdown "[2100,3300,1400]"
  148. ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement