package org.example;public class GameTest {public static void main(String[] args){/*文字格斗版游戏*///创建第一个角色Role role1 = new Role( "乔峰" , 100 , '男' ) ;//创建第二个角色Role role2 = new Role( "鸠摩智" , 100 , '男' ) ;//展示一下角色的信息role1.showRoleInfo();role2.showRoleInfo();//开始格斗,回合制while(true){//role1开始攻击role1.attack(role2);//判断role2的剩余血量if ( role2.getBlood() == 0 ){System.out.println(role1.getName() + "K.O" + role2.getName() );break ;}//role2还击role2.attack(role1);//判断role1的剩余血量if ( role1.getBlood() == 0 ){System.out.println(role2.getName() + "K.O" + role1.getName() );break;}}}
}
package org.example;import java.util.Random;public class Role {//属性private String name ;private int blood ;private char gender ;private String face ;//长相是随机的//faces描述String[] boyFaces = {"风流倜傥","气宇轩昂","相貌英俊","五官端正","相貌半平","一塌粅途","面目狰狞"} ;String[] girlFaces = {"美奂绝伦","沉鱼落雁","婷婷玉立","身材娇好","相貌平平","相貌简陈","惨不忍睹"} ;//attack攻击描述:String[] attacks_desc = {"%s使出了一招【背心钉】,转到对方的身后,一掌向%s背心的灵台穴拍去。","%s使出了一招【游空探爪】,飞起身形自半空中变掌为抓锁向%s。","%s大喝一声,身形下伏,一招【劈雷堅地】,擁向%s双腿。","%s运气于掌,一瞬问掌心变得血红,一式【掌心雷】,推向%s。","%s阴手翻起阳手跟进,一招【没遮拦】,结结实实的捶向%s。","%s上步抢身,招中套招,一招【劈挂连环】,连环攻向%s。"};//injured受伤描述:String[] injureds_desc = {"结果%s退了半步,毫发无损","结果给%s造成一处瘀份","结果一吉命中,%s痛得弯下腰","结果%s缩苦地闷哼了一声,显然受了点内份","结果%s摇摇晃晃,一踥摔倒在地","结果%s脸色一下变得惨白,连退了好几步","结果「轰」的一声,%s口中鲜血狂喷而出","结果%s一声惨叫,像滩软泥般塌了下去"};/*构造方法*/public Role() {}public Role(String name, int blood , char gender ) {this.name = name;this.blood = blood;this.gender = gender;/*注意:这里的face是随机的,所以不能直接赋值*/setFace(gender);}public char getGender() {return gender;}public void setGender(char gender) {this.gender = gender;}public String getFace() {return face;}public void setFace(char gender) {/**长相是随机的*并且要判断男女*/Random r = new Random();if ( gender == '男' ){/*从boyFaces里面随机长相*/int index = r.nextInt(boyFaces.length) ;this.face = boyFaces[index] ;} else if ( gender == '女' ) {/*从girlFaces里面随机长相*/int index = r.nextInt(girlFaces.length) ;this.face = girlFaces[index] ;}else {/*既不是男也不是女*/this.face = "面目狰狞" ;}// this.face = face;}/*** 获取* @return name*/public String getName() {return name;}/*** 设置* @param name*/public void setName(String name) {this.name = name;}/*** 获取* @return blood*/public int getBlood() {return blood;}/*** 设置* @param blood*/public void setBlood(int blood) {this.blood = blood;}/*定义一个方法攻击别人方法的调用者去攻击参数*/public void attack( Role role ){//随机输出一个攻击的效果Random r = new Random();//随机一个索引int index = r.nextInt(attacks_desc.length);String KongFu = attacks_desc[index];//输出一个攻击效果System.out.printf(KongFu , this.getName() , role.getName() );System.out.println();//计算造成的伤害 1~20int hurt = r.nextInt(20) + 1 ;/*剩余血量*/int remainBlood = role.getBlood() - hurt ;/*对剩余的血量做一个验证,如果为负数,就修改为零*/remainBlood = remainBlood < 0 ? 0 : remainBlood ;/*修改被打人的血量*/role.setBlood(remainBlood) ;/*受伤的描述效果从剩余血量进行描述判断血量*/if ( remainBlood > 90 ){System.out.printf( injureds_desc[0], role.getName() );} else if ( remainBlood > 80 ) {System.out.printf( injureds_desc[1] , role.getName() );} else if ( remainBlood > 70 ) {System.out.printf(injureds_desc[2] , role.getName() );} else if ( remainBlood > 60 ) {System.out.printf(injureds_desc[3] , role.getName() );} else if ( remainBlood > 40 ) {System.out.printf(injureds_desc[4] , role.getName() );} else if ( remainBlood > 20 ) {System.out.printf( injureds_desc[5] , role.getName() );} else if ( remainBlood > 0 ) {System.out.printf(injureds_desc[6] ,role.getName() );} else {System.out.printf(injureds_desc[7] ,role.getName() );}System.out.println();}/*展示角色的所有信息*/public void showRoleInfo(){System.out.println("性名为:" + getName() );System.out.println("血量为::" + getBlood() );System.out.println("性别为:" + getGender() );System.out.println("长相为:" + getFace() );}
}

Java之文字版格斗游戏-乔峰PK鸠摩智相关推荐

  1. Java系列 文字版格斗游戏

    写出两个对象 包括姓名和血量 然后赋予其方法,方法内容就是对对方角色进行攻击. 当血量为0后 游戏结束 (不一定非要按照我的方法 大概差不多能实现功能就行了) 我的编程分为两个类  这是Role类 ( ...

  2. Java学习-----文字版格斗游戏

    规则:格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定任务的时候(new对象的时候),这些信息就应该被确定下来 我将它稍微修改了一下,改为可以键盘输入角色的名字和性别(血量的没写固定100,当然也 ...

  3. JAVA练习题17:文字版格斗游戏

    文字版格斗游戏 1. 规则:格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定任务的时候(new对象的时候),这些信息就应该被确定下来 2. 举例: 姓名为:乔峰 姓名为:鸠摩智 血量为:100 血 ...

  4. Java黑马程序员:文字版格斗游戏

    package 练习包;import java.lang.reflect.Member; import java.lang.reflect.Method;public class Day01 {pub ...

  5. java文字版格斗游戏。

    javabean类: package Test; import java.util.Random; class Role {     private String name;//创建角色属性      ...

  6. Java 文字版打斗游戏

    文章目录 一.题目描述 二.界面展示 1.第一次运行结果 英雄信息显示 攻击过程显示 2.第二次运行结果 英雄信息显示 攻击过程显示 三.功能实现 1.英雄类字段定义 2.长相描述定义 3.攻击方式和 ...

  7. java 横版游戏开发_用MyEclipse的Java Project开发仿DNF横版格斗游戏

    这些天,我正在用MyEclipse的Java Project开发一款仿DNF 横版格斗游戏. http://v.youku.com/v_show/id_XMTI5MTE0NDg4MA==.html 这 ...

  8. 横版java_Project4 自己用java写的横版格斗游戏 功能还不是很复杂 可以作为参考~ Other Games 其他 238万源代码下载- www.pudn.com...

    文件名称: Project4下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 5963 KB 上传时间: 2013-07-17 下载次数: 4 提 供 者: lyk ...

  9. Java_题目_面向对象文字花钱格斗游戏

    一.题目:面向对象文字花钱格斗游戏 二.重难点: 1)掌握JavaBean的写法,及相关快捷键或插件生成. 包含缺省及含参构造器.getter和setter.成员方法等. 2)掌握创建对象.方法后的栈 ...

最新文章

  1. C# 实现Oracle中的数据与Excel之间的转换
  2. 前端项目课程3 jquery1.8.3到1.11.1有了哪些新改变
  3. KindEditor 给KindEditor赋值
  4. jQuery图片自动轮转动画特效
  5. bzoj 1598: [Usaco2008 Mar]牛跑步 [k短路 A*] [学习笔记]
  6. Python应用实战-Pandas 计算连续行为天数的几种思路
  7. php 查询and or,php – SQL查询多个AND和OR不起作用
  8. CYP音乐emlog主题免费版 炫酷黑色主题
  9. 面对锁等待难题,数仓如何实现问题的秒级定位和分析
  10. osg多线程_尝试使用Osg编译上下文实现多线程编译显示列表--总结
  11. 跟着小皮老师了解Go语言LiteIDE详细使用教程❤
  12. RS485接收数据后发送乱码
  13. python tkinter界面随分辨率自动调整尺寸_如何使pythonttkinter文本在按钮和标签中自动调整大小?...
  14. 山东省高中学业水平考试计算机考试教材,2017年山东高中学业水平考试科目
  15. 不可思议有氧机器人_不思议迷宫奇怪的机器人 不思议迷宫奇怪的机器人获取方式一览...
  16. CCP/XCP标定协议解析
  17. java基础练习题(for,switch,while,基本数据类型和引用数据类型的联系)
  18. 四书《孟子》《论语》《中庸》《大学》五经《风》《雅》《颂》全文
  19. Oracle收款核销了怎么撤销,21应收收款-核销取消或核销调整
  20. B. Fridge Lockers

热门文章

  1. [bzoj1324]Exca王者之剑_最小割
  2. Room和RxJava
  3. windows7建行网上银行不能使用,弹出白框问题
  4. Python如何创建一个单链表,以及实现单链表的增,删,改,查操作,以及对单链表的排序功能
  5. HTML5 中spen用法,三星的Spen是什么 有什么用呢
  6. Go | 一分钟掌握Go | 10 - 反射
  7. 2021.3.16en
  8. 仓库管理存在的问题及改进对策?
  9. GitHub上反对996,这些程序员都来自哪里?
  10. BJFU_数据结构习题_260二维数组中的元素查重