Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

import java.awt.Container; import java.awt.Rectangle; import java.awt.event.Acti

ID: 3706604 • Letter: I

Question

import java.awt.Container;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.*;


public abstract class JPanelFayette extends JPanel implements ActionListener, MouseListener {


Timer Time;
int deltay, directiony, direstionY=4;;
int deltax, directionx, directionX=2;
int startX=2;
int StartY=4;
int i;
int delay=0;

JLabel 11 = new JLabel ("Score");
JLabel 12 = new JLabel ("Timer");

int clicked=0;


ImageIcon Erie = new ImageIcon("Erie.jpg");
ImageIcon UniversityPark = new ImageIcon("UniversityPark.jpg");
ImageIcon WorldCampus = new ImageIcon("WorldCampus.jpg");

JButton Er1 = new JButton (Erie);
JButton Up1 = new JButton (UniversityPark);
JButton Wc1 = new JButton (WorldCampus);
JButton ty = new JButton ("Thank you");

ImageIcon win =new ImageIcon("WinScreen.jpg");
ImageIcon lost =new ImageIcon("LoseScreen.jpg");

JButton w1= new JButton (win);
JButton l1= new JButton (lost);

Boolean loser, winner;
boolean mouseClicked, mouseEntered= false;

public JPanelFayette (int startX, int startY, int deltaX, int deltaY, int directionY, int delay){

super();
this.deltax= deltaX;
this.deltay=deltaY;
this.directionX=directionX;
this.directionY=directionY;

add(11);
add(12);
add(Er1);
add(Up1);
add(Wc1);
add(w1);
add(l1);

l1.setVisible(false);
w1.setVisible(false);

addMouseListener(this);
Er1.addActionListener(this);
w1.addActionListener(this);
l1.addActionaListener(this);
Up1.addActionListener(this);
Wc1.addActionListener(this);

Er1.setLocation(6,6);
Up1.setLocation (4,4);
Wc1.setLocation (1,1);
ty.setLocation (5,5);
Timer time = new Timer (delay, this);

public void actionPerformed(ActionEvent event){

Object obj =event.getSource();
Container student = getStudent();
winner();
loser ();

if (obj== Wc1){
Er1.setVisible(false);
Up1.setVisible(false);
Er1.setEnabled(false);
Up1.setEnabled(false);

remove(Er1);
remove(Up1);
setSize(300,300);
}
if (obj==Up1){
Er1.setVisible(false);
Wc1.setVisible(false);
Er1.setEnabled(false);
Wc1.setEnabled(false);

remove(Er1);
remove(Wc1);
setSize(300,300);
}
if (obj==Er1){
Up1.setVisible(false);
Wc1.setVisible(false);
Up1.setEnabled(false);
Wc1.setEnabled(false);

remove(Up1);
remove(Wc1);
setSize(300,300);
}

if(clicked<25||winner==false)
{
nextX = 0;
directionX*=-1;
}
if(nextX+getSize().width>student.getSize().width){
nextX=student.getSize().width-getSize().width;
directionX*=-1;
}

int nextY= getLocation().y+(deltay*directionY);
if(nextY<0){
nextY=0;
directionY*=-1;
}
if(nextY+getSize().height>student.getSize().height){
nectY=studen.getSize().height-getSize().height;
directionY*=-1;
}
setLocation(nextX.nextY);
if (obj==Er1||obj==Up1||obj==Wc1){
if(mouseClicked=true){
directionY++;
directionX++;
clicked++;
delay=(10-1);
String strI=String.valueOf(clicked);
l1.setText(strI);
delay--;
}
}
}
}
@Override
public void mouseClicked (MouseEvent e){
mouseClicked=true;
mouseEntered=true;
}
@Override
public void mouseEntered (MouseEvent e){
mouseClicked=false;
mouseEntered=true;
}


@Override
public void mouseExited (MouseEvent e)
{
mouseClicked=false;
mouseEntered=false;
}
@override
Public void mousePressed(MOuseEvent e)
{
mouseClicked=true;
mouseEntered=true;


}

@override
public void mouseReleased(MouseEvent e)
{
mouseClicked=false;
mouseEntered=true;


w1.setVisible(true);
l1.setVisible(false);
l2.setvisible(false);
Er1.setVisible(false);
Up1.setVisible(false);
Wc1.setVisible(false);
setBounds(new Rectangle(0,0,800,630));
winner=true;
loser=false;
}
public boolean loser()
{
if (clicked <30){
if((i)>=2000){
l1.setVisible(true);
w1.setVisible(false);
Er1.setVisible(false);
Up1.setVisible(false);
Wc1.setVisible(false);
l1.setVisible(false);
l2.setVisible(false);
Wc1.setEnabled(false);
Up1.setEnabled(false);
Er1.setEnabled(false);
remove(Er1);
remove(Up1);
remove(Wc1);
setBounds(new Rectangle(0,0,800,630));
loser=true;
winner=false;
clicked=0;
}



trying to create PSU Shooting arcade game need help please thank you


Explanation / Answer

import java.awt.Container;

import java.awt.Cursor;

import java.awt.Component;

import java.awt.TextComponent;

import java.awt.Frame;

import java.awt.Button;

import java.awt.Graphics;

import java.awt.Point;

import java.awt.Toolkit;

import java.awt.Dimension;

import java.awt.Rectangle;

import java.awt.GridBagConstraints;

import java.awt.Image;

import java.awt.Window;

import java.awt.image.BufferedImage;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.event.MouseListener;

import java.awt.event.MouseEvent;

import java.net.URL;

import java.io.InputStream;

import java.lang.reflect.Method;

import javax.swing.ImageIcon;

import iiuf.util.Util;

import iiuf.util.AsyncInvocation;

import iiuf.util.AsyncAccelerator;

import iiuf.log.Log;

/**

Awt utilities.

(c) 1999, 2000, 2001, IIUF, DIUF<p>

@author $Author: ohitz $

@version $Revision: 1.1 $

*/

public class Awt {

  public static Cursor STOP_CURSOR = makeCursor("stop", new Point(8, 8));

  private static Component emptyCmp = newComponent();

  private static final double PI2 = Math.PI * 2;

  

  public static double getAngle(int ox, int oy, int x, int y) {

    double dx = x - ox;

    double dy = y - oy;

    double r = Math.sqrt(dx * dx + dy * dy);

    double result = dy < 0 ? Math.PI + Math.asin(dx / r) : -Math.asin(dx / r);

    result %= PI2;

    return result < 0 ? PI2 + result : result;

  }

  

  public static Point place(Rectangle rectToPlace, int x, int y, Rectangle outerLimit) {

    rectToPlace.setLocation(x - rectToPlace.width / 2, y - rectToPlace.height / 2);

    return fitSmallerIntoBigger(rectToPlace.x, rectToPlace.y, rectToPlace.width, rectToPlace.height, outerLimit);

  }

  

  public static Point centerOnScreen(Dimension dim) {

    Toolkit tk = Toolkit.getDefaultToolkit();

    Dimension sd = tk.getScreenSize();

    return new Point((sd.width - dim.width) / 2, (sd.height - dim.height) / 2);

  }

  public static Point fitSmallerIntoBigger(int x, int y, int width, int height, Rectangle bigger) {

    return new Point(x < bigger.x ?

bigger.x :

x + width > bigger.x + bigger.width ? bigger.x + bigger.width -

width : x,

y < bigger.y ?

bigger.y :

y + height > bigger.y + bigger.height ? bigger.y + bigger.height -

height : y);

  }

  

  public final static boolean near(int x, int y, int x0, int y0, int x1, int y1, int tolerance) {

    int t2 = tolerance * tolerance;

    int x1_x0 = x1 - x0;

    int y1_y0 = y1 - y0;

    int x_x0 = x - x0;

    int y_y0 = y - y0;

    int denom = x1_x0 * x1_x0 + y1_y0 * y1_y0;

    if(denom == 0)

      return x_x0 * x_x0 + y_y0 * y_y0 <= t2;

    else {

      int nom = x_x0 * x1_x0 + y_y0 * y1_y0;

      if(nom < 0 || nom > denom)

return false;

      else {

double u = (double)nom / (double)denom;

double dx = x - (x0 + u * x1_x0);

double dy = y - (y0 + u * y1_y0);

return dx * dx + dy * dy <= t2;

      }

    }

  }

  

  private static Cursor makeCursor(String name, Point hotSpot) {

    return makeCursor(Awt.class.getResource("rsrc/" + name + "_crsr.gif"), hotSpot, name);

  }

  

  public static Cursor makeCursor(URL cursorImage, Point hotSpot, String name) {

    Toolkit tk = Toolkit.getDefaultToolkit();

    int ccolors = tk.getMaximumCursorColors();

    ImageIcon ic = null;

    // try to get optimized version

    try {

      String url = cursorImage.toExternalForm();

      int idx = url.lastIndexOf('.');

      int bpp = -1;

      for(bpp = 31; bpp >= 0; bpp--)

if((ccolors & (1 << bpp)) != 0)

break;

      if(idx == -1)

url += bpp + "bpp";

      else

url = url.substring(0, idx) + bpp + "bpp" + url.substring(idx);

      URL curl = new URL(url);

      InputStream in = curl.openStream();

      in.close();

      ic = new ImageIcon(new URL(url));

    } catch(Exception e) {

      ic = new ImageIcon(cursorImage);

    }

    Image crsr = ic.getImage();

    Dimension d = tk.getBestCursorSize(ic.getIconWidth(), ic.getIconHeight());

    if(d.width != ic.getIconWidth() || d.height != ic.getIconHeight()) {

      Image tmp = crsr;

      crsr = new BufferedImage(d.width, d.height, BufferedImage.TYPE_4BYTE_ABGR);

      ic.paintIcon(emptyCmp, crsr.getGraphics(), 0, 0);

    }

    return tk.createCustomCursor(crsr, hotSpot, name);

  }