
-----------------------------------
stinger4life
Thu May 31, 2007 5:04 pm

Need a little help implementing mouse in checkers game.
-----------------------------------
Hey guys,

Things have been going strong on my checkers game, I have got most of the graphical elements down, I just need a little help on how to get the mouse to move each checker.  Here is my code:

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.Color.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
import java.awt.Font;

public class LoadImageApp extends Component 
{
    //Create image location in memory for checkerboard.
    BufferedImage board;
    
    //Create image location in memory for red checkers.
    BufferedImage redchecker1;
    BufferedImage redchecker2;
    BufferedImage redchecker3;
    BufferedImage redchecker4;
    BufferedImage redchecker5;
    BufferedImage redchecker6;
    BufferedImage redchecker7;
    BufferedImage redchecker8;
    BufferedImage redchecker9;
    BufferedImage redchecker10;
    BufferedImage redchecker11;
    BufferedImage redchecker12;

    //Create image location in memory for black checkers.
    BufferedImage blackchecker1;
    BufferedImage blackchecker2;
    BufferedImage blackchecker3;
    BufferedImage blackchecker4;
    BufferedImage blackchecker5;
    BufferedImage blackchecker6;
    BufferedImage blackchecker7;
    BufferedImage blackchecker8;
    BufferedImage blackchecker9;
    BufferedImage blackchecker10;
    BufferedImage blackchecker11;
    BufferedImage blackchecker12;

    //Windows asking for player 1 and player 2 names.
    String userInput1 = JOptionPane.showInputDialog("Enter 1st Player's Name (Black):");
    String userInput2 = JOptionPane.showInputDialog("Enter 2nd Player's Name (Red):");

 


    public void paint(Graphics g) 
    {
        //Font Array
        String[] strFontList = Toolkit.getDefaultToolkit().getFontList();

        //Placement of checkerboard.
        g.drawImage(board, 0, 0, null);
       
        //Placement of red checkers.
        g.drawImage(redchecker1, 103, 25, null);
        g.drawImage(redchecker2, 260, 25, null);
        g.drawImage(redchecker3, 420, 25, null);
        g.drawImage(redchecker4, 576, 25, null);
        g.drawImage(redchecker5, 25, 105, null);
        g.drawImage(redchecker6, 182, 105, null);
        g.drawImage(redchecker7, 340, 105, null);
        g.drawImage(redchecker8, 498, 105, null);
        g.drawImage(redchecker9, 103, 185, null);
        g.drawImage(redchecker10, 260, 185, null);
        g.drawImage(redchecker11, 420, 185, null);
        g.drawImage(redchecker12, 576, 185, null);

        //Placement of black checkers.
        g.drawImage(blackchecker1, 25, 576, null);
        g.drawImage(blackchecker2, 180, 576, null);
        g.drawImage(blackchecker3, 340, 576, null);
        g.drawImage(blackchecker4, 500, 576, null);
        g.drawImage(blackchecker5, 100, 496, null);
        g.drawImage(blackchecker6, 260, 496, null);
        g.drawImage(blackchecker7, 420, 496, null);
        g.drawImage(blackchecker8, 575, 496, null);
        g.drawImage(blackchecker9,25, 418, null);
        g.drawImage(blackchecker10, 180, 418, null);
        g.drawImage(blackchecker11, 339, 418, null);
        g.drawImage(blackchecker12, 497, 418, null);
	
        //Font for sidebar.
        g.setColor(Color.black);
	Font gf = new Font(strFontList[1],  Font.BOLD, 15);
	g.setFont(gf);
	g.drawString("Black: " + userInput1, 700 ,500);
	g.setColor(Color.red);	
	g.drawString("Red: " + userInput2, 700 ,100); 
    }

    public LoadImageApp() 
    {
       try 
       {
        //Inputs checkerboard image into the checkerboard memory slot.        
        board = ImageIO.read(new File("checkerboard.gif"));
        
        //Inputs red checker image into the red checker memory slots.
        redchecker1 = ImageIO.read(new File("redchecker.png"));
	redchecker2 = ImageIO.read(new File("redchecker.png"));
	redchecker3 = ImageIO.read(new File("redchecker.png"));
	redchecker4 = ImageIO.read(new File("redchecker.png"));
	redchecker5 = ImageIO.read(new File("redchecker.png"));
	redchecker6 = ImageIO.read(new File("redchecker.png"));
	redchecker7 = ImageIO.read(new File("redchecker.png"));
	redchecker8 = ImageIO.read(new File("redchecker.png"));
	redchecker9 = ImageIO.read(new File("redchecker.png"));
	redchecker10 = ImageIO.read(new File("redchecker.png"));
	redchecker11 = ImageIO.read(new File("redchecker.png"));
	redchecker12 = ImageIO.read(new File("redchecker.png"));
        
        //Inputs black checker image into the black checker memory slots.
        blackchecker1 = ImageIO.read(new File("blackchecker.png"));
	blackchecker2 = ImageIO.read(new File("blackchecker.png"));
	blackchecker3 = ImageIO.read(new File("blackchecker.png"));
	blackchecker4 = ImageIO.read(new File("blackchecker.png"));
	blackchecker5 = ImageIO.read(new File("blackchecker.png"));
	blackchecker6 = ImageIO.read(new File("blackchecker.png"));
	blackchecker7 = ImageIO.read(new File("blackchecker.png"));
	blackchecker8 = ImageIO.read(new File("blackchecker.png"));
	blackchecker9 = ImageIO.read(new File("blackchecker.png"));
	blackchecker10 = ImageIO.read(new File("blackchecker.png"));
	blackchecker11 = ImageIO.read(new File("blackchecker.png"));
	blackchecker12 = ImageIO.read(new File("blackchecker.png"));
       } 
           catch (IOException e) 
       {
       }

    }

