黑马程序员Java零基础视频教程_上部(Java入门,含斯坦福大学练习题+力扣算

交作业啦啦啦,超级好玩
Main方法
- package ONE;
import Role.Role; import java.lang.*; public class Main { public static void main(String[] args) { Role role = new Role("鸠摩智", "剑眉星目", true); Role role01 = new Role("扫地僧", "弯腰驼背,面容模糊", true); Role role02 = new Role("不知水舞", false); role01.showRole(); role02.showRole(); role.showRole(); while (true) { if (role01.getAgility() > role02.getAgility()) { role01.attack(role02); if (role02.getBlood() <= 0) { System.out.println(role02.getName() + "KO"); break; } role02.attack(role01); if (role01.getBlood() <= 0) { System.out.println(role01.getName() + "KO"); break; } } else { role02.attack(role01); if (role01.getBlood() <= 0) { System.out.println(role01.getName() + "KO"); break; } role01.attack(role02); if (role02.getBlood() <= 0) { System.out.println(role02.getName() + "KO"); break; } } } } }
Role类
package Role; import java.util.Random; public class Role { private static Random r=new Random(); enum skillGrade{}; private static String []skills=new String[]{ "%s使出了一招[背心钉] ,转到对方的身后,一掌向%s背心的灵台穴拍去。\n", "%s使出了一招[游空探爪] ,飞起身形自半空中变掌为抓锁向%s。\n", "%s大喝一声,身形下伏,一招[劈雷坠地] ,捶向%s双腿。\n", "%s运气于掌,一瞬间掌心变得血红,一式[掌心雷] ,推向%s。\n", "%s阴手翻起阳手跟进,一招[没遮拦] ,结结实实的捶向%s。\n", "%s上步抢身,招中套招,一招[劈挂连环]连环攻向%s。\n" }; private static String []injureds=new String[]{ "结果%s退了半步,毫发无损。,受到%d点伤害。\n", //无伤 "结果给%s造成一处瘀伤,受到%d点伤害。\n", //伤害*0.5 "结果一击命中,%s痛得弯下腰,受到%d点伤害。\n", //伤害*0.75 "结果%s痛苦地闷哼了一声,显然受了点内伤,受到%d点伤害。\n", //正常伤害 "结果%s摇摇晃晃,一跤摔倒在地,受到%d点伤害。\n", //伤害*1.25 "结果%s脸色一下变得惨白,连退了好几步结果轰~~!的一声,口中鲜血狂喷而出,受到%d点伤害。\n", //伤害*1.50 "结果%s一声惨叫,像滩软泥般塌了下去,受到%d点伤害。\n" //伤害*2 }; String Name,face; boolean gender; int blood=100; String[] boyface={"风流俊朗","气宇轩昂","五官端正","相貌平平","一塌糊涂","面目狰狞"}; String[] girlface={"沉鱼落雁","前凸后翘","亭亭玉立","相貌平平","黄脸婆娘","歪瓜裂枣"}; int agility=r.nextInt(100); public Role() { } public Role(String name,String face, boolean gender) { Name = name; this.face = face; this.gender = gender; } public Role(String name,boolean gender) { Name = name; this.gender = gender; face=gender==true?boyface[FaceIndex()]:girlface[FaceIndex()]; blood=100; } public int FaceIndex(){ int num=r.nextInt(100); if(num>=95){ return 0; } else if(num>=80){ return 1; }else if(num>=70){ return 2; }else if(num>=60){ return 3; }else if(num>=40){ return 4; }else { return 5; } } public void showRole(){ System.out.println("角色名称:\t"+getName()+"\n性别为:\t\t"+getGender()+"\n长相为:\t\t"+getFace()); System.out.printf("敏捷为:%d\n",getAgility()); System.out.println("血量为:\t\t"+getBlood()); System.out.println(""); } public void attack(Role role){ int n1=getSkillNum(); int n2=getInjuredNum(); int injured=(int)((r.nextInt(20)+5)*getInjuredIdex(n1,n2)); role.setBlood(role.getBlood()-injured); System.out.printf(skills[n1]+injureds[n2],getName(),role.getName(),role.getName(),injured); System.out.println("此时"+role.getName()+"血量为"+role.getBlood()); } //伤害计算 public static int getSkillNum(){ int num=r.nextInt(6); return num; } public static int getInjuredNum(){ int num=r.nextInt(7); return num; } public static double getInjuredIdex(int n1,int n2){ switch (n2){ case 0:return 0.0; case 1:return 0.5; case 2:return 0.75; case 3:return 1; case 4:return 1.25; case 5:return 1.5; case 6:return 2.0; } return 1.0; } public int getAgility() { return agility; } public void setAgility(int agility) { this.agility = agility; } public String getGender(){ if(gender==true){ return "♂"; }else return "♀"; } public String getName() { return "("+Name+")"; } public void setName(String name) { Name = name; } public String getFace() { return face; } public void setFace(String face) { this.face = face; } public void setGender(boolean gender) { this.gender = gender; } public int getBlood() { return blood; } public void setBlood(int blood) { this.blood = blood; } public String[] getBoyface() { return boyface; } public void setBoyface(String[] boyface) { this.boyface = boyface; } public String[] getGirlface() { return girlface; } public void setGirlface(String[] girlface) { this.girlface = girlface; } }