包含java炮弹躲避代码的词条

java语言 有一个刚出膛的炮弹,初速度是1000m/s出膛后,每秒降低10%的速度,问打击一个5000米的目标要多久

//这个是以整秒为单位,如果要精确到毫秒级别,可以自行优化

我们提供的服务有:网站设计、成都网站建设、微信公众号开发、网站优化、网站认证、射阳ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的射阳网站制作公司

public static void main(String[] args) {

try {

double speek = 1000;//初始速度

int sec = 0;//大概时间数,秒

double distance = 5000.0;//实际距离

while (true){

distance = distance - speek;

speek = speek - (speek * 10 / 100);

sec ++;

System.out.println("第"+sec+"秒后,剩余距离="+distance);

if(distance = 0){

break;

}

}

System.out.println("最终大约需要"+sec+"秒");

} catch (Exception e) {

e.printStackTrace();

}

}

java 炮弹 间隔发射

可以使用Timer和TimerTask类在java中实现定时任务,详细说明如下:

1、基础知识

java.util.Timer

一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。此类是线程安全的:多个线程可以共享单个 Timer 对象而无需进行外部同步。

java.util.TimerTask

由 Timer 安排为一次执行或重复执行的任务。

2、示例代码

该示例实现这样一个功能,在系统运行期间,每30分钟,系统自动检查连接池中的可用连接数,并输出到日志中。

首先创建一个需要定时执行的任务类,这个任务类需要继承TimerTask,然后重写run()方法,run()方法体中的代码就是定时需要执行的操作,在本demo中,就是获取连接池中当前可用连接数,并输出到日志中,具体实现代码如下:

public class TaskAvailableConnectNumber extends TimerTask {

private Logger log = Logger.getLogger(TaskAvailableConnectNumber.class);

private ConnectionPool pool=ConnectionPool.getInstance();

@Override

publicvoid run() {

log.debug("当前连接池中可用连接数"+pool.getAvailableConnectNumber());

}

}

下面定义一个监听器,负责在应用服务器启动时打开定时器,监听器需要实现ServletContextListener接口,并重写其中的contextInitialized()和contextDestroyed()方法,代码如下:

public class OnLineListener implements ServletContextListener{

private Logger log = Logger.getLogger(OnLineListener.class);

Timer timer = null;

//在应用服务器启动时,会执行该方法

publicvoid contextInitialized(ServletContextEvent arg0) {

//创建一个定时器,用于安排需要定时执行的任务。

timer = new Timer();

//为定时器安排需要定时执行的任务,该任务就是前面创建的任务类TaskAvailableConnectNumber,并指定该任务每30分钟执行一次。

timer.schedule(new TaskAvailableConnectNumber(), 0, 30*60*1000);

log.debug("启动定时器");

}

//应用服务器关闭时,会执行该方法,完成关闭定时器的操作。

public void contextDestroyed(ServletContextEvent arg0) {

if(timer!=null){

timer.cancel();//关闭定时器

log.debug("-----定时器销毁--------");

}

}

}

监听器要想正常运行,需要在web.xml文件中进行配置,配置信息如下:

!-- 监听器配置开始 --

listener

listener-class

cn.sdfi.listen.OnLineListener

/listener-class

/listener

!-- 监听器配置结束 --

以上步骤完成后,一个简单的定时器就算开发完成了。

用JAVA编写一个小程序,不限类型好玩点的。

控制台小游戏 class YZDEL

