Skip to content

Instantly share code, notes, and snippets.

@owliao
Created October 31, 2020 06:56
Show Gist options
  • Save owliao/7fc0dde1aa49a0127be3e8a569179f31 to your computer and use it in GitHub Desktop.
Save owliao/7fc0dde1aa49a0127be3e8a569179f31 to your computer and use it in GitHub Desktop.
击剑
import java.util.Scanner;
public class Test {
public static void main(String[] args){
System.out.println("1");
Hero T1 = new Hero();
Monster M1 = new Monster();
Bouter B1 = new Bouter();
B1.BoutBegin(T1.name,T1.atk1,T1.san1,T1.def1,M1.name,M1.atk1,M1.san1,M1.def1);
}
}
interface Tp{
String name();
int san();
int atk();
int def();
}//属性
class Hero implements Tp{//创建并初始化主角的属性
String name;
int san1;
int atk1;
int def1;
public Hero(){
IVHero H1 = new IVHero();
H1.IVHero();
name();
san();
atk();
def();
};
public String name(){
return name;
}
public int san(){
return san1;
}
public int atk(){
return atk1;
}
public int def(){
return def1;
}
class IVHero {
public void IVHero(){
name();
san();
atk();
def();
}
public void name() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你英雄的名字:");
name = sc.nextLine();
}
public void san() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的生命值:");
san1 = sc.nextInt();
}
public void atk() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的攻击力:");
atk1 = sc.nextInt();
}
public void def() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的防御力:");
def1 = sc.nextInt();
}
}
}//主角属性
class Monster implements Tp {
String name = "小野菊";
int san1 = 20;
int atk1 = 5;
int def1 = 3;
public String name(){
return name;
};
public int san(){
return san1;
};
public int atk(){
return atk1;
};
public int def(){
return def1;
};
}//野怪属性
abstract class Battler {
void comatking() { }
}//战斗预设
class Battle extends Battler {
int comatking(String name1,String name2, int san, int atk) {
int c = san;
if (san > atk) {
c = san - atk;
System.out.println(name1+"对" + name2 + "造成了" + atk + "的伤害");
san = san - atk;
System.out.println(name2+"目前剩余的血量:"+san);
} else {
System.out.println(name2 + "Die");
}
return san;
}
}//普通
class Bouter {
public void BoutBegin(String name1,int atk1,int san1,int def1,String name2,int atk2,int san2,int def2) {
for (int i = 1; i < 100; i++) {
if(i%2 == 1) {
Scanner sc = new Scanner(System.in);
System.out.println("请选择你接下来的操作:\n1.攻击");
int sc1 = sc.nextInt();
if (sc1 == 1) {
Battle Battle = new Battle();
san2 = Battle.comatking(name1,name2,san2,atk1);
if(san2 <= 0){
System.out.println("恭喜你战胜了"+name2);
break;
}
}
}else{
Battle Battle = new Battle();
san1 =Battle.comatking(name2,name1,san1,atk2);
if(san1 <= 0 ){
System.out.println("对不起游戏结束");
break;
}
}
}
}
}//回合判断
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment