Player
package co.hp.wanjialei;import java.util.Random;/*
* 玩家类
* 属性:名字,类型,生命值,防御力,攻击力
* 方法:自我介绍,pk
* */
public class Player {//封装;把属性设为private,提供公共的get和set方法间接访问,提高安全性private String name;private String type;private int hp;private int fy;private int gjl;/** 描述自己的信息* */public void say(){System.out.println("我是"+name+"一个"+type+"生命值"+hp+"防御力"+fy+"攻击力"+gjl);}/** pk* 我方开启的战斗* @param P 敌对玩家* */public void pk(Player p){//定义一个标记,0我方攻击1敌方攻击int flag = 0;//回合制,直到一方死while (true){//显示当前战斗人员信息this.say();p.say();Random a = new Random();int bj = a.nextInt(100);if(flag==0){if(bj<=50){int harm = this.gjl*2-p.fy;//伤害值System.out.println("我方回合,暴击了"+this.gjl*2);System.out.println(p.name+"掉血"+harm);p.hp-=harm;//生命值-伤害值}else{int harm = this.gjl-p.fy;//伤害值System.out.println(p.name+"掉血"+harm);p.hp-=harm;//生命值-伤害值}flag =1;}else {if (bj<=50){int harm = p.gjl*2-this.fy;//伤害值,掉血量System.out.println("敌方回合,暴击了"+this.gjl*2);System.out.println(this.name+"掉血"+harm);this.hp-=harm;}else{int harm = p.gjl-this.fy;//伤害值,掉血量System.out.println(this.name+"掉血"+harm);this.hp-=hp;}flag = 0;}Random b = new Random();int dl = b.nextInt(10);//有血量<=0,战斗结束if(this.hp<=0){System.out.println(p.name+"战胜"+this.name);if (dl == 0){System.out.println("无掉落");}if (dl == 1){System.out.println("皮肤碎片*2");}if (dl == 2){System.out.println("英雄碎片*2");}if (dl == 3){System.out.println("钻石*300");}if (dl == 4){System.out.println("铭文碎片*200");}if (dl == 5){System.out.println("铭文碎片*400");}if (dl == 6){System.out.println("铭文碎片*250");}if (dl == 7){System.out.println("铭文碎片*300");}if (dl == 8){System.out.println("铭文碎片*350");}if (dl == 9){System.out.println("荣耀积分*60");}if (dl == 10){System.out.println("荣耀积分*40");}break;//结束}if(p.hp<=0) {System.out.println(this.name+"战胜"+p.name);if (dl == 0){System.out.println("无掉落");}if (dl == 1){System.out.println("皮肤碎片*2");}if (dl == 2){System.out.println("英雄碎片*2");}if (dl == 3){System.out.println("钻石*300");}if (dl == 4){System.out.println("铭文碎片*200");}if (dl == 5){System.out.println("铭文碎片*400");}if (dl == 6){System.out.println("铭文碎片*250");}if (dl == 7){System.out.println("铭文碎片*300");}if (dl == 8){System.out.println("铭文碎片*350");}if (dl == 9){System.out.println("荣耀积分*60");}if (dl == 10){System.out.println("荣耀积分*40");}break;//结束}try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}//构造器(建议如果定义了有参的构造器,一定定义一个无参构造器)public Player(String name, String type, int hp, int fy, int gjl) {this.name = name;this.type = type;this.hp = hp;this.fy = fy;this.gjl = gjl;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getType() {return type;}public void setType(String type) {this.type = type;}public int getHp() {return hp;}public void setHp(int hp) {this.hp = hp;}public int getFy() {return fy;}public void setFy(int fy) {this.fy = fy;}public int getGjl() {return gjl;}public void setGjl(int gjl) {this.gjl = gjl;}
}
PlayerTest
package co.hp.wanjialei;/*** 测试玩家类* 船舰玩家对象PK*/
public class PlayerTest {public static void main(String[] args) {Player p1= new Player("1号", "ll", 60000, 1600, 2200);Player p2= new Player("2号", "hh", 60000, 1460, 2500);p1.pk(p2);}
}

