自己写的一个小的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、500public 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和juezhanFenif(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="长枪兵";@Overridepublic void fight(int f){System.out.println("第"+f+"局:敌方派出了"+this.opponent+",请指挥作战!(1、派出长枪兵2、派出骑兵3、派出炮车)");}
}
public class cavalryman extends enemy{String opponent="骑兵";@Overridepublic void fight(int f){System.out.println("第"+f+"局:敌方派出了"+this.opponent+",请指挥作战!(1、派出长枪兵2、派出骑兵3、派出炮车)");}
}
public class gunCarrier extends enemy{String opponent="炮车";@Overridepublic 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-3if(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);//求和谈判后双方分数为0p.setWeFen(0);//求和谈判后双方分数为0p.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就是测试类
}

一个小的java作业,第一次上传CSDN,原创的相关推荐

  1. java 微信图片上传_微信小程序图片上传java端以及前端实现

    小程序的图片上传与传统的图片上传方式有一些不一样 如果你有幸看到这篇文章,恭喜你,你可以完美解决了. 话不多说,前后端代码一并奉上: (基于springmvc ) @Controller @Reque ...

  2. 微信小程序开发之图片上传+Java服务端接收

    闲言少叙直入正题 前端代码在网上一搜一大堆,且搜出来的结果基本上是正确的,没啥好说的,我连代码都不想贴(如果有时间的话明天整理下贴在文章结尾,没时间的话就不贴了).但是,但是,但是,靠谱的,不用改动就 ...

  3. 微信小程序java中文乱码_如何解决微信小程序显示中文无法上传或者出现乱码的问题?...

    今天小编给大家讲解如何解决微信小程序显示中文无法上传或者出现乱码的问题?有需要或者有兴趣的朋友们可以看一看下文,相信对大家会有所帮助的. 在formData中对文字进行编码,使用encodeURI() ...

  4. java使用sftp上传(文件)图片到服务器中

    最近租了一个服务器,想着上线个小项目,结果图片上传卡壳了,自从11号看了一篇文章就入了ftp的坑.研究了十多个小时的ftp文件传输,无果.睡前看到了一篇关于sftp上传文件的文章,抱着试一试的心态,结 ...

  5. JAVA图片裁剪上传实例______软件开发-帮助类

    实现思路 使用jcrop插件手机要裁剪图片的坐标 将收集到的参数传递到后台,在后台使用java图形对象绘制图像进行裁剪  后台处理流程:  1.将上传的图片按按照比例进行压缩后上传到文件服务器,并且将 ...

  6. Java代码实现上传视频获取视频某一帧作为截图封面(二)

    上一个文章讲了Java代码实现上传视频获取视频某一帧作为截图封面的一种方法,现在讲述第二种方法.为什么要在这里讲这种方法呢?第一.这种方法生成的图片占用的空间更小第二.这种方法可以获取很多信息 一.根 ...

  7. java图片如何上传_Java如何将图片上传到服务器

    Java如何将图片上传到服务器 发布时间:2020-11-10 17:28:18 来源:亿速云 阅读:96 作者:Leah 这篇文章将为大家详细讲解有关Java如何将图片上传到服务器,文章内容质量较高 ...

  8. java多附件上传 实例demo

    java多附件上传 实例demo <%@ page language="java" import="java.util.*" pageEncoding=& ...

  9. java jsp 文件上传_用JSP编写文件上传

    用JSP编写文件上传 发布时间:2016-09-14 来源: 点击: 次 如果你曾用VB编写文件上传的组件的话,那么用JAVA编写文件上传的JAVABEAN十分容易. 下面的例子只是一个简版 pack ...

最新文章

  1. Python 之父立 Flag:明年要把 Python 速度提高 2 倍!
  2. tvOS模拟器遥控的快捷键
  3. Docker 私有仓库 Harbor registry 安全认证搭建 [Https]
  4. Big Data, Hadoop and StreamInsight™
  5. python垃圾回收机制(GC)相关问题
  6. hdu 4350 2012 多校 - 6
  7. 快来mark! 结构体重载运算符大全(运算、比较、赋值、输入输出)
  8. php数组匹配匹配里面的值,php – 比较数组并搜索匹配的值
  9. SQL Server 内存中OLTP内部机制概述(二)
  10. 用会声会影制作手链的展示视频
  11. 关于更换PC版浏览器推荐
  12. 变形金刚之雷曼疯狂兔子:抽水马桶变身
  13. 浙师大 计算机科学技术导论,计算机科学技术导论
  14. 如何微信多开,Mac电脑 同时登陆一个或多个微信、QQ
  15. 数据库系统从挂科到满分【精华再精华的数据库系统基础理论】1
  16. C语言:L1-057 PTA使我精神焕发 (5 分)
  17. SpringAOP - @within和@annotation区别
  18. 小公司请多做减法,少谈管理
  19. PCWIFI--无线网络共享软件
  20. Xcode与C++之游戏开发:Pong游戏

热门文章

  1. 表删除时 Cannot delete or update a parent row: a foreign key constraint fails 异常处理
  2. 转载:联想小新进入BIOS方法
  3. 《出版专业基础》2015年版(初级)思考与练习 第六章
  4. DZY Loves Math题解
  5. Appium从环境搭建到测试脚本编写(四)
  6. 武夫提笔——席卷世界Nodejs之初步对比:与opa各占几分春色?
  7. UE4 UMG多行文本
  8. 递归回溯法求数独全部解
  9. 测试OTA升级时uboot是否会更新
  10. 51单片机完成时钟形式显示