{

public static void main(String[] args)

{

java.util.Random Shiji = new java.util.Random();

java.util.Scanner Shuru = new java.util.Scanner(System.in);

java.util.Scanner Nandu = new java.util.Scanner(System.in);

int YingxHP = 20;

int YingxMP = 0;

int MogHP = 20;

int MogMP = 0;

int MogDo = 0;

int fangyu = 0;

System.out.println("┏━━━━╮┏━━┣┣┓ ╮ ┓┏━┳━┳┓┓━┓ ");

System.out.println("┏┣━━━┓┏━━┣┣┓ ┃┏ ┃ ┃┓┃ ╯ ");

System.out.println("┣┣━━━┫╭━━┻╯╮ ┃╰┓┃ ┃╯┏━┣━━┓");

System.out.println("┣┣━━━┫┏━━━━┓╭━━┣━┛┗━┻━┻┛┃┃");

System.out.println("┏┣━━━┓┣━━━━┫ ┃┃┃┗╮╮┃┃┣━╯");

System.out.println(" ┛┗╯┗━━━━╯┗╯╰╰━━┛┛┗━╯╰━┛");

System.out.println();

System.out.println(" 作者:天狐空幻");

System.out.println();

System.out.println("说明:勇者的操作方式为以下所示:");

System.out.println(" 使用攻击需消耗1MP 伤害1HP");

System.out.println(" 使用蓄力可增加1MP 伤害0HP");

System.out.println(" 使用躲闪需消耗0MP 伤害0HP 躲避攻击");

System.out.println(" 使用重击需消耗3MP 伤害2HP 防御无效");

System.out.println(" 恶龙攻击力高, 注意防御是取胜的关键");

System.out.println(" 恶龙MP达到4时可能会放出火焰无法躲避");

System.out.println(" 准备说明完毕,那么让我们来挑战恶龙吧!");

System.out.println("==================================");

//难度选择

System.out.println("请选择难度");

System.out.println("1.娱乐 2.挑战 3.噩梦");

int ND = Nandu.nextInt();

System.out.println("==================================");

while(true)

{

//HP,MP的显示

System.out.print("勇者: ");

System.out.print(" HP ");

for(int x=YingxHP;x0;x--) System.out.print("*");

System.out.print(" "+YingxHP);

System.out.println();

System.out.print(" ");

System.out.print(" MP ");

for(int x=YingxMP;x0;x--) System.out.print("*");

System.out.print(" "+YingxMP);

System.out.println();

System.out.print("恶龙: ");

System.out.print(" HP ");

for(int y=MogHP;y0;y--) System.out.print("*");

System.out.print(" "+MogHP);

System.out.println();

System.out.print(" ");

System.out.print(" MP ");

for(int y=MogMP;y0;y--) System.out.print("*");

System.out.print(" "+MogMP);

System.out.println();

System.out.println("==================================");

//胜利判定

if(YingxHP1) {System.out.println();System.out.println("勇者HP为0! 不..不可能..我怎么会..勇者倒下了。再接再厉吧!~");System.out.println();break;}

if(MogHP1) {System.out.println();System.out.println("恶龙HP为0! 恶龙绝望的哀鸣中倒了下去。勇者胜利了。恭喜你挑战成功!!");System.out.println();break;}

//角色输入判定

System.out.println("你要做什么:");

System.out.println("1.攻击 2.蓄力");

System.out.println("3.躲闪 4.重击");

System.out.println("____________________");

int Do = Shuru.nextInt();

//敌人输入判定

//娱乐难度

if(ND==1){

for(int i=1;i3;i++) MogDo = Shiji.nextInt(4);}

//挑战难度

if(ND==2){

if(YingxMP==0MogMP==0) {MogDo = 0;}

else if(MogMP==0){for(int i=1;i3;i++) MogDo = Shiji.nextInt(2);}

else if(YingxMP2MogMP2) MogDo = 2;

else if(MogMP4) {for(int i=1;i4;i++) MogDo = Shiji.nextInt(3);}

else MogDo = 3;}

//噩梦难度

if(ND==3){

if(Do==1) MogDo=1;

if(Do==2MogMP0) MogDo=2;

if(Do==2MogMP==0) MogDo=0;

if(Do==3MogMP4) MogDo=0;

if(Do==3MogMP=4) MogDo=3;}//变态判定。。

//战斗分析

//防御

if(Do==3) {fangyu=1;System.out.println("你灵巧的躲避攻击!");}

if(MogDo==1) {fangyu=1;System.out.println("恶龙进行防御!");}

//角色判定

if(Do==1YingxMP==0) {System.out.println("MP不足!");}

if(Do==1YingxMP0) {

if(fangyu==0) {MogHP=MogHP-1;YingxMP=YingxMP-1;System.out.println("你发动攻击!");}

if(fangyu==1) {YingxMP=YingxMP-1;System.out.println("你的攻击被格挡!");}}

if(Do==2) {YingxMP=YingxMP+1;System.out.println("你进行蓄力!");}

if(Do==4YingxMP3) {System.out.println("MP不足!");}

if(Do==4YingxMP2) {MogHP=MogHP-2;YingxMP=YingxMP-3;System.out.println("你发动重击!");}

if(Do 4) System.out.println("你不知所措...");

//敌人判定

if(MogDo==2MogMP==0) {System.out.println("恶龙在发呆!");}

if(MogDo==2MogMP0) {

if(fangyu==0) {YingxHP=YingxHP-2;MogMP=MogMP-1;System.out.println("恶龙发动攻击!");}

if(fangyu==1) {MogMP=MogMP-1;System.out.println("恶龙的攻击被躲开了!");}}

if(MogDo==0) {MogMP=MogMP+1;System.out.println("恶龙进行蓄力!");}

if(MogDo==3MogMP4) {System.out.println("恶龙在发呆!");}

if(MogDo==3MogMP3) {YingxHP=YingxHP-4;MogMP=MogMP-4;System.out.println("恶龙发动火焰吐吸!躲避不能!");}

//结束

fangyu = 0;

MogDo = 0;

System.out.println("____________________");

System.out.println();

System.out.println("=================================="); }

}

}


网站栏目:包含java炮弹躲避代码的词条
网页地址:http://hbruida.cn/article/hjdohe.html