/** Fires weapons when left mouse is pressed */ public void mousePressed(MouseEvent evt) { int mx = evt.getX(); // x-coordinate where user clicked. int my = evt.getY(); // y-coordinate where user clicked. if (!pause) { if (!evt.isMetaDown()) { if (weapons[guntrack].equals("gun") && bshoot) { weaponList.add( new Bullet( mx, my, character.getX(), character.getY(), 0, THA.WIDTH, 0, THA.HEIGHT, 7)); bshoot = false; ammo.useBullet(); bulletTime.restart(); } if (weapons[guntrack].equals("grenade") && gshoot) { weaponList.add( new Grenade( mx, my, character.getX(), character.getY(), 0, THA.WIDTH, 0, THA.HEIGHT, 12)); gshoot = false; ammo.useGrenade(); grenadeTime.restart(); } if (weapons[guntrack].equals("laser") && lshoot) { weaponList.add( new Laser( mx, my, character.getX(), character.getY(), 0, THA.WIDTH, 0, THA.HEIGHT, 20)); lshoot = false; ammo.useLaser(); laserTime.restart(); } if (weapons[guntrack].equals("shotgun") && sgshoot) { weaponList.add( new ShotGun( mx, my, character.getX(), character.getY(), 0, THA.WIDTH, 0, THA.HEIGHT, 7, character.getX(), character.getY(), 25, 90, weaponList)); sgshoot = false; ammo.useShotgun(); shotgunTime.restart(); } } } }
protected final void restartTimer() { if (!myAutoSelectionTimer.isRunning()) { myAutoSelectionTimer.start(); } else { myAutoSelectionTimer.restart(); } }
public void start() { timer.restart(); }
public void actionPerformed(ActionEvent e) { Object src = e.getSource(); if (src == timer) { for (int i = 0; i < speed; i++) // integrate a few steps md.vv(); repaint(); return; } boolean adjCanvasScale = false; if (src == bTstat) md.thermostat = !md.thermostat; if (src == bPot) { md.ljPotential = !md.ljPotential; md.clearData(); if (timer.isRunning()) timer.stop(); bStart.setSelected(false); bStart.setText("Start"); md.init(md.rho); } if (src == tTemp || src == bReset) { double kT = Double.parseDouble(tTemp.getText().trim()); if (kT < 1e-8) { kT = 1e-8; tTemp.setText(" " + kT); } md.kT = kT; md.clearData(); } if (src == tRho || src == bReset) { double rho = Double.parseDouble(tRho.getText().trim()); if (rho < 1e-3) { rho = 1e-3; tRho.setText(" " + rho); } if (rho > 1.2) { rho = 1.2; tRho.setText(" " + rho); } md.setDensity(rho); md.clearData(); adjCanvasScale = true; } if (src == tSpeed || src == bReset) { speed = Integer.parseInt(tSpeed.getText().trim()); if (speed < 1) { speed = 1; tSpeed.setText(" " + speed); } } if (src == bRetime) md.clearData(); if (src == bStart) { boolean on = bStart.isSelected(); if (on) { timer.restart(); bStart.setText("Pause"); } else { timer.stop(); bStart.setText("Resume"); } } if (src == tNum) { int n = Integer.parseInt(tNum.getText().trim()); if (n < 2) { n = 2; tNum.setText(" " + n); } md.N = n; md.init(md.rho); adjCanvasScale = true; } if (src == bReset) { if (timer.isRunning()) timer.stop(); bStart.setSelected(false); bStart.setText("Start"); md.init(md.rho); } canvas.refresh(md.getXWrap(), md.N, true, adjCanvasScale); repaint(); }