
代码的基础类型方法和属性我们以两个角色之间的对决为例以此需要三个类型我们称之为P1F1和PK前两者为角色后者为对决的程序我们可以设定角色的名字生命值攻击力等数据当然数值必须公平或合理package lyx0703; import java.util.Random; //名字攻击防御生命劈砍开火恢复生命什么都不做,使用战术道具 public class Player { String name; String PlayerID; int fight; int knife; int shield; int HP; int bullets; int level; public void showData(String PLayerID){ System.out.println(玩家ID:name); System.out.println(近战攻击力knife); System.out.println(远战攻击力fight); System.out.println(防御力shield); System.out.println(生命值HP); System.out.println(当前剩余弹药数bullets); System.out.println(当前等级level); } public void showNewData(){ System.out.println(玩家有幸升级生命值提升弹药数增加); System.out.println(目前剩余生命值HP); System.out.println(目前剩余弹药数bullets); }除此之外为保证游戏的公平性我们需要为角色完成初始化public void init(String PLayerID){ name作战干员1; this.PlayerIDPLayerID; HP200; fight10; knife15; shield1; bullets6; System.out.println(name(PLayerID)); showData(PLayerID); }方法的导入这时我们注意到如果P1想要攻击F1我们不能直接在PK中写出而应该在各自的程序中设定好public void fireInTheHole(String FighterID){System.out.println(玩家当场就是一个手雷扔出去了);} public void cut(String FighterID){ System.out.println(玩家上来就是一刀); } public void shoot(String FighterID){ System.out.println(玩家不讲武德掏出自己的大宝贝上来就是一枪); }这时攻击对方所以参数一栏要填上对方的名字public void restore(String PlayerID){ System.out.println(玩家狗了一波掏出大血包咣咣一顿打又支棱起来了); if (HP200){ HP200; } }这时要治疗自己所以要填上自己的名字名称的启用较为复杂这里没有引入在这之后我们要在PK中设定p1.cut(f1.PlayerID); f1.HP-50;随机数的运用如何让游戏变得结果多元化这是我们就要运用到随机数注意运用随机数时必须提前引入import java.util.Random;然后我们就可以设定随机数的每一个数代表的程序从零开始每个数概率相等随机触发int n random.nextInt(12); if (n0){ p1.cut(f1.PlayerID); f1.HP-50; }else if (n1){ f1.cut(p1.PlayerID); p1.HP-50; }注意括号中的“12”代表一共有12种情况这里没有全部展示简易的成品展示建立新对象角色初始化随机数设定package lyx0703; import java.util.Random; public class PKGame { static void main(String[] args) { Player p1new Player(); Fighter f1new Fighter(); p1.init(大帅哥); f1.init(大聪明); Random randomnew Random(); while(p1.HP0 f1.HP0){ int n random.nextInt(12); if (n0){ p1.cut(f1.PlayerID); f1.HP-50; }else if (n1){ f1.cut(p1.PlayerID); p1.HP-50; }else if (n2){ p1.shoot(f1.PlayerID); f1.HP-35; p1.bullets-1; }else if (n3){ f1.shoot(p1.PlayerID); p1.HP-35; f1.bullets-1; }else if (n4){ p1.fireInTheHole(f1.PlayerID); f1.HP-40; p1.HP-10; }else if (n5){ f1.fireInTheHole(p1.PlayerID); p1.HP-40; f1.HP-10; }else if (n6){ p1.restore(f1.PlayerID); p1.HP35; }else if (n7){ f1.restore(p1.PlayerID); f1.HP35; }else if (n8){ p1.sleep(); }else if (n9){ f1.sleep(); }else if (n10){ p1.upgrade(); p1.showNewData(); }else if (n11){ f1.upgrade(); f1.showNewData(); } }if (p1.HP0){ System.out.println(另一名玩家获胜); }else if (f1.HP0){ System.out.println(玩家获胜); } } }