Advertisement
Guest User

Untitled

a guest
Jul 24th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.69 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="zh-tw">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Tester</title>
  6. <script src="https://code.jquery.com/jquery-3.1.0.slim.min.js" integrity="sha256-cRpWjoSOw5KcyIOaZNo4i6fZ9tKPhYYb6i5T9RSVJG8=" crossorigin="anonymous"></script>
  7.  
  8. <script>
  9. var pull = [
  10. [15],
  11. [13],
  12. [12],
  13. [14],
  14. [32,[32,0]],
  15. [10],
  16. [10],
  17. [12],
  18. [25,[25,0]],
  19. [21,[21,1]],
  20. [10],
  21. [10],
  22. [21,[14,1],[15,0]],
  23. [22],
  24. [58,[30,1],[58,0]],
  25. [22,[22,0]],
  26. [44,[30,1],[44,0]],
  27. [10],
  28. [11],
  29. [13],
  30. [12,[6,0]],
  31. [22,[17,1]],
  32. [50,[24,0],[44,1]],
  33. [10,[5,0]],
  34. [20],
  35. [24],
  36. [21],
  37. [52,[32,0],[52,1]],
  38. [36],
  39. [31,[15,1]],
  40. [54,[25,0],[54,1]],
  41. [22,[21,1]],
  42. [25,[25,1]],
  43. [24],
  44. [15,[13,1]],
  45. [12,[12,1]],
  46. [23],
  47. [10,[9,0]],
  48. [51,[15,0],[50,0]],
  49. [14],
  50. [19],
  51. [84,[29,1],[58,1],[84,0]],
  52. [62,[30,1],[62,0]],
  53. [100,[33,1],[68,1],[100,0]],
  54. [19,[9,1],[19,0]],
  55. [45,[21,0],[45,1]],
  56. [290,[30,1],[55,1],[67,0],[83,1],[107,1],[117,0],[141,0],[171,0],[194,0],[206,1],[217,0],[239,1],[290,1]],
  57. [26],
  58. [10],
  59. [60,[33,1],[60,0]],
  60. [15],
  61. [32,[32,1]],
  62. [66,[16,1],[51,1]],
  63. [50,[25,1]],
  64. [26,[26,0]],
  65. [10],
  66. [24,[22,0]],
  67. [10],
  68. [38,[4,1],[19,1]],
  69. [23],
  70. [32,[32,1]],
  71. [34,[12,1]],
  72. [21],
  73. [31,[25,1]],
  74. [20,[20,1]],
  75. [25,[23,1]],
  76. [10],
  77. [25,[24,0]],
  78. [30,[30,0]],
  79. [33,[14,0]],
  80. [31,[22,1]],
  81. [11,[2,0]],
  82. [34,[27,1]],
  83. [30],
  84. [14],
  85. [13],
  86. [12,[1,1],[12,1]],
  87. [10,[2,1]],
  88. [10,[9,0],[10,1]],
  89. [19],
  90. [33,[33,0]],
  91. [38,[18,0]],
  92. [14],
  93. [59,[30,1],[33,1],[59,0]],
  94. [25,[17,0]],
  95. [31,[31,1]],
  96. [19,[16,0],[18,0]],
  97. [12,[8,0]],
  98. [34,[34,0]],
  99. [60,[27,1],[60,0]],
  100. [31,[31,0]],
  101. [34,[14,1]],
  102. [37,[32,1]],
  103. [12],
  104. [13,[4,0]],
  105. [30,[28,0]],
  106. [39,[17,1],[39,1]],
  107. [31,[29,1]],
  108. [15,[15,1]],
  109. [10],
  110. [32,[32,0]],
  111. [31,[31,1]],
  112. [14],
  113. [50,[30,1],[50,0]],
  114. [13,[3,0]],
  115. [20,[12,1]],
  116. [59,[23,0],[41,0],[59,1]],
  117. [33,[9,1],[16,1],[33,0]],
  118. [44,[24,0]],
  119. [80,[33,1],[58,1],[80,0]],
  120. [23,[16,0]],
  121. [30,[25,0]],
  122. [19,[4,0]],
  123. [54,[24,0],[54,1]],
  124. [12,[4,0]],
  125. [86,[22,1],[53,1],[86,0]],
  126. [11],
  127. [38,[15,0],[38,1]],
  128. [44,[14,1],[44,0]],
  129. [46,[26,1]],
  130. [77,[22,1],[49,1],[75,0]],
  131. [27,[27,1]],
  132. [48,[30,0],[48,1]],
  133. [10]
  134. ];
  135.  
  136. function custom_pull(streak){
  137. var weight = 1/2;
  138. var prop = 2/81;
  139. if(streak > 11){
  140. weight *= 3;
  141. }
  142.  
  143. if(streak > 21){
  144. weight *= 3;
  145. }
  146.  
  147. if(streak > 30){
  148. weight *= 3;
  149. weight += (streak-30)*5;
  150. }
  151.  
  152. if(Math.random() < prop * weight){
  153. return true;
  154. }else{
  155. return false;
  156. }
  157. }
  158.  
  159. function exp_pull(steak){
  160. var weight = 1/2.5;
  161. var ratio = 1.15;
  162.  
  163. var unit = weight*Math.pow(ratio,steak);
  164. var prop = unit/(unit+79);
  165.  
  166. if(Math.random() < prop){
  167. return true;
  168. }else{
  169. return false;
  170. }
  171. }
  172.  
  173. function sim_pull(rep){
  174. var pull = new Array();
  175. for(var i=0;i<rep+1;i++){
  176. pull[i] = new Array();
  177. pull[i][0] = Math.round(Math.random()*50)+10;
  178.  
  179. var streak = 0;
  180. for(var j = 1; j <= pull[i]; j++){
  181. streak++;
  182.  
  183. if(custom_pull(streak)){
  184. streak = 0;
  185. var reward = new Array();
  186. reward[0] = j;
  187. reward[1] = 0;
  188. pull[i].push(reward);
  189. }else{
  190.  
  191. }
  192. }
  193. }
  194.  
  195. return pull;
  196. }
  197.  
  198. function weight_pull(rep){
  199. var pull = new Array();
  200. for(var i=0;i<rep;i++){
  201. pull[i] = new Array();
  202. pull[i][0] = Math.round(Math.random()*50)+10;
  203.  
  204. var streak = 0;
  205. for(var j = 1; j <= pull[i]; j++){
  206. streak++;
  207.  
  208. if(exp_pull(streak)){
  209. streak = 0;
  210. var reward = new Array();
  211. reward[0] = j;
  212. reward[1] = 0;
  213. pull[i].push(reward);
  214. }else{
  215.  
  216. }
  217. }
  218. }
  219.  
  220. return pull;
  221. }
  222.  
  223. $(document).ready(function() {
  224. var his = new Array();
  225. var reward = new Array();
  226. var total = 0;
  227.  
  228. for (var i = 0 ; i < 300; i++) {
  229. his[i] = 0;
  230. reward[i] = 0;
  231. }
  232.  
  233. // ================抽卡模型===============
  234. var sp = weight_pull(200);
  235.  
  236.  
  237. $.each(sp, function(index, val) {
  238. total += val[0];
  239.  
  240.  
  241. var len = val.length;
  242.  
  243. if(len == 1){
  244. for(i=1;i<=val[0];i++){
  245. his[i]++;
  246. }
  247. }else{
  248. var pointer = 1;
  249. while(pointer < len){
  250.  
  251. if(pointer > 1){
  252. var interval = val[pointer][0]-val[pointer-1][0];
  253. }else{
  254. var interval = val[pointer][0];
  255. }
  256.  
  257. for(i=1;i<=interval;i++){
  258. his[i]++;
  259. }
  260. reward[interval]++;
  261.  
  262. pointer++;
  263.  
  264. }
  265. }
  266.  
  267. });
  268.  
  269. console.log(total);
  270.  
  271.  
  272. for(i=1;i<=50;i++){
  273. var str ='';
  274. str += '<tr>';
  275. str += '<td>'+i+'</td>';
  276. str += '<td>'+his[i]+'</td>';
  277. str += '<td>'+reward[i]+'</td>';
  278.  
  279. if(his[i] > 0){
  280. var div_w = ((reward[i]/his[i])*500);
  281. var perc = Math.round((reward[i]/his[i])*10000)/100;
  282. }else{
  283. var div_w = 0;
  284. var perc = '--';
  285. }
  286. str += '<td>'+perc+'%</td>';
  287. str += '<td>'+Math.round((1-(his[i]/his[1]))*10000)/100+'%</td>';
  288. str += '<td>'+'<div style="width:'+div_w+'px; height:1em; background-color:black;"></div>'+'</td>';
  289. str += '</tr>';
  290.  
  291. $('#table_id').append(str);
  292. }
  293. });
  294. </script>
  295. </head>
  296. <body>
  297. <table id="table_id" align="center" style="width:960px;">
  298. <tr>
  299. <td width = "10%">第幾抽</td>
  300. <td width = "10%">總抽次</td>
  301. <td width = "10%">次數</td>
  302. <td width = "10%">機率</td>
  303. <td width = "10%">累計機率</td>
  304. <td width = "50%">比例圖</td>
  305. </tr>
  306. </table>
  307. </body>
  308. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement