黑马程序员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;
}
}

