一段java代码_写了一段Java代码,希望大家多多指点
首先说一下,自己有需要想自己去玩的尽管用,就是得承认是我写的就可以了。我一般写了的代码都会开放原码,希望能够得到更好的指点。
我编写这段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代码,希望大家多多指点相关推荐
- 用java代码怎样打开网址_写了一段打开网页java代码报错: 求大神解救
报错内容:Exceptioninthread"main"org.openqa.selenium.WebDriverException:Unabletobindtolockingpo ...
- 灰色模型 java代码_灰色模型的简单Java实现
前几天在以前的遗留代码中发现一个问题,就是我生成的一个数据的走势曲线的预测值(用于灰色时间序列预测)总是和老代码里的不一致,具体来说就是:遗留代码里面的预测值的斜率总是为零,相比之下我生成的就比较合理 ...
- 女朋友生日java程序_★★女朋友要过生日了!我想用java为她写一个程序,一举两得啊! 希望大家多提建议啊!谢谢!!!...
女朋友要过生日了,我想用java为她写一个程序,所以想请教大家, 希望大家给我出出点子, 同时手头有3D 等漂亮图形的java程序或其他一些特效的文字,图形java程序,都希望大家多提供, 多帮 ...
- 双表查询java代码_什么是JDBC?Java数据库连接性简介
JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...
- java象棋人机代码_中国象棋人机对弈Java版源码
[实例简介] 中国象棋人机对弈Java版源码,包含人工智能实现(含多个难度级别,采用α-β迭代搜索算法) [实例截图] [核心代码] 中国象棋人机对弈Java版源码 ├── boards │ ├─ ...
- 微信用户绑定java实例_第三方网站微信登录java代码实现
前两个星期在公司中的项目加上了微信登录.绑定的功能,在这里做个记录! 一.开发前知识 1.微信开放平台与微信公众平台的区别 1.1 微信公众平台: ② 微信公众平台面向的是普通的用户,比如自媒体和媒体 ...
- java 注解_通俗易懂的讲解下Java注解
对于Java注解,我咨询过一些身边的人,很多人表示: 知道怎么用,不熟悉 不知道你是不是这样?在我没有系统性的学习一边注解的时候,我也是如此,在我花时间学习过注解之后,我觉得,对于注解,最重要的在于理 ...
- java 中间件_从头到尾说一遍Java(中间件)垃圾回收
之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员. 确实,在 Java 的世界里,似乎我们不用对垃圾回收那么的专注,很多初学者 ...
- 如何java面试_短时间如何过java面试?
这题我会!作为一个编程界老司机,我曾总结过一套Java常见的面试考点大全,不知道帮助过多少程序员拿下offer. 现在我把这套Java面试大全放出来,希望对大家有所帮助! 本文内容过长,建议大家先赞后 ...
- 代码规范——写给女朋友看的代码
引言 本文为个人读<阿里巴巴java开发手册1.5>和<编程匠艺>的心得,整理以形成个人良好的代码书写风格 一.命名风格 代码中的命名均不能以下划线或美元符号开始和结束 错误示 ...
最新文章
- pandas - 案例(股票分析)
- android勾选控件_Android中CheckBox复选框控件使用方法详解
- AC日记——「HNOI2017」礼物 LiBreOJ 2020
- 网络编程(part6)--OSI七层模型及四层模型(TCP/IP)
- [JavaWeb-JavaScript]JavaScript_Math数学对象
- android网络转圈,android基于dialog加载时转圈圈很好的demo
- shiro学习(20): 自定义过滤规则
- php网站的编辑器,5款适合PHP使用的HTML编辑器推荐
- insert和update 锁等待_黑龙F5智感双全智能锁全球首发,掀起惊艳风潮
- 特征工程 - 机器学习
- StringBuilder类的对象 c#
- java监听器的原理与实现
- 设置电脑系统密码以及桌面密码
- indes.php默认文件,linux-php的编译安装3
- C#笔记03 运算符和分支结构
- sql server利用开窗函数over() 进行分组统计
- 计算机要重启电脑才能检测出u盘启动,u盘要电脑重启才能用
- 【B站】陈睿:令人刮目相看的年轻一代
- 小程序创建搜索记录,获取搜索记录,删除搜索历史
- 手写中文文章识别(1)——问题描述