import java.util.Random;
import java.util.StringTokenizer;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* DWTank.java
*
* Created on Jul 1, 2009, 5:28:35 PM
*/
/**
*
* @author Kyle
*/
public class DWTank extends javax.swing.JFrame {
/** Creates new form DWTank */
public DWTank() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
javax.swing.JLabel jLabel1 = new javax.swing.JLabel();
javax.swing.JLabel jLabel2 = new javax.swing.JLabel();
w1Speed = new javax.swing.JTextField();
javax.swing.JLabel jLabel3 = new javax.swing.JLabel();
w1Damage = new javax.swing.JTextField();
javax.swing.JSeparator jSeparator1 = new javax.swing.JSeparator();
javax.swing.JLabel jLabel4 = new javax.swing.JLabel();
javax.swing.JLabel jLabel5 = new javax.swing.JLabel();
w2Speed = new javax.swing.JTextField();
javax.swing.JLabel jLabel6 = new javax.swing.JLabel();
w2Damage = new javax.swing.JTextField();
javax.swing.JSeparator jSeparator2 = new javax.swing.JSeparator();
javax.swing.JLabel jLabel7 = new javax.swing.JLabel();
javax.swing.JLabel jLabel8 = new javax.swing.JLabel();
attackPower = new javax.swing.JTextField();
javax.swing.JLabel jLabel9 = new javax.swing.JLabel();
avoidance = new javax.swing.JTextField();
javax.swing.JSeparator jSeparator3 = new javax.swing.JSeparator();
javax.swing.JLabel jLabel10 = new javax.swing.JLabel();
javax.swing.JSeparator jSeparator4 = new javax.swing.JSeparator();
SOB = new javax.swing.JComboBox();
javax.swing.JLabel jLabel11 = new javax.swing.JLabel();
javax.swing.JLabel jLabel12 = new javax.swing.JLabel();
initial = new javax.swing.JTextField();
javax.swing.JLabel jLabel13 = new javax.swing.JLabel();
rotation = new javax.swing.JTextField();
javax.swing.JSeparator jSeparator5 = new javax.swing.JSeparator();
javax.swing.JLabel jLabel14 = new javax.swing.JLabel();
time = new javax.swing.JTextField();
javax.swing.JButton run = new javax.swing.JButton();
javax.swing.JLabel jLabel15 = new javax.swing.JLabel();
javax.swing.JScrollPane jScrollPane1 = new javax.swing.JScrollPane();
result = new javax.swing.JTextArea();
jLabel16 = new javax.swing.JLabel();
bSwingTime = new javax.swing.JTextField();
jLabel17 = new javax.swing.JLabel();
miss = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Weapon 1");
jLabel2.setText("Speed (s)");
w1Speed.setText("3.4");
jLabel3.setText("Damage");
w1Damage.setText("800");
jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
jLabel4.setText("Weapon 2");
jLabel5.setText("Speed (s)");
w2Speed.setText("2.6");
jLabel6.setText("Damage");
w2Damage.setText("500");
jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL);
jLabel7.setText("Player");
jLabel8.setText("Attack Power");
attackPower.setText("3050");
jLabel9.setText("Dodge/Parry (%)");
avoidance.setText("44");
jLabel10.setText("Scent of Blood");
jSeparator4.setOrientation(javax.swing.SwingConstants.VERTICAL);
SOB.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Rank 3", "Rank 2", "Rank 1", " " }));
jLabel11.setText("Rotation (RP per second. Seperate with a comma or space. Seperate 10s rotation with colon or semi-colon).");
jLabel12.setText("Initial:");
initial.setText("10,15,20,10,10:0,20,20,10,15");
jLabel13.setText("Rotation:");
rotation.setText("0,20,20,10,10:0,20,20,10,15");
jLabel14.setText("Simulation Time (s)");
time.setText("5000");
run.setText("Run");
run.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
runMouseClicked(evt);
}
});
jLabel15.setText("Result");
result.setColumns(20);
result.setRows(5);
result.setText("Tenth of a second minimum for the variables.");
jScrollPane1.setViewportView(result);
jLabel16.setText("Boss Swing Time (s)");
bSwingTime.setText("2");
jLabel17.setText("Miss");
miss.setText("6");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(w1Speed))
.addComponent(jLabel2)
.addComponent(jLabel3)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(w1Damage)))))
.addGap(18, 18, 18)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5)
.addComponent(jLabel6)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(w2Speed, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(w2Damage, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 38, Short.MAX_VALUE))))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel9)
.addGap(18, 18, 18)
.addComponent(jLabel17))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(avoidance, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(miss, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(attackPower))
.addComponent(jLabel8, javax.swing.GroupLayout.Alignment.LEADING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel10)
.addComponent(SOB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel16)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jLabel14)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(time)))
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(bSwingTime, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jSeparator5, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jSeparator3, javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(jLabel12)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(initial, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel13)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(rotation))
.addComponent(jLabel11))))
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel15, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 421, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(6, 6, 6)
.addComponent(run, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(11, 11, 11)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(w1Speed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(w1Damage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(w2Speed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(w2Damage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(jLabel10))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(attackPower, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(SOB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel9)
.addComponent(jLabel17))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(avoidance, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(miss, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel14)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(time, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel16)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bSwingTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jSeparator4, javax.swing.GroupLayout.DEFAULT_SIZE, 106, Short.MAX_VALUE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel12)
.addComponent(initial, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel13)
.addComponent(rotation, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel15)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(run, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
pack();
}// </editor-fold>
private void runMouseClicked(java.awt.event.MouseEvent evt) {
try {
int SOB = 0;
int tSOB = this.SOB.getSelectedIndex();
switch (tSOB)
{
case 2:
SOB = 1;
break;
case 1:
SOB = 2;
break;
case 0:
SOB = 3;
break;
default:
SOB = 0;
break;
}
// All times are multiplied by 10 to avoid rounding errors in the math
double AP = Double.parseDouble(attackPower.getText());
double w1Damage = Double.parseDouble(this.w1Damage.getText());
double w2Damage = Double.parseDouble(this.w2Damage.getText());
int w1Speed = (int)(Double.parseDouble(this.w1Speed.getText())*10);
int w2Speed = (int)(Double.parseDouble(this.w2Speed.getText()) * 10);
double avoidance = Double.parseDouble(this.avoidance.getText());
int time = (int)(Double.parseDouble(this.time.getText())*10);
int bSwingTime = (int)(Double.parseDouble(this.bSwingTime.getText())* 10);
double miss = Double.parseDouble(this.miss.getText());
StringTokenizer stFull = new StringTokenizer(initial.getText(), ":;");
StringTokenizer stRotation = new StringTokenizer("");
if(stRotation.hasMoreTokens())
stRotation.nextToken();
boolean w1RS = false;
boolean w2RS = false;
int w1SOB = 0;
int w2SOB = 0;
w1Damage = w1Damage * 1.5 + 1500 * AP / 10000;
w2Damage = w2Damage * 1.5 + 1500 * AP / 10000;
int w1RSHits = 0;
int w2RSHits = 0;
int w1RP = 0;
int w2RP = 0;
Random rng = new Random();
int rp= 0;
int proc = 0;
int w1Lost = 0;
int w2Lost = 0;
for(int timer = 0; timer < time; timer+= 1)
{
// Weapon 1 hits
if(timer % w1Speed == 0)
{
if(w1RS && w1RP < 20)
++w1Lost;
if(w1RS && w1RP >= 20 ) {
++w1RSHits;
w1RS = false;
w1RP -= 20;
} else if(w1SOB > 0) {
w1RP += 10;
--w1SOB;
}
}
//Weapon 2 hits
if(timer % w2Speed == 0)
{
if(w2RS && w2RP < 20)
++w2Lost;
if(w2RS && w2RP >= 20) {
++w2RSHits;
w2RS = false;
w2RP -= 20;
} else if(w2SOB > 0) {
w2RP += 10;
--w2SOB;
}
}
// Rotation rp gen; restart rotation
if(timer % 100 == 0 && !stFull.hasMoreTokens() )
{
stFull = new StringTokenizer(rotation.getText(), ":;");
}
// ability rp gen
if(timer % 100 == 0 && !stRotation.hasMoreTokens() && stFull.hasMoreTokens())
{
stRotation = new StringTokenizer(stFull.nextToken(), " ,");
}
try
{
if(stRotation.hasMoreTokens() && timer % 10 == 0)
{
rp = (int)(Double.parseDouble(stRotation.nextToken()));
w1RP += rp;
w2RP += rp;
// Spent more RP then was available
if(w1RP < 0)
w1RP -= rp;
if(w2RP < 0)
w2RP -= rp;
}
} catch (NumberFormatException nfe)
{
} catch (NullPointerException npe)
{
}
// Boss hits
if(timer % bSwingTime == 0)
{
int random = rng.nextInt(100);
// SoB miss and 15%
if(random < (100 - miss) && rng.nextInt(100) <= 15)
{
w1SOB = SOB;
w2SOB = SOB;
}
// Dodge, parry, RS is active
if(random <= avoidance)
{
w1RS = true;
w2RS = true;
++proc;
}
}
// RP overflow
if(w1RP > 100)
w1RP = 100;
if(w2RP > 100)
w2RP = 100;
}
result.setText("");
result.append("Procs: " + proc + "\n");
result.append("Weapon 1 RS hits: " + w1RSHits + "\n");
result.append("Weapon 2 RS hits: " + w2RSHits + "\n");
result.append("Weapon 1 RS dps: " + w1RSHits * w1Damage / (time / 10) + "\n");
result.append("Weapon 2 RS dps: " + w2RSHits * w2Damage / (time / 10) + "\n");
result.append("Weapon2 / weapon1 ratio: " + (w2RSHits * w2Damage / (w1RSHits * w1Damage)) + "\n");
result.append("Weapon 1 rp starved misses: " + w1Lost + "\n");
result.append("Weapon 2 rp starved misses: " + w2Lost + "\n");
} catch (NumberFormatException nfe) {
result.setText("Invalid Variable.");
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new DWTank().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JComboBox SOB;
private javax.swing.JTextField attackPower;
private javax.swing.JTextField avoidance;
private javax.swing.JTextField bSwingTime;
private javax.swing.JTextField initial;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel17;
private javax.swing.JTextField miss;
private javax.swing.JTextArea result;
private javax.swing.JTextField rotation;
private javax.swing.JTextField time;
private javax.swing.JTextField w1Damage;
private javax.swing.JTextField w1Speed;
private javax.swing.JTextField w2Damage;
private javax.swing.JTextField w2Speed;
// End of variables declaration
}