Advertisement
Guest User

Ratio Calc

a guest
Jun 7th, 2014
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.93 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.*;
  3.  
  4. /**
  5.  * Created by James on 07/06/2014.
  6.  */
  7.  
  8.  
  9. public class TravianRatioCalc{
  10.  
  11.  
  12.     public static void main(String[] args) {
  13.         GUI StartGUI = new GUI();
  14.         StartGUI.setVisible(true);
  15.         StartGUI.setLocationRelativeTo(null);
  16.     }
  17.  
  18.  
  19.  
  20.     /**
  21.      *
  22.      * @author James
  23.      */
  24.     public static class GUI extends javax.swing.JFrame {
  25.  
  26.         /**
  27.          * Creates new form GUI
  28.          */
  29.         public GUI() {
  30.             initComponents();
  31.         }
  32.  
  33.         /**
  34.          * This method is called from within the constructor to initialize the form.
  35.          * WARNING: Do NOT modify this code. The content of this method is always
  36.          * regenerated by the Form Editor.
  37.          */
  38.         @SuppressWarnings("unchecked")
  39.         // <editor-fold defaultstate="collapsed" desc="Generated Code">
  40.         private void initComponents() {
  41.  
  42.             setTitle("Ratio Calc by Konzea");
  43.  
  44.             jLabel1 = new javax.swing.JLabel();
  45.             jLabel2 = new javax.swing.JLabel();
  46.             totalResources = new javax.swing.JTextField();
  47.             jLabel3 = new javax.swing.JLabel();
  48.             woodCost = new javax.swing.JTextField();
  49.             clayCost = new javax.swing.JTextField();
  50.             ironCost = new javax.swing.JTextField();
  51.             wheatCost = new javax.swing.JTextField();
  52.             jLabel4 = new javax.swing.JLabel();
  53.             woodFinal = new javax.swing.JTextField();
  54.             clayFinal = new javax.swing.JTextField();
  55.             ironFinal = new javax.swing.JTextField();
  56.             wheatFinal = new javax.swing.JTextField();
  57.             numberOfTroops = new javax.swing.JTextField();
  58.             jButton1 = new javax.swing.JButton();
  59.  
  60.             setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  61.  
  62.             jLabel1.setFont(new java.awt.Font("Segoe UI Light", 0, 36)); // NOI18N
  63.             jLabel1.setText("Konzea's Ratio Calc");
  64.             jLabel1.setToolTipText("Just a title fool");
  65.  
  66.             jLabel2.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  67.             jLabel2.setText("Total Resource Count:");
  68.  
  69.             totalResources.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  70.             totalResources.addActionListener(new java.awt.event.ActionListener() {
  71.                 public void actionPerformed(java.awt.event.ActionEvent evt) {
  72.                     jButton1ActionPerformed(evt);
  73.                 }
  74.             });
  75.  
  76.             jLabel3.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  77.             jLabel3.setText("Cost of Troop:");
  78.  
  79.             woodCost.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  80.             woodCost.setToolTipText("Wood");
  81.             woodCost.addActionListener(new java.awt.event.ActionListener() {
  82.                 public void actionPerformed(java.awt.event.ActionEvent evt) {
  83.                     jButton1ActionPerformed(evt);
  84.                 }
  85.             });
  86.  
  87.             clayCost.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  88.             clayCost.setToolTipText("Clay");
  89.             clayCost.addActionListener(new java.awt.event.ActionListener() {
  90.                 public void actionPerformed(java.awt.event.ActionEvent evt) {
  91.                     jButton1ActionPerformed(evt);
  92.                 }
  93.             });
  94.  
  95.             ironCost.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  96.             ironCost.setToolTipText("Iron");
  97.             ironCost.addActionListener(new java.awt.event.ActionListener() {
  98.                 public void actionPerformed(java.awt.event.ActionEvent evt) {
  99.                     jButton1ActionPerformed(evt);
  100.                 }
  101.             });
  102.  
  103.             wheatCost.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  104.             wheatCost.setToolTipText("Wheat");
  105.             wheatCost.addActionListener(new java.awt.event.ActionListener() {
  106.                 public void actionPerformed(java.awt.event.ActionEvent evt) {
  107.                     jButton1ActionPerformed(evt);
  108.                 }
  109.             });
  110.  
  111.             jLabel4.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  112.             jLabel4.setText("Total Resources:");
  113.  
  114.             woodFinal.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  115.             woodFinal.setToolTipText("Wood");
  116.             woodFinal.setEditable(false);
  117.  
  118.             clayFinal.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  119.             clayFinal.setToolTipText("Clay");
  120.             clayFinal.setEditable(false);
  121.  
  122.             ironFinal.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  123.             ironFinal.setToolTipText("Iron");
  124.             ironFinal.setEditable(false);
  125.  
  126.             wheatFinal.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  127.             wheatFinal.setToolTipText("Wheat");
  128.             wheatFinal.setEditable(false);
  129.  
  130.             numberOfTroops.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  131.             numberOfTroops.setToolTipText("Number of troops creatable.");
  132.             numberOfTroops.setDisabledTextColor(Color.black);
  133.             numberOfTroops.setEnabled(false);
  134.  
  135.             jButton1.setFont(new java.awt.Font("Segoe UI Light", 0, 18)); // NOI18N
  136.             jButton1.setText("Run");
  137.             jButton1.addActionListener(new java.awt.event.ActionListener() {
  138.                 public void actionPerformed(java.awt.event.ActionEvent evt) {
  139.                     jButton1ActionPerformed(evt);
  140.                 }
  141.             });
  142.  
  143.             javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  144.             getContentPane().setLayout(layout);
  145.             layout.setHorizontalGroup(
  146.                     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  147.                             .addGroup(layout.createSequentialGroup()
  148.                                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  149.                                             .addGroup(layout.createSequentialGroup()
  150.                                                     .addGap(23, 23, 23)
  151.                                                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  152.                                                             .addGroup(layout.createSequentialGroup()
  153.                                                                     .addComponent(jLabel2)
  154.                                                                     .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  155.                                                                     .addComponent(totalResources, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE)
  156.                                                                     .addGap(60, 60, 60)
  157.                                                                     .addComponent(numberOfTroops, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE))
  158.                                                             .addGroup(layout.createSequentialGroup()
  159.                                                                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  160.                                                                             .addComponent(woodFinal)
  161.                                                                             .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  162.                                                                             .addComponent(woodCost, javax.swing.GroupLayout.Alignment.LEADING)
  163.                                                                             .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.LEADING))
  164.                                                                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  165.                                                                             .addGroup(layout.createSequentialGroup()
  166.                                                                                     .addGap(18, 18, 18)
  167.                                                                                     .addComponent(clayCost, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
  168.                                                                                     .addGap(18, 18, 18)
  169.                                                                                     .addComponent(ironCost, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
  170.                                                                                     .addGap(18, 18, 18)
  171.                                                                                     .addComponent(wheatCost, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE))
  172.                                                                             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  173.                                                                                     .addGap(18, 18, 18)
  174.                                                                                     .addComponent(clayFinal, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
  175.                                                                                     .addGap(18, 18, 18)
  176.                                                                                     .addComponent(ironFinal, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
  177.                                                                                     .addGap(18, 18, 18)
  178.                                                                                     .addComponent(wheatFinal, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE))))))
  179.                                             .addGroup(layout.createSequentialGroup()
  180.                                                     .addGap(134, 134, 134)
  181.                                                     .addComponent(jLabel1))
  182.                                             .addGroup(layout.createSequentialGroup()
  183.                                                     .addGap(228, 228, 228)
  184.                                                     .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)))
  185.                                     .addContainerGap(44, Short.MAX_VALUE))
  186.             );
  187.             layout.setVerticalGroup(
  188.                     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  189.                             .addGroup(layout.createSequentialGroup()
  190.                                     .addContainerGap()
  191.                                     .addComponent(jLabel1)
  192.                                     .addGap(18, 18, 18)
  193.                                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  194.                                             .addComponent(jLabel2)
  195.                                             .addComponent(totalResources, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
  196.                                             .addComponent(numberOfTroops, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
  197.                                     .addGap(18, 18, 18)
  198.                                     .addComponent(jLabel3)
  199.                                     .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  200.                                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  201.                                             .addComponent(woodCost, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
  202.                                             .addComponent(clayCost, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
  203.                                             .addComponent(ironCost, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
  204.                                             .addComponent(wheatCost, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
  205.                                     .addGap(18, 18, 18)
  206.                                     .addComponent(jLabel4)
  207.                                     .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  208.                                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  209.                                             .addComponent(woodFinal, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
  210.                                             .addComponent(clayFinal, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
  211.                                             .addComponent(ironFinal, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
  212.                                             .addComponent(wheatFinal, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
  213.                                     .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE)
  214.                                     .addComponent(jButton1)
  215.                                     .addGap(25, 25, 25))
  216.             );
  217.  
  218.             pack();
  219.         }// </editor-fold>
  220.  
  221.         private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  222.  
  223.             JTextField[] All = {woodCost, clayCost, ironCost, wheatCost, totalResources};
  224.  
  225.             for (int i = 0; i < All.length; i++){
  226.                 if (All[i].getText().equalsIgnoreCase("")){
  227.                     All[i].setText("0");
  228.                 }
  229.             }
  230.  
  231.             int[] troopCostArray = {Integer.parseInt(woodCost.getText()), Integer.parseInt(clayCost.getText()),
  232.                     Integer.parseInt(ironCost.getText()), Integer.parseInt(wheatCost.getText())};
  233.  
  234.             int totalTroopCost = troopCostArray[0] + troopCostArray[1] + troopCostArray[2] + troopCostArray[3];
  235.  
  236.             double t = Double.parseDouble(totalResources.getText());
  237.             double numberOfTroopsDouble = t / totalTroopCost;
  238.  
  239.             numberOfTroops.setText(Integer.toString((int) numberOfTroopsDouble));
  240.  
  241.             woodFinal.setText(Integer.toString((int) (numberOfTroopsDouble * troopCostArray[0])));
  242.             clayFinal.setText(Integer.toString((int) (numberOfTroopsDouble * troopCostArray[1])));
  243.             ironFinal.setText(Integer.toString((int) (numberOfTroopsDouble * troopCostArray[2])));
  244.             wheatFinal.setText(Integer.toString((int) (numberOfTroopsDouble * troopCostArray[3])));
  245.  
  246.  
  247.         }
  248.  
  249.  
  250.         // Variables declaration - do not modify
  251.         private javax.swing.JTextField clayCost;
  252.         private javax.swing.JTextField clayFinal;
  253.         private javax.swing.JTextField ironCost;
  254.         private javax.swing.JTextField ironFinal;
  255.         private javax.swing.JButton jButton1;
  256.         private javax.swing.JLabel jLabel1;
  257.         private javax.swing.JLabel jLabel2;
  258.         private javax.swing.JLabel jLabel3;
  259.         private javax.swing.JLabel jLabel4;
  260.         private javax.swing.JTextField numberOfTroops;
  261.         private javax.swing.JTextField totalResources;
  262.         private javax.swing.JTextField wheatCost;
  263.         private javax.swing.JTextField wheatFinal;
  264.         private javax.swing.JTextField woodCost;
  265.         private javax.swing.JTextField woodFinal;
  266.         // End of variables declaration
  267.     }
  268. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement