首先说一下,自己有需要想自己去玩的尽管用,就是得承认是我写的就可以了。我一般写了的代码都会开放原码,希望能够得到更好的指点。

我编写这段java代码的环境是eclipse,在这个环境下是可以执行的。

内容实际上比较简单,可以总结为,输入一些变量,通过我指定的算法得出结果。

我所选的案例是一款名为 弹弹堂3 (七道)的游戏,我将我所研究的高抛法作为核心算法,通过:用户输入的屏距和 风力最后得出 应该使用的 角度和 力度。

Main.java

class Main

{

public static void main(String args[])

{

new WindowTool();

}

}

WindowTool.java

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import javax.swing.*;

import java.awt.event.*;

import javax.swing.*;

class WindowTool extends JFrame

{

JLabel distanceV = new JLabel("屏距");

JTextField distance = new JTextField("0");

JLabel windV = new JLabel("风力");

JTextField wind = new JTextField("0");

JButton winds = new JButton("顺风力");

JButton windn = new JButton("逆风力");

JLabel result = new JLabel("Java Applicantion of Harry_Zhong");

public WindowTool()

{

setLayout( new FlowLayout());

getContentPane().add(distanceV);

getContentPane().add(distance);

getContentPane().add(windV);

getContentPane().add(wind);

getContentPane().add(winds);

getContentPane().add(windn);

getContentPane().add(result);

winds.addActionListener(new JAHC_01(distance,result,wind) );

windn.addActionListener(new JAHC_02(distance,result,wind) );

setSize(600,100);

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

setVisible(true);

}

}

JAHC_01.java

import java.awt.event.*;

import javax.swing.JLabel;

import javax.swing.JTextField;

class JAHC_01 implements ActionListener

{

JTextField distance = new JTextField();

JLabel result = new JLabel();

JTextField wind = new JTextField();

public JAHC_01(JTextField distance, JLabel result,JTextField wind)

{

this.distance=distance;

this.result=result;

this.wind=wind;

}

public void actionPerformed(ActionEvent e)

{

String s = distance.getText();

double d = Double.parseDouble(s);

String t = wind.getText();

double w = Double.parseDouble(t);

int d1=(int)d;

int w1=(int)w;

double a = 90-d1+2*w1;

double p = 95+(d%1)*5-((2*w)%1*5);

//判别是否进一估计

if(((2*w)%1)>=0.3)

{

a+=1;

p+=5;

}

if((d%1)>=0.6)

{

a-=1;

p-=5;

}

//确保有效力度

while(p<=90)

{

p+=5;

a+=1;

}

while(p>=100)

{

p-=5;

a-=1;

}

result.setText("角度:" + a + " 力度:" + p);

}

}

JAHC_02.java

import java.awt.event.*;

import javax.swing.JLabel;

import javax.swing.JTextField;

class JAHC_02 implements ActionListener

{

JTextField distance = new JTextField();

JLabel result = new JLabel();

JTextField wind = new JTextField();

public JAHC_02(JTextField distance, JLabel result,JTextField wind)

{

this.distance=distance;

this.result=result;

this.wind=wind;

}

public void actionPerformed(ActionEvent e)

{

String s = distance.getText();

double d = Double.parseDouble(s);

String t = wind.getText();

double w = Double.parseDouble(t);

int d1=(int)d;

int w1=(int)w;

double a = 90-d1-2*w1;

double p = 95-(d%1)*5+((2*w)%1*5);

//判别是否进一估计

if((d%1)>=0.6)

{

a-=1;

p-=5;

}

if(d-(d*10)/10>0.5)

{

a+=1;

p+=5;

}

//确保有效力度

while(p<=90)

{

p+=5;

a+=1;

}

while(p>=100)

{

p-=5;

a-=1;

}

result.setText("角度:" + a + " 力度:" + p);

}

}

以上即为的拙作,我所找的帮我测试的人反映的结果与预期是一样的,我目前所使用的算法在实战测试中不能应对高差(没有考虑y轴的变化),所以有类似建议的可以不用再提啦,

但是也有好的地方,看过代码的人应该注意到我的那几个变量是double类型的,因为我的算法最高精度是0.2屏距,而弹弹堂游戏自身提供的算法精度是1屏距,无法处理非整数情况,我

的这个可以进一步解决这个问题。

看完以后又想说的尽管说,我以后需要对它进行改进,不管是什么方面的我可以,我的e-mail:20070641@163.com QQ:739375514 (注意qq邮箱基本不用来干正事的,一般用163)

需要源文件的可以通过这两种方式找我(写明备注,不写的我一般会默认诈骗),我会发送一个名为 JAH的压缩包 内含 4个.java文件    (JAH:Java Application of Harry_Zhong)

写完了...

一段java代码_写了一段Java代码,希望大家多多指点相关推荐

  1. 用java代码怎样打开网址_写了一段打开网页java代码报错: 求大神解救

    报错内容:Exceptioninthread"main"org.openqa.selenium.WebDriverException:Unabletobindtolockingpo ...

  2. 灰色模型 java代码_灰色模型的简单Java实现

    前几天在以前的遗留代码中发现一个问题,就是我生成的一个数据的走势曲线的预测值(用于灰色时间序列预测)总是和老代码里的不一致,具体来说就是:遗留代码里面的预测值的斜率总是为零,相比之下我生成的就比较合理 ...

  3. 女朋友生日java程序_★★女朋友要过生日了!我想用java为她写一个程序,一举两得啊! 希望大家多提建议啊!谢谢!!!...

    女朋友要过生日了,我想用java为她写一个程序,所以想请教大家,  希望大家给我出出点子, 同时手头有3D  等漂亮图形的java程序或其他一些特效的文字,图形java程序,都希望大家多提供,  多帮 ...

  4. 双表查询java代码_什么是JDBC?Java数据库连接性简介

    JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...

  5. java象棋人机代码_中国象棋人机对弈Java版源码

    [实例简介] 中国象棋人机对弈Java版源码,包含人工智能实现(含多个难度级别,采用α-β迭代搜索算法) [实例截图] [核心代码] 中国象棋人机对弈Java版源码 ├── boards │   ├─ ...

  6. 微信用户绑定java实例_第三方网站微信登录java代码实现

    前两个星期在公司中的项目加上了微信登录.绑定的功能,在这里做个记录! 一.开发前知识 1.微信开放平台与微信公众平台的区别 1.1 微信公众平台: ② 微信公众平台面向的是普通的用户,比如自媒体和媒体 ...

  7. java 注解_通俗易懂的讲解下Java注解

    对于Java注解,我咨询过一些身边的人,很多人表示: 知道怎么用,不熟悉 不知道你是不是这样?在我没有系统性的学习一边注解的时候,我也是如此,在我花时间学习过注解之后,我觉得,对于注解,最重要的在于理 ...

  8. java 中间件_从头到尾说一遍Java(中间件)垃圾回收

    之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员. 确实,在 Java 的世界里,似乎我们不用对垃圾回收那么的专注,很多初学者 ...

  9. 如何java面试_短时间如何过java面试?

    这题我会!作为一个编程界老司机,我曾总结过一套Java常见的面试考点大全,不知道帮助过多少程序员拿下offer. 现在我把这套Java面试大全放出来,希望对大家有所帮助! 本文内容过长,建议大家先赞后 ...

  10. 代码规范——写给女朋友看的代码

    引言 本文为个人读<阿里巴巴java开发手册1.5>和<编程匠艺>的心得,整理以形成个人良好的代码书写风格 一.命名风格 代码中的命名均不能以下划线或美元符号开始和结束 错误示 ...

最新文章

  1. pandas - 案例(股票分析)
  2. android勾选控件_Android中CheckBox复选框控件使用方法详解
  3. AC日记——「HNOI2017」礼物 LiBreOJ 2020
  4. 网络编程(part6)--OSI七层模型及四层模型(TCP/IP)
  5. [JavaWeb-JavaScript]JavaScript_Math数学对象
  6. android网络转圈,android基于dialog加载时转圈圈很好的demo
  7. shiro学习(20): 自定义过滤规则
  8. php网站的编辑器,5款适合PHP使用的HTML编辑器推荐
  9. insert和update 锁等待_黑龙F5智感双全智能锁全球首发,掀起惊艳风潮
  10. 特征工程 - 机器学习
  11. StringBuilder类的对象 c#
  12. java监听器的原理与实现
  13. 设置电脑系统密码以及桌面密码
  14. indes.php默认文件,linux-php的编译安装3
  15. C#笔记03 运算符和分支结构
  16. sql server利用开窗函数over() 进行分组统计
  17. 计算机要重启电脑才能检测出u盘启动,u盘要电脑重启才能用
  18. 【B站】陈睿:令人刮目相看的年轻一代
  19. 小程序创建搜索记录,获取搜索记录,删除搜索历史
  20. 手写中文文章识别(1)——问题描述

热门文章

  1. 一些思考:腾讯股价为何持续都低
  2. 正则去除html标签和空字符,正则表达式清除空格和html标签中的 空格
  3. pp什么意思_在网络用语中PP是什么意思?
  4. php x forwarded for,代码审计树洞X_FORWARDED_FOR注入
  5. 【LEETCODE】【鱼缸难题】
  6. 同时收到多家公司offer,怎样选择?
  7. AID自定义桌面图标
  8. AID Learning设置aidcode的启动页面
  9. outlook 发送邮件
  10. BP神经网络:误差反向传播公式的简单推导