本文主要是介绍Java题解02|文字版格斗游戏详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Role
package object;import java.util.Random;public class Role {
// 类名为Role
// 类的属性为name和blood
// 私有化保证数据的安全性,只能在本类中访问,其他地方访问要用get/setprivate String name;private int blood;// 构造方法
// 空参public Role() {super();// TODO Auto-generated constructor stub}
// 全部参数public Role(String name, int blood) {super();this.name = name;this.blood = blood;}
// 成员方法public String getName() {return name;}public void setName(String name) {this.name = name;}public int getBlood() {return blood;}public void setBlood(int blood) {this.blood = blood;}// 除了构造方法,Role还有其他的行为(方法)
// 两个Role需要攻击,有攻击行为
// 谁调用方法就是谁攻击,在方法中被调用的参数就是被攻击者public void attack(Role role) {
// 这里的Role是引用了Role这个类
// role相当于变量名,即这个Role中的名r1 r2,就是一种介质,间接连接着name和blood
// 在攻击时会有血量的变化
// 定义一个随机数表示每次攻击掉的血量Random r=new Random();int hurt=r.nextInt(20)+1;
// 剩余血量int remainblood=role.getBlood()-hurt;
// 对剩余血量做一个判断remainblood=remainblood<0?0:remainblood;
// 对剩余血量进行重置role.setBlood(remainblood);
// System.out.println("乔峰打了鸠摩智一拳,造成了xx点损耗,还剩xx点血量!")System.out.println(this.getName()+"打了"+role.getName()+"一拳,造成了"+hurt+"点损耗,还剩"+remainblood+"点血量!");
// 这里乔峰是this.getName()因为乔峰是Role类里面的,是调用方法的,被私有化,所以用的时候要写this
// 鸠摩智是我们创建的方法中的参数,这个就是role里面的}}
RoleTest
package object;public class RoleTest {
// 测试类要写mainpublic static void main(String[] args) {
// 创建对象
// 类名 对象名=new 类名();Role r1=new Role("乔峰",100);
// Role有两个属性,可直接在()中进行赋值Role r2=new Role("鸠摩智",100);// 开始攻击(循环)while(true) {
// 先乔峰打鸠摩智r1.attack(r2);
// 对剩余血量判断,如果为0.即si了if(r2.getBlood()==0) {
// System.out.println("乔峰KO了鸠摩智");System.out.println(r1.getName()+"KO了"+r2.getName());break;}// 鸠摩智打乔峰r2.attack(r1);if(r1.getBlood()==0) {System.out.println(r2.getName()+"KO了"+r1.getName());break;}}}
}
这篇关于Java题解02|文字版格斗游戏详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!