创建玩家类


/** 玩家类* 属性:名字,类型,血量,防御,攻击* 行为:自我介绍,pk*/
public class Player {//封装:将属性设为private,提供公共的get和set方法间接访问,提升安全性private String name;//名字private String type;//职业private int life;//生命值private int defense;//防御private int attack;//攻击//自我介绍public void say(){System.out.println("我叫"+name+",是一个"+type+",生命值"+life+",防御"+defense+",攻击"+attack);}/** pk的方式,和另一个玩家pk;* @param p* */public void pk(Player p){//定义一个标记,0表示我方进攻,1表示敌方进攻int flag = 0;//默认我方先进攻//回合制pk,直到一方死亡while (true){//每次都显示剩余的生命值this.say();p.say();if (flag == 0) {//我方攻击:敌方生命值-(我方攻击力-敌方防御力)int harm = this.attack-p.defense;//得到伤害int sj = (int) Math.round(Math.random()*(2-1)+1);//随机数0~2if (sj == 2) {System.out.println(p.name+"被暴击了"+harm*2);//暴击2倍p.setLife(p.life-harm*sj);//敌人掉血~sj=2}else {System.out.println(p.name+"掉血"+harm);p.setLife(p.life-harm);//敌人掉血}//改变进攻方flag = 1;}else {//敌方攻击:我方生命值-(敌方攻击力-我方防御力)int harm = p.attack-this.defense;int sj = (int) Math.round(Math.random()*(10-1)+1);//随机数0~9if (sj == 3 || sj == 9) {//如果随机的是3或9表示暴击System.out.println(this.name+"被暴击了"+harm*sj);this.setLife(this.life-harm*sj);//我方掉血~ sj=3或9 等于数字几就暴击几倍}else {System.out.println(this.name+"掉血了"+harm);this.setLife(this.life-harm);//我方掉血}//改变进攻方flag = 0;}//判别血量if (this.life <= 0) {System.out.println(this.name+"被ko了");this.explosiveEquipment();//调用物品掉落的方法break;//有人倒下,停止战斗}if (p.life <= 0) {System.out.println(p.name+"被ko了");p.explosiveEquipment();//调用物品掉落得方法break;//有人倒下,停止战斗}//线程休眠try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}//爆装备public void explosiveEquipment(){//装备库String[] arr={"屠龙宝刀","方天画戟","五雷轰顶技能书","灭世套装","大还丹","10W金币"};//随机数数组元素的下标:0~arr.length-1int sj = (int) Math.round(Math.random()*((arr.length-1)-0)+0);System.out.println("爆了["+arr[sj]+"]!!!");}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 getLife() {return life;}public void setLife(int life) {this.life = life;}public int getDefense() {return defense;}public void setDefense(int defense) {this.defense = defense;}public int getAttack() {return attack;}public void setAttack(int attack) {this.attack = attack;}
}

测试类

public class PlayerTest {public static void main(String[] args) {//创建玩家对象01Player p1 = new Player();p1.setName("龙傲天");//名字p1.setType("战士");//职业p1.setLife(20000);//血量p1.setDefense(600);//防御p1.setAttack(400);//攻击//创建玩家对象02Player p2 = new Player();p2.setName("赵日天");//名字p2.setType("法师");//职业p2.setLife(10000);//血量p2.setDefense(200);//防御p2.setAttack(800);//攻击//开始PKp1.pk(p2);}
}

JAVA回合制pk游戏相关推荐

  1. java回合制游戏女主牺牲自己_java – 回合制游戏设计:事件驱动与游戏循环

    我用Java创建了我的第一个游戏.这场比赛是垄断.我正在努力设计游戏以模拟其回合制结构(管理玩家转弯).我想允许单个人控和一个或多个AI控制的玩家玩游戏. 我的具体问题是我不知道是否实现游戏循环,这意 ...

  2. (蔡坤 VS 吴凡)java实现回合制小游戏开发

    (蔡坤 VS 吴凡)java实现回合制小游戏开发 首先定义属性(get set 有参,无参) 代码如下 java package com.jie; import java.util.Random; c ...

  3. JavaXYQ - 纯Java打造的2D回合制RPG游戏

    JavaXYQ是使用纯java实现的一个2D回合制RPG游戏,大部分资源来自<梦幻西游>,类似梦幻西游玩法.风格. 目标:    1.打造成一款强大方便的RPG游戏引擎,提供场景编辑器.任 ...

