第一问
- 对打游戏
- 有两个人,下称玩家
- 每个人都有血值
- 有攻击力
- 没有防御力
- 有名字
- 可以互相对打
- 游戏开始,双方互殴,你一下我一下,直到一人死亡,打印出xx被打败了。
- 只需要写核心逻辑,不需要考虑界面。
要解决这个问题,实现方式有很多种,实现的环境也可以很不同。这里我使用了js最简便的方式来解决这个问题。即直接使用一个html页面来承载js逻辑代码,通过浏览器运行。
新建一个html网页,在页面上添加一个按钮,用于控制游戏的开始。
<body> <button id="start">开始游戏</button> </body>
设置页面dom元素加载完成后才执行js逻辑代码
<script> window.onload = function(){ }; </script>
按照题目要求创建玩家类,并提供攻打的方法
<script> window.onload = function(){ function Player(name){ this.name = name; this.blood_values = 100; this.attack = parseInt(Math.random()*20); } Player.prototype.fight = function(player){ player.blood_values -= this.attack; }; }; </script>
给页面按钮元素添加点击方法:
var start = document.getElementById('start'); start.onclick = function(){ };
按照要求,游戏开始,玩家开始互相殴打,一人一下,直到一人死亡。那么就是说,只要两个人的血值都大于零,就要一直互相殴打。并且任何一个玩家在殴打另一个玩家之前都需要进行判断他自己是否已经死亡,只有在没有死亡的情况下才能殴打他人。实现代码如下:
start.onclick = function(){ var player1 = new Player("张三"), player2 = new Player("李四"); while(player1.blood_values > 0 && player2.blood_values > 0){ if(player1.blood_values > 0){ player1.fight(player2); } if(player2.blood_values > 0){ player2.fight(player1); } } };
当其中一个玩家死亡,推出殴打环节是,我们需要判断是那个玩家死亡,并在控制台输出对应玩家失败的信息。可以通过直接判断玩家血值实现:
if(player1.blood_values <= 0){ console.log(player1.name + "被打败了!"); } if(player2.blood_values <= 0){ console.log(player2.name + "被打败了!") }
效果如图:
相关推荐
2019_2020学年高中生物第五章生物的进化第一节生物进化理论第1课时早期的生物进化理论现代生物进化理论一知能演练轻巧夺冠苏教版必修2
分子进化基础 中文教材 1 基因结构与突变 本等等基因结构 可以详细的看内容。。。。 分子进化基础 中文教材 1 基因结构与突变 本等等基因结构 可以详细的看内容。。。。 分子进化基础 中文教材 1 基因结构与突变 本...
第四章 进化规划(一).ppt
2019_2020学年高中生物第五章生物的进化第一节生物进化理论第2课时现代生物进化理论二及生物进化理论发展的意义知能演练轻巧夺冠苏教版必修2
2019_2020学年高中生物第7章生物的进化第1节生物进化的证据第2节种群是进化的基本单位练习北师大版必修2
达尔文进化论达尔文进化论达尔文进化论达尔文进化论达尔文进化论达尔文进化论达尔文进化论达尔文进化论达尔文进化论达尔文进化论达尔文进化论
2018年秋九年级科学下册第1章演化的自然第4节生物的进化第1课时生物进化的证据_化石练习新版浙教版
生成进化树,C++代码
简单扼要的介绍了进化算法与全局优化的关系,讲解了EAs、GAs、PSO等算法
为了提高协同进化多目标进化算法的全局收敛性,提出了一种调用协同进化算子的自适应方法。其基本思想是:根据目标函数的变化率自动调用协同进化算子;当种群进化正常时,调用合作算子和吞并算子;当种群进化接近停滞...
九年级科学下册第1章演化的自然第4节生物的进化第1课时作业设计新版浙教版
中国武器发展史小学生PPT课件.pptx
笔记:《进化优化算法 基于仿生和种群的计算机智能方法》第一章 绪论
普通高等教育“十二五”规划教材-生物信息学 第九章:分子进化与系统发育
2018年秋九年级科学下册第1章演化的自然第4节生物的进化第2课时进化论的演变练习新版浙教版
无线移动计算中组合进化方法(Combinatorial Evolutionary Methods in wireless Mobile Computing) u⒈引言 u2. EA & EAs的简单介绍 2.1遗传算法(GA) 2.2进化策略(ES) u3.无线移动计算中基本的优化问题 ...
针对思维进化算法(MEA)群体多样性少,易陷入局部极值的问题,提出了能够学习并进行反思的思维进化算法,同时分析了该算法的机制。设计利用子群体的线性组合实现信息共享,通过适应度值的比较进行反思,运用进化历史最优值...
协同进化遗传算法源程序 孙晓燕 基本程序协同进化遗传算法理论及应用》在详细...协同进化遗传算法是解决复杂的实际优化问题的智能计算方法,近年来已在许多领域得到成功的应用,是智能优化与决策领域的热点研究方向之一
2018年秋九年级科学下册第1章演化的自然第5节遗传与进化第1课时遗传与变异练习新版浙教版