    public static void main(String[] args) 
    {
        //Creates game window, window name, and adjusts size accordingly.
        JFrame f = new JFrame("Dan's, Fil's, And Gianni's Checkers V1.0");
            
        f.addWindowListener(new WindowAdapter()
            {
                public void windowClosing(WindowEvent e) 
                {
                    System.exit(0);
                }
            });

        f.add(new LoadImageApp());
        f.pack();
        f.setVisible(true);
        f.setSize(1015, 705);



    }
}

Also attached are the 5 pictures currently needed to run it.

-----------------------------------
wtd
Thu May 31, 2007 5:11 pm

RE:Need a little help implementing mouse in checkers game.
-----------------------------------
 BufferedImage redchecker1;
BufferedImage redchecker2;
BufferedImage redchecker3;
BufferedImage redchecker4;
BufferedImage redchecker5;
BufferedImage redchecker6;
BufferedImage redchecker7;
BufferedImage redchecker8;
BufferedImage redchecker9;
BufferedImage redchecker10;
BufferedImage redchecker11;
BufferedImage redchecker12;


Seriously dude... arrays.

-----------------------------------
stinger4life
Thu May 31, 2007 5:27 pm

Re: Need a little help implementing mouse in checkers game.
-----------------------------------
Yea I know I'm getting there, but any help with the actual question asked?

-----------------------------------
wtd
Thu May 31, 2007 7:15 pm

RE:Need a little help implementing mouse in checkers game.
-----------------------------------
MouseListener interface.

-----------------------------------
Dannyd534
Fri Jun 01, 2007 7:59 am

RE:Need a little help implementing mouse in checkers game.
-----------------------------------
Maybe we should explain to him how to use the MouseListner interface code to help him out

-----------------------------------
McKenzie
Sat Jun 02, 2007 7:41 am

Re: Need a little help implementing mouse in checkers game.
-----------------------------------
public class LoadImageApp extends Component implements MouseListener
2. Add a MouseListener in your constructor so that Windows tells you when Mouse events happen.
 addMouseListener (this);
3. Add the 4 event handlers that the MouseListener is looking for:
 
    public void mousePressed(MouseEvent e) {
    	System.out.println(e);
    }

    public void mouseEntered(MouseEvent e) {}
    public void mouseExited(MouseEvent e) {}
    public void mouseClicked(MouseEvent e) {}    
    public void mouseReleased(MouseEvent e) {}


And you may want to do more than just println the event. 
[/syntax]

-----------------------------------
wtd
Sat Jun 02, 2007 12:20 pm

Re: RE:Need a little help implementing mouse in checkers game.
-----------------------------------
Maybe we should explain to him how to use the MouseListner interface code to help him out

Interfaces are a vital concept for a Java programmer to learn.  If he learns how they work, and knows how to use the online Java documentation, we will not need to explain MouseListener at all.  :)

-----------------------------------
Dannyd534
Mon Jun 04, 2007 7:36 am

Re: Need a little help implementing mouse in checkers game.
-----------------------------------
public class LoadImageApp extends Component implements MouseListener
2. Add a MouseListener in your constructor so that Windows tells you when Mouse events happen.
 addMouseListener (this);
3. Add the 4 event handlers that the MouseListener is looking for:
 
    public void mousePressed(MouseEvent e) {
    	System.out.println(e);
    }

    public void mouseEntered(MouseEvent e) {}
    public void mouseExited(MouseEvent e) {}
    public void mouseClicked(MouseEvent e) {}    
    public void mouseReleased(MouseEvent e) {}


And you may want to do more than just println the event. 




true wtd



and great explination McKenzie

-----------------------------------
Ultrahex
Mon Jun 04, 2007 2:49 pm

Re: Need a little help implementing mouse in checkers game.
-----------------------------------
ontop of not using arrays, it is quite pointless to load the same image over and over again to a new variable,
he might be encouraged to use one image for red, (or two if have image for kings) and one image for black (two if have image for kings).