  4. java生肖游戏,《十二生肖》轻松写意的回合制经典游戏

    回合制手游作为一款轻松写意的回合制游戏,<十二生肖>不仅在玩法上有着诸多创新,推出了独创的24主角模式,玩家选择更多.同时,还因游戏中极为简单的操作设定和便捷的功能设置,最大化地降低了新手 ...

  5. NEO FANTASY:回合制策略游戏在ACGN文化与GameFi中的新探索09-07

    导读:在去年,知名链游综合发行平台 NEXTYPE 与其合作伙伴 GND STUDIO 联手开发了一款区块链游戏 NEO FANTASY,该游戏不仅在美术视觉上下了较大的功夫,并且游戏构建了一套较为创 ...

  6. 分享回合制策略游戏AI算法设计方法

    原文:http://gamerboom.com/archives/45636 发表时间:2012-01-22 09:08:19 作者:Ed Welch 在动作类游戏中,AI对手总是拥有完美的灵敏度和快 ...

  7. 回合制html代码,老框架新思路 最新好玩的回合制网页游戏盘点

    回合制网页游戏是指那种在战斗中需要切换场景,本方角色和敌方角色交互攻击,直至一方全灭即可宣告获胜的游戏类型,这一模式从最早的<梦幻西游>到如今各种红火的卡牌手游,都被广泛应用,而回合制网页 ...

  8. android开发回合制游戏,Android华丽回合制RPG游戏《堕落的境界》

    <堕落的国度>(Fallen Realms)是一款非常华丽的回合制RPG游戏,拥有丰富的剧情和庞大的世界观.而此游戏最值得推荐的地方在于游戏还融合了众多社交元素,可以真正意义上让你体会到网 ...

  9. 经典回合制策略游戏幽浮 2 for Mac

    幽浮 2 for Mac是Mac平台上一款非常经典的回合制策略游戏,幽浮2 Mac版游戏的背景设定在幽浮未知敌人之后的20年,人类在抵御外星侵略者的战斗中落败了,城市陷落,到处充斥着外星生物,玩家所扮 ...

  10. java仙侠回合制单机游戏_2019回合仙侠手游排行榜 好玩的回合制单机仙侠手游推荐...

    2019回合制仙侠手游大全为玩家们推荐更多好玩的回合制仙侠类型手游,此类仙侠手游也是目前比较流行的一种玩法,将经典回合制玩法与纯正仙侠题材玩法像结合. 回合制仙侠手游主打最唯美的无缝仙侠大地图玩法,最 ...

最新文章

  1. 外卖平台涉嫌大数据杀熟,处理不能“自说自话”
  2. BYTE,WORD,DWORD的大小及一些特殊的高低位宏(取高位 取低位)
  3. tomcat 拦截指定url_一口气说出 过滤器 和 拦截器 6个区别,别再傻傻分不清了
  4. django csrf 防跨站攻击
  5. 关于Git 的管理凭据操作
  6. Matlab扫雷记录01-matlab中获得向量非零元素个数
  7. 自学的matlab怎么找工作,裸辞一年了,你也没找到工作吗?
  8. scrapy抓斗鱼主播的图片
  9. IOS13破解屏幕使用时间,无需电脑,不丢数据
  10. 华盛顿大学计算机语言学,华盛顿大学人工智能专业排名2020年
  11. 程序员必读书籍一览表
  12. CSSJS弹出层效果,兼容所有浏览器
  13. Compass的用法
  14. Excel2010如何建立数据透视表
  15. 好无聊,大半夜地找了份传世服务端源码,编着玩
  16. JavaScript拖拽函数
  17. Kaggle-海底海星目标检测Baseline
  18. Javascript 可选链
  19. PhotoShop 矢量蒙板
  20. Scale-Invariant Error

热门文章

  1. 禅道客户端安装教程(超详细)
  2. 视频消重伪原创有用吗 视频md5修改器最新
  3. Java回调函数实例
  4. 如何在S函数中对变量或者输入信号进行求导
  5. html界面嵌入网易云,使用flex进行网易云音乐界面构建和布局解析(1)
  6. 二分、冒泡、快速、插入排序
  7. SVM多分类算法-一对一
  8. 纸壳cms php,纸壳CMS 3.4 发布,电商功能增强
  9. html微博换头像,手机新浪微博头像怎么设置 手机新浪微博更换头像教程
  10. python-snap7的安装记录