游戏暴击(随机数和if判断)相关推荐

  1. 游戏思考12:游戏的随机数考究(重点在目录的第三章)

    文章目录 一.如何实现乱序的随机排序,而不占用空间 (1)想法来源 (2)算法作用 (3)效果展示 (4)代码 1)cmakelists.txt 2)main.cpp 3)Prandgen.cpp 4 ...

  2. C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例

    C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判 ...

  3. java 4-5随机数_例4-5 猜数游戏 产生随机数(示例代码)

    例4-5 猜数游戏 产生随机数 改例3-1.自动生成随机数. 程序核心--srand(time(0));//刷新随机数 mynumber=rand()%100+1;//产生随机数 程序 #includ ...

  4. JAVA猜数字小游戏(随机数Random类)

    快乐JAVA,通过不断的摸索,从C到PHP再到Python,Python再到Java-终于被我找到了属于我的本命编程语言(泪目).学起来很开心,很快乐,这种感觉就像和初恋谈恋爱一样,编程不再是写代码, ...

  5. [教你做小游戏] 《五子棋》怎么判断输赢?你能5分钟交出代码吗?

    我是HullQin,公众号线下聚会游戏的作者(欢迎关注公众号,发送加微信,交个朋友),转发本文前需获得作者HullQin授权.我独立开发了<联机桌游合集>,是个网页,可以很方便的跟朋友联机 ...

  6. 棋牌游戏开发之地主算法判断牌型

    棋牌游戏开发咨询 QQ:325131039 棋牌游戏开发咨询交流群: 490287966 由于近年来网络棋牌游戏的火爆导致个各个地区的特色棋牌游戏进入开发的红火时期,也有越来越多的团队个人开始研究棋牌 ...

  7. 俄罗斯方块游戏开发教程7:消除判断和处理

    本文首发于微信公众号:小蚂蚁教你做游戏.欢迎关注领取更多学习做游戏的原创教程资料,每天学点儿游戏开发知识. 俄罗斯方块小游戏已上线,欢迎[点此体验]. 嗨!大家好,我是小蚂蚁.今天我们继续来了解下一个 ...

  8. 生命游戏和随机数之间某种不可言说的秘密

    为什么我感觉随便写一个一维生命游戏规则就可以做出一个看起来很随机实际上也蛮随机的随机数生成器.... 这是代码: 1 #include <cstdio> 2 #include <fs ...

  9. Qt 消去游戏(对对碰)实现及判断死锁算法

    简单的消去游戏判断死锁算法,还有优化的余地. 用Qt做的消去游戏Demo 下载地址http://download.csdn.net/source/1922774 #include <iostre ...

最新文章

  1. java web 过滤器跟拦截器的区别和使用
  2. docker mysql 报错 “Too many connections 1040“ 修改最大连接数 未生效 解决方法
  3. SRM 533 DIV2
  4. C++ 动态二维数组(二维vector)
  5. [深度学习] 自然语言处理 --- Self-Attention(三) 知识点与源码解析
  6. python安装rarfile模块_python windows下安装pip及rarfile
  7. windows不能在本地启动OracleDBConsole
  8. 人从众!五一假期全国旅游收入破千亿 你贡献了多少?
  9. 文件操作命令(replace)
  10. careercup-链表 2.4
  11. ab压力测试_使用ab来一次压力测试之旅
  12. android 9 one ui,终于!三星S9系列国行开测安卓9.0系统:OneUI真香!
  13. 3d打印实用小工具--GCode Viewer在线预览GCODE文件
  14. 世界首富马斯克的编程水平怎么样?
  15. firefox android手势,6款Firefox鼠标手势扩展推荐
  16. 移动硬盘linux双系统,安装ubuntu到移动硬盘(UEFI+GPT),实现在别的电脑也可以使用(详细教程),...
  17. 《带您走进西藏》网课章节测验及答案
  18. 古典密码分析(冗余度,唯一解距离,语言统计,重合指数)
  19. 蚂蚁金服面试题和答案
  20. 风控模型中的KS-指标

热门文章

  1. Windows监控——性能指标详解
  2. 心跳太快对身体带来影响?4种方法来减速!
  3. 几个Android云测试
  4. Aspose.Slides使用教程:使用 C# 在 PowerPoint 演示文稿中添加页眉和页脚
  5. 利用Matlab替换图片部分颜色
  6. 什么是第三方物流服务?
  7. 深圳市基层就业补贴申请
  8. 纯前端读取excel (SheetJS js-xlsx.js框架)
  9. 面试了15位来自985/211高校的2020届研究生之后的思考
  10. 黄灯闪烁c语言程序,交通灯控制程序 需要加一个黄灯闪烁三次 求求大神