Exemplo n.º 1
0
  /**
   * The action that happens when the Bus Deceleration bar is moved. We update the label beow it for
   * the user to see its value.
   *
   * @param evt
   */
  private void busDecelerationStateChanged(
      javax.swing.event.ChangeEvent evt) { // GEN-FIRST:event_busDecelerationStateChanged
    int tmp = busDeceleration.getValue();
    String tmpBusDecel = "";
    switch (tmp) {
      case 1:
        tmpBusDecel = "small";
        ObjectManager.getInstance().getObject("bus").setDecleration(1);
        break;

      case 2:
        tmpBusDecel = "medium";
        ObjectManager.getInstance().getObject("bus").setDecleration(2);
        break;

      case 3:
        tmpBusDecel = "large";
        ObjectManager.getInstance().getObject("bus").setDecleration(4);
        break;

      case 4:
        tmpBusDecel = "xlarge";
        ObjectManager.getInstance().getObject("bus").setDecleration(6);
        break;
    }
    busDecelerationLabelValue.setText(tmpBusDecel);
    busDecelerationLabelValue.setEnabled(true);
  } // GEN-LAST:event_busDecelerationStateChanged
Exemplo n.º 2
0
 @Override
 public void handleEngineComplete() {
   ObjectManager.getInstance().getObject("bus").setSpeed(0);
   ObjectManager.getInstance().getObject("object").setSpeed(0);
   ObjectManager.getInstance().getObject("object").setAcceleration(0);
   editObject.setEnabled(true);
   addObject.setEnabled(false);
   busAcceleration.setEnabled(true);
   busDeceleration.setEnabled(true);
   stopSimulation.setEnabled(false);
   pauseSimulation.setEnabled(false);
   runSimulation.setEnabled(true);
 }
Exemplo n.º 3
0
 /**
  * The action that happens when the Stop Simulation button is pressed. We kill the action in the
  * NetLogo window and re-enable everything in the main window.
  *
  * @param evt
  */
 private void stopSimulationActionPerformed(
     java.awt.event.ActionEvent evt) { // GEN-FIRST:event_stopSimulationActionPerformed
   ObjectManager.getInstance().getObject("bus").setSpeed(0);
   ObjectManager.getInstance().getObject("object").setSpeed(0);
   ObjectManager.getInstance().getObject("object").setAcceleration(0);
   PhysicsEngine.getInstance().disable(this);
   editObject.setEnabled(true);
   addObject.setEnabled(false);
   busAcceleration.setEnabled(true);
   busDeceleration.setEnabled(true);
   stopSimulation.setEnabled(false);
   pauseSimulation.setEnabled(false);
   runSimulation.setEnabled(true);
   pauseSimulation.setText("Pause Simulation");
 } // GEN-LAST:event_stopSimulationActionPerformed
Exemplo n.º 4
0
 @Override
 public void cycleComplete() {
   int speed = (int) (ObjectManager.getInstance().getObject("bus").getSpeed()) / 8;
   busSpeed.setText(Integer.toString(speed) + " MPH");
 }
Exemplo n.º 5
0
  /**
   * The action that happens when the Add Button is pressed. We save all the values and create a new
   * object, giving it those values. The object is then passed to NetLogo for displaying.
   *
   * @param evt
   */
  private void addButtonActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_addButtonActionPerformed
    // "preprocessor"
    int MY_OFFSET = 5;
    int BUS_STREET_CONTACT = -33;
    int BUS_LENGTH = 286;
    int BOX_OFFSET = 10;
    int TOP_OF_BUS = 50;

    System.out.println("add object");
    double weight = weightValue.getValue();
    double radius = radiusValue.getValue();
    double width = widthValue.getValue();
    int x = 0, y = 0;

    // get the bus object for the x, y coordinates
    PhysicsObject bus = ObjectManager.getInstance().getObject("bus");
    double busX = bus.getXCoord();
    double busY = bus.getYCoord();
    System.out.println("busX = " + busX + "\tbusY = " + busY);

    // If we are creating a box...
    if (boxButton.isSelected()) {
      System.out.println("making box");
      if (topButton.isSelected()) {
        x = (int) busX;
        y = (int) (busY + width + TOP_OF_BUS);
        RelationshipManager.getInstance()
            .setRelationship("object", "bus", RelationshipTypes.ABOVE_UNRESTRAINED);
        if (RelationshipManager.getInstance().getRelationship("object", "bus")
            == RelationshipTypes.ABOVE_UNRESTRAINED) System.out.println("On top works");
      } else if (insideRButton.isSelected()) {
        x = (int) busX;
        y = (int) (width * (double) MY_OFFSET);
        RelationshipManager.getInstance()
            .setRelationship("object", "bus", RelationshipTypes.INSIDE_RESTRAINED);
      } else if (insideUButton.isSelected()) {
        x = (int) busX;
        y = (int) (width * (double) MY_OFFSET);
        RelationshipManager.getInstance()
            .setRelationship("object", "bus", RelationshipTypes.INSIDE_UNRESTRAINED);
      } else if (behindButton.isSelected()) {
        x = (int) (-0.5 * (double) BUS_LENGTH);
        y = BUS_STREET_CONTACT;
        RelationshipManager.getInstance()
            .setRelationship("object", "bus", RelationshipTypes.BEHIND_ATTACHED);
      } else if (inFrontButton.isSelected()) {
        x = (int) (0.5 * (double) BUS_LENGTH);
        y = BUS_STREET_CONTACT;
        RelationshipManager.getInstance().setRelationship("object", "bus", RelationshipTypes.FRONT);
      }

      PhysicsObject boxOb =
          ObjectManager.getInstance().createSquare(x, y, (width * BOX_OFFSET), weight);
      ObjectManager.getInstance().addObject("object", boxOb);
      ObjectManager.getInstance().getObject("object").setAcceleration(0);
      ObjectManager.getInstance().getObject("object").setDecleration(0);
      System.out.println("width = " + ((SquareObject) boxOb).getWidth());
      System.out.println("weight = " + boxOb.getMass());
      System.out.println("x = " + x);
      System.out.println("y = " + y);
    }
    // else if we are creating a ball...
    else if (ballButton.isSelected()) {
      System.out.println("making ball");
      if (topButton.isSelected()) {
        x = (int) busX;
        y = (int) (busY + radius + TOP_OF_BUS);
        RelationshipManager.getInstance()
            .setRelationship("object", "bus", RelationshipTypes.ABOVE_UNRESTRAINED);
      } else if (insideRButton.isSelected()) {
        x = (int) busX;
        y = (int) (radius * (double) MY_OFFSET);
        RelationshipManager.getInstance()
            .setRelationship("object", "bus", RelationshipTypes.INSIDE_RESTRAINED);
      } else if (insideUButton.isSelected()) {
        x = (int) busX;
        y = (int) (radius * (double) MY_OFFSET);
        RelationshipManager.getInstance()
            .setRelationship("object", "bus", RelationshipTypes.INSIDE_UNRESTRAINED);
      } else if (behindButton.isSelected()) {
        x = (int) (-0.5 * BUS_LENGTH);
        y = (int) (BUS_STREET_CONTACT);
        RelationshipManager.getInstance()
            .setRelationship("object", "bus", RelationshipTypes.BEHIND_ATTACHED);
      } else if (inFrontButton.isSelected()) {
        x = (int) (0.5 * BUS_LENGTH);
        y = (int) (BUS_STREET_CONTACT);
        RelationshipManager.getInstance().setRelationship("object", "bus", RelationshipTypes.FRONT);
      }
      PhysicsObject ballOb =
          ObjectManager.getInstance().createCircle(x, y, (radius * MY_OFFSET), weight);
      ObjectManager.getInstance().addObject("object", ballOb);
      ObjectManager.getInstance().getObject("object").setAcceleration(0);
      ObjectManager.getInstance().getObject("object").setDecleration(0);
      System.out.println("weight = " + ballOb.getMass());
      System.out.println("radius = " + ((RoundObject) ballOb).getRadius());
      System.out.println("x = " + x);
      System.out.println("y = " + y);
    }
    // if the world crashed and died...
    else {
      System.out.println("failboat");
    }

    this.dispose();
  } // GEN-LAST:event_addButtonActionPerformed