Thursday, April 3, 2014

Problems with moving computer controlled Jbutton








i have created another class for my collisions. also i still need to add a couple of collisions. just need to know how the game will identify when a goal is scored by scoring it in a scoring system.








....








package assignmnet2AirHockey;








import java.awt.EventQueue;








import javax.swing.JFrame;







import javax.swing.JPanel;







import javax.swing.JButton;







import javax.swing.ImageIcon;







import java.awt.Color;







import javax.swing.border.MatteBorder;







import javax.swing.SwingConstants;







import java.awt.event.ActionListener;







import java.awt.event.ActionEvent;







import java.awt.event.KeyAdapter;







import java.awt.event.KeyEvent;







import javax.swing.JLabel;








import javax.swing.Timer;







import java.awt.event.ComponentAdapter;







import java.awt.event.ComponentEvent;








public class AirHockeyGame extends JFrame {







Timer timer;







int timerCount = 100;







int ballSpeedX = 2;







int ballSpeedY = 2;








private JPanel contentPane;







private JButton btnPuck;







private JButton btnRedPlayer;







private JButton btnBluePlayer;







private JButton btnRedGoal;







private JButton btnBlueGoal;








/**







* Launch the application.







*/







public static void main(String[] args) {







EventQueue.invokeLater(new Runnable() {







public void run() {







try {







AirHockeyGame frame = new AirHockeyGame();







frame.setVisible(true);







} catch (Exception e) {







e.printStackTrace();







}







}







});







}








/**







* Create the frame.







*/







public AirHockeyGame() {







addComponentListener(new ComponentAdapter() {







public void componentShown(ComponentEvent e) {







timer.start();







}







});








{








};







setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);







setBounds(100, 100, 400, 500);







contentPane = new JPanel();







contentPane.setBackground(Color.WHITE);







contentPane.setBorder(new MatteBorder(10, 10, 10, 10, (Color) Color.RED));







setContentPane(contentPane);







contentPane.setLayout(null);








btnPuck = new JButton("");







btnPuck.setIcon(new ImageIcon(AirHockeyGame.class.getResource("/images/ImageBlackPuck.png")));







btnPuck.setBounds(197, 215, 30, 39);







contentPane.add(btnPuck);








btnRedPlayer = new JButton("");







btnRedPlayer.addKeyListener(new KeyAdapter() {







public void keyPressed(KeyEvent arg0) {







if (arg0.getKeyCode() == KeyEvent.VK_LEFT)







{







// Move Red Player Left







btnRedPlayer.setBounds(btnRedPlayer.getX() - 6, btnRedPlayer.getY(),







btnRedPlayer.getWidth(), btnRedPlayer.getHeight());







}








if (arg0.getKeyCode() == KeyEvent.VK_RIGHT)







{







// Move Red Player Right







btnRedPlayer.setBounds(btnRedPlayer.getX() + 6, btnRedPlayer.getY(),







btnRedPlayer.getWidth(), btnRedPlayer.getHeight());







}







}







});







btnRedPlayer.setIcon(new ImageIcon(AirHockeyGame.class.getResource("/images/ImageRedPaddle.png")));







btnRedPlayer.setBounds(175, 373, 70, 71);







contentPane.add(btnRedPlayer);








btnBluePlayer = new JButton("");







btnBluePlayer.setIcon(new ImageIcon(AirHockeyGame.class.getResource("/images/ImageBluePaddle.png")));







btnBluePlayer.setBounds(175, 34, 70, 71);







contentPane.add(btnBluePlayer);








btnRedGoal = new JButton("");







btnRedGoal.setIcon(new ImageIcon(AirHockeyGame.class.getResource("/images/GoalRedSide.png")));







btnRedGoal.setBounds(108, 449, 196, 23);







contentPane.add(btnRedGoal);








btnBlueGoal = new JButton("");







btnBlueGoal.setVerticalAlignment(SwingConstants.TO P);







btnBlueGoal.addActionListener(new ActionListener() {







public void actionPerformed(ActionEvent arg0) {







}







});







btnBlueGoal.setIcon(new ImageIcon(AirHockeyGame.class.getResource("/images/GoalBlueSide.png")));







btnBlueGoal.setBounds(108, 6, 196, 23);







contentPane.add(btnBlueGoal);








JLabel lblNewLabel = new JLabel("");







lblNewLabel.setIcon(new ImageIcon(AirHockeyGame.class.getResource("/images/Middle of Pitch.png")));







lblNewLabel.setBounds(0, 154, 394, 167);







contentPane.add(lblNewLabel);








timer = new Timer (timerCount, new ActionListener() {







public void actionPerformed (ActionEvent count) {







btnPuck.setBounds(btnPuck.getX() + ballSpeedX, btnPuck.getY() + ballSpeedY,







btnPuck.getWidth(), btnPuck.getHeight());








if (LogicClass.collisionBotTop(btnPuck.getX(), btnPuck.getWidth(),







contentPane.getWidth(), 0) == true)







{







ballSpeedX *= -1;







}







}});







}







}















No comments:

Post a Comment