2019独角兽企业重金招聘Python工程师标准>>>

假设有100000个人参与游戏,每次按级别匹配,输赢随机,大概400局出至尊星耀I

//author:zbg
//2018-12-12 10:58print = console.log;function Player()
{this.grade = 1; //段位this.level = 0; //星星this.score = 0; //勇者积分。简化起见,每参赛一次1次加1分,20分可换星,10分可保护段位不掉。if (typeof Player._initialized == "undefined"){Player.grade_max_level = {1: {grade: "倔强青铜III", max_level: 3},2: {grade: "倔强青铜II",  max_level: 3},3: {grade: "倔强青铜I",   max_level: 3},4: {grade: "秩序白银III", max_level: 3},5: {grade: "秩序白银II",  max_level: 3},6: {grade: "秩序白银I",   max_level: 3},7: {grade: "荣耀黄金III", max_level: 4},8: {grade: "荣耀黄金II",  max_level: 4},9: {grade: "荣耀黄金I",   max_level: 4},10: {grade: "尊贵铂金III", max_level: 4},11: {grade: "尊贵铂金II",  max_level: 4},12: {grade: "尊贵铂金I",   max_level: 4},13: {grade: "永恒钻石V",   max_level: 5},14: {grade: "永恒钻石IV",  max_level: 5},15: {grade: "永恒钻石III", max_level: 5},16: {grade: "永恒钻石II",  max_level: 5},17: {grade: "永恒钻石I",   max_level: 5},18: {grade: "至尊星耀V",   max_level: 5},19: {grade: "至尊星耀IV",  max_level: 5},20: {grade: "至尊星耀III", max_level: 5},21: {grade: "至尊星耀II",  max_level: 5},22: {grade: "至尊星耀I",   max_level: 5}};Player.cmp = function(p1, p2){if(p1.grade > p2.grade)return 1;else if(p1.grade < p2.grade)return -1;if(p1.level > p2.level)return 1;else if(p1.level < p2.level)return -1;return 0;};Player.prototype.level_up = function(){this.level++;if(this.level > Player.grade_max_level[this.grade].max_level){this.grade++;this.level = 0;if(this.grade > 22){this.grade = 22;this.level = 5;}}}Player.prototype.level_down = function(){this.level--;if(this.level < 0){this.grade--;if(this.grade < 1 ){this.grade = 1;this.level = 0;}else{this.level = Player.grade_max_level[this.grade].max_level;}}}Player.prototype.win = function(){this.level_up();this.score++;if(this.score > 20)//勇者积分加星{this.score = 0;this.level_up();}}Player.prototype.lose = function(){this.score++;if(this.level == 0 && this.score >= 10)//段位保护this.score -= 10;elsethis.level_down();}}Player._initialized = true;
}players = new Array(100000);
for(var i = 0; i < 100000; i++)
{players[i] = new Player();
}
print("ok");function print_state()
{d = {};for(var i = 1; i <= 22; i++){d[i] = {};for(var j = 0; j <= Player.grade_max_level[i].max_level; j++){d[i][j] = 0;}}for(var i = 0; i < 100000; i++){d[players[i].grade][players[i].level]++;}for(var i = 1; i <= 22; i++){s = Player.grade_max_level[i].grade;ss = 0;sss = "";for(var j = 0; j <= Player.grade_max_level[i].max_level; j++){sss +=j + ": " + d[i][j] + ", ";ss += d[i][j];}print(s + ": " + ss + ": " + sss);}
}function battle(n)
{for(var i = 0; i < n; i++){players.sort(Player.cmp);//按级别排序后,相邻匹配for(var j = 0; j < 100000; j += 2){if(Math.random() > .5){players[j].win();players[j + 1].lose();}else{players[j + 1].win();players[j].lose();}}}
}battle(400);
print_state();

输出:

ok
倔强青铜III: 942: 0: 239, 1: 233, 2: 232, 3: 238, 
倔强青铜II: 1615: 0: 412, 1: 417, 2: 397, 3: 389, 
倔强青铜I: 2559: 0: 678, 1: 659, 2: 612, 3: 610, 
秩序白银III: 3630: 0: 995, 1: 953, 2: 882, 3: 800, 
秩序白银II: 5017: 0: 1421, 1: 1304, 2: 1191, 3: 1101, 
秩序白银I: 6407: 0: 1824, 1: 1672, 2: 1512, 3: 1399, 
荣耀黄金III: 9934: 0: 2349, 1: 2165, 2: 1976, 3: 1803, 4: 1641, 
荣耀黄金II: 11189: 0: 2721, 1: 2462, 2: 2237, 3: 2004, 4: 1765, 
荣耀黄金I: 11632: 0: 2934, 1: 2576, 2: 2297, 3: 2066, 4: 1759, 
尊贵铂金III: 11175: 0: 2871, 1: 2488, 2: 2254, 3: 1908, 4: 1654, 
尊贵铂金II: 9922: 0: 2586, 1: 2267, 2: 1932, 3: 1710, 4: 1427, 
尊贵铂金I: 8225: 0: 2210, 1: 1871, 2: 1623, 3: 1408, 4: 1113, 
永恒钻石V: 7466: 0: 1802, 1: 1466, 2: 1340, 3: 1105, 4: 975, 5: 778, 
永恒钻石IV: 4823: 0: 1183, 1: 993, 2: 829, 3: 734, 4: 593, 5: 491, 
永恒钻石III: 2804: 0: 704, 1: 589, 2: 496, 3: 400, 4: 356, 5: 259, 
永恒钻石II: 1472: 0: 379, 1: 321, 2: 248, 3: 221, 4: 171, 5: 132, 
永恒钻石I: 706: 0: 191, 1: 151, 2: 122, 3: 98, 4: 84, 5: 60, 
至尊星耀V: 303: 0: 86, 1: 62, 2: 57, 3: 39, 4: 32, 5: 27, 
至尊星耀IV: 120: 0: 33, 1: 22, 2: 26, 3: 15, 4: 13, 5: 11, 
至尊星耀III: 41: 0: 10, 1: 10, 2: 7, 3: 6, 4: 6, 5: 2, 
至尊星耀II: 12: 0: 4, 1: 4, 2: 0, 3: 2, 4: 2, 5: 0, 
至尊星耀I: 6: 0: 2, 1: 2, 2: 0, 3: 1, 4: 0, 5: 1,

转载于:https://my.oschina.net/zbaigao/blog/2987299

javascript模拟王者荣耀升段位相关推荐

  1. Flex布局模拟王者荣耀皮肤抽奖

    Flex布局模拟王者荣耀皮肤抽奖 实现效果 项目目录结构 index.html <!DOCTYPE html> <html><head><meta chars ...

  2. Unity 之 模拟王者荣耀七日签到系统

    Unity 之 模拟王者荣耀七日签到系统 一,效果图 二,制作思路 三,场景搭建 四,代码实现 五,拓展补签版本 一,效果图 不带补签版本: 二,制作思路 使用切换图片背景颜色的方式,进行状态转换[灰 ...

  3. 活久见!技术面试官竟然给我出了一个脑筋急转弯,还问我王者荣耀什么段位?...

    作者 l Hollis 来源 l Hollis(ID:hollischuang) 我叫小志,是一个毕业3年的Java后端开发,在一家传统银行的研发中心负责主要的研发岗位.虽然这份工作并不是很忙,给我的 ...

  4. JavaScript防抖(王者荣耀回城)、节流(王者荣耀技能读条)

    防抖(王者荣耀回城) 回城按一次读条八秒钟,回到一半,在按一次回城开始重新读条八秒,多次猛按回城,不回家,开启嘲讽,重复开始读条 <button id="btn"> 回 ...

  5. 初夏小谈: 模拟王者荣耀_荣耀水晶抽奖活动

    历时两星期,期间中断过,因为各种原因,不过还是坚持完成了.下来感觉很充实.话不多说看代码(约340行). //存在问题:当抽到荣耀水晶时,幸运值无法归0; //王者荣耀积分夺宝 #include< ...

  6. Unity 自主学习之用设计模式模拟王者荣耀(三)-- Easytouch实现技能指示器

    技能指示器就是王者荣耀里面的技能按钮,这个按钮在点击之前是一个按钮的样子,但是点击之后,技能图标会缩小一定大小,并且会出现一个可以拖动的范围按钮,更joystick一样,但是经过从尝试发现单纯使用Ea ...

  7. Unity 自主学习之用设计模式模拟王者荣耀 (一)-- 状态模式实现张飞开大

    前言:笔者最近由于学习了一些开发模式,觉得里面有很多模式非常有趣,而正好本人又喜欢玩儿王者荣耀,所以就想着复制一下,看能不能做出来,笔者并不是大牛,这个只是个人对于设计模式的应用学习,只是目标是为了实 ...

  8. java 抽奖程序,自定义抽奖概率和奖品,模拟王者荣耀水晶抽奖

    一.定义奖品实体类 @Data @Builder public class LuckDrawRules {/*** id*/private Long id;/*** 奖品名称*/private Str ...

  9. web期末作业设计网页 HTML+CSS+JavaScript仿王者荣耀游戏新闻咨询(网页设计期末课程设计)...

最新文章

  1. php redis linsert,LINSERT命令_视频讲解_用法示例-redis编程词典-php中文网
  2. 存储器的保护(一)——《x86汇编语言:从实模式到保护模式》读书笔记18
  3. 使用设备mac好还是随机mac好_省4000我给MBP16搭配了一块2T SSD:希捷 酷鱼飞翼 Fast SSD使用测评...
  4. 点阵字体显示系列补记:将字库文件转换成数组形式
  5. 怎么搜索php文件内容,linux怎么搜索文件
  6. 【Spring 高级注解】@Configuration、@Bean、@ComponentScan
  7. 是时候该了解下Unity3D了
  8. 从浏览器缓存提取媒体文件
  9. 铺管家教育:拼多多如何提升星级
  10. 怎么卸载apowerrec_如何卸载win10自带的游戏中心
  11. python打开setting_Python3 - setting的默认配置和用户配置读取
  12. 应广单片机芯片PMS132B -SOP8/SOP14/SOP16
  13. # 2021-01-13 #「FVWM」- 配置命令章节列表
  14. 初学python者自学anaconda的正确姿势是什么?
  15. 要报销的发票如何批量下载打印
  16. Java - 解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法
  17. linux基础55——od
  18. 川大计算机学硕扩招,2021考研又有高校扩招!学硕停招!部分院校专硕取消全日制招生!...
  19. dmg文件转换iso_如何在Windows上将DMG文件转换为ISO文件
  20. 面向对象设计思想-基本概念

热门文章

  1. 生命的体验 | 李镖泯诗歌
  2. 如何把手机导航显示在汽车导航屏上?
  3. 计算机系统突然变卡变慢?重装系统来帮忙
  4. 对团队中技术支持岗位感悟
  5. 不理解话里真正包含的意思
  6. Adobe Acrobat Reader 的快捷键设置
  7. 做代理记账公司销售怎么样找客户
  8. android11怎么分屏,iOS11分屏怎么用?iOS11分屏具体操作方法
  9. 随机图片壁纸API接口 刷新网页换背景接口
  10. c 语言isnan函数,_isnan, _isnanl