一个小的java作业,第一次上传CSDN,原创的

自己写的一个小的java作业,第一次上传CSDN,原创的,最近在玩帝国3,然后根据石头剪刀布,炮车骑兵长枪兵的克制规则写了一下,花了一个上午的时间。

import java.util.Random;

interface war {
	void xuanze();//显示派兵选项,要重写
	void fight(int f);//1到4局显示敌方派兵,要重写
	void kill(int they,int we,int fen);//派兵对阵,以及该局分数,要重写
	void deFen();//显示当前得分,要重写
	void juezhan();//显示决战信息,要重写
	void warEnd();//战争结局,要重写
	void seeFen(int juezhanFen);//显示决战分数,以及1求和谈判2继续选项,要重写
	void talks(int they,int we);//谈判,要重写
}
import java.util.Random;

abstract class enemy implements war{
	private static int theyFen=0;//私有属性只能get和set获取和修改
	private static int weFen=0;	
	private final int huoshengFen=100;
	private final int juezhanFen=(new Random().nextInt(3))*100+300;//随机300、400、500
	public int getHuoshengFen() {
		return huoshengFen;
	}
	public int getJuezhanFen() {
		return juezhanFen;
	}
	public static int getTheyFen() {
		return theyFen;
	}
	public static void setTheyFen(int theyFen) {
		enemy.theyFen = theyFen;
	}
	public static int getWeFen() {
		return weFen;
	}
	public static void setWeFen(int weFen) {
		enemy.weFen = weFen;
	}
	public void fight(int f){//在子类重写
		System.out.println("第???局:敌方派出了???,请指挥作战!(1、派出???2、派出???3、派出???)");
	}
	public void xuanze(){
		System.out.println("战争开始了,长枪兵克制骑兵,骑兵克制炮车,炮车克制长枪兵:");
		System.out.println("1、派出长枪兵");
		System.out.println("2、派出骑兵");
		System.out.println("3、派出炮车");
		System.out.println("共5局:第1局到第4局每局100分,第五局为决战局,决战局获胜分为300到500分,战争结束时计分多者获胜!");
	}
	public void deFen(){;
		System.out.println("当前得分:");
		System.out.println("我方:"+this.weFen+",敌方:"+this.theyFen);
	}
	public void warEnd(){
		deFen();
		if((this.weFen-this.theyFen)>=300)
		{
			System.out.println("这场战役对面弱不禁风,你赢得毫无悬念!");
		}
		else if(this.weFen>this.theyFen) {
			System.out.println("你赢得了这场战役。");
		}else if(this.weFen<this.theyFen){
			System.out.println("你输了这场战役。");
		}else if(this.weFen==this.theyFen){
			System.out.println("这场战役没有胜负,你们结成了同盟!");
		}
	}
	public void kill(int they,int we,int fen){//fen有huoshengFen和juezhanFen
			if(they==1) {
			  if(we==1) {
				  System.out.println("你的长枪兵和敌方长枪兵,旗鼓相当,没有分出胜负");
			  }else if(we==2) {
				  System.out.println("你的骑兵被敌方长枪兵干翻了");
				  theyFen+=fen;
			  }else if(we==3) {
				  System.out.println("你的炮车干翻了敌方长枪兵");
				  weFen+=fen;
			  }else {
				  System.out.println("指挥错误,你没有派兵!");
				  theyFen+=fen;
			  }
		  }else if(they==2) {
			  if(we==1) {
				  System.out.println("你的长枪兵干翻了敌方骑兵");
				  weFen+=fen;
			  }else if(we==2) {
				  System.out.println("你的骑兵和敌方骑兵,旗鼓相当,没有分出胜负");
			  }else if(we==3) {
				  System.out.println("你的炮车被敌方骑兵干翻了");
				  theyFen+=fen;
			  }else {
				  System.out.println("指挥错误,你没有派兵!");
				  theyFen+=fen;
			  }
		  }else if(they==3) {
			  if(we==1) {
				  System.out.println("你的长枪兵被敌方炮车干翻了");
				  theyFen+=fen;
			  }else if(we==2) {
				  System.out.println("你的骑兵干翻了敌方炮车");
				  weFen+=fen;
			  }else if(we==3) {
				  System.out.println("你的炮车和敌方炮车同归于尽了");
			  }else {
				  System.out.println("指挥错误,你没有派兵!");
				  theyFen+=fen;
			  }
		  }
	}
	public void juezhan(){
		System.out.println("决战局到了,本局你不知道敌方出兵信息:");
		System.out.println("1、派出长枪兵");
		System.out.println("2、派出骑兵");
		System.out.println("3、派出炮车");
	}
	public void seeFen(int juezhanFen){
		System.out.println("\n决战分:"+juezhanFen);
		System.out.println("0、求和与谈判");
		System.out.println("1、继续");
	}
	public void talks(int they,int we){
		if(they>we){
			System.out.print("你付出了一点代价,");
		}if(they<we){
			System.out.print("对方付出了一点代价,");
		}
	}
}
public class pikeman extends enemy{
	String opponent="长枪兵";
	@Override
	public void fight(int f){
		System.out.println("第"+f+"局:敌方派出了"+this.opponent+",请指挥作战!(1、派出长枪兵2、派出骑兵3、派出炮车)");
	}
}
public class cavalryman extends enemy{
	String opponent="骑兵";
	@Override
	public void fight(int f){
		System.out.println("第"+f+"局:敌方派出了"+this.opponent+",请指挥作战!(1、派出长枪兵2、派出骑兵3、派出炮车)");
	}
}
public class gunCarrier extends enemy{
	String opponent="炮车";
	@Override
	public void fight(int f){
		System.out.println("第"+f+"局:敌方派出了"+this.opponent+",请指挥作战!(1、派出长枪兵2、派出骑兵3、派出炮车)");
	}
}
import java.util.Random;
import java.util.Scanner;

public class warStart {

	public static void main(String[] args) {
		pikeman p=new pikeman();
		cavalryman c=new cavalryman();
		gunCarrier g=new gunCarrier();
		p.xuanze();
		Scanner sc = new Scanner(System.in);
		int a;
		int randomNumber;
		  for(int i = 1; i<=4;i++){		  
			  randomNumber=new Random().nextInt(3)+1; //随机1-3
			  if(randomNumber==1) {
				  p.fight(i);
			  }else if(randomNumber==2) {
				  c.fight(i);
			  }else if(randomNumber==3) {
				  g.fight(i);
			  }
			  a = sc.nextInt();
			  p.kill(randomNumber,a,p.getHuoshengFen());//一般场分数
			  p.deFen();
		  }
		p.seeFen(p.getJuezhanFen());//get查看决战分,同时显示选项1、求和谈判还是2、继续
		a = sc.nextInt();
		if(a==0){
			p.talks(p.getTheyFen(),p.getWeFen());
			p.setTheyFen(0);//求和谈判后双方分数为0
			p.setWeFen(0);//求和谈判后双方分数为0
			p.warEnd();
		}else{
			p.juezhan();
			randomNumber=new Random().nextInt(3)+1; 
			a = sc.nextInt();
			p.kill(randomNumber,a,p.getJuezhanFen());//决战场分数
			p.warEnd();
		}
	}

}
public class 说明 {
//碾压,兵种克制,长枪兵克制骑兵,骑兵克制炮车,炮车克制长枪兵
//赢了战斗获得分数
//规则类似石头剪刀布
//谢裴赐原创,使用setter/getter, static, final, abstract,@Override等语法要素。
//war接口,enemy抽象使用war接口重写方法,cavalryman(骑兵)、gunCarrier(炮车)、pikeman(长枪兵)是enemy子类
//warStart就是测试类
}

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值