aspose file tools*
The moose likes Beginning Java and the fly likes I don't know what's wrong with this chess game Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "I don Watch "I don New topic
Author

I don't know what's wrong with this chess game

steve tang
Greenhorn

Joined: Jun 12, 2005
Posts: 2
Hello.
Sorry if the post is inetiquette because this my first time using the forum.
I am making a 2 player chess game using JButtons. The program is supposed to run as the following:

1. create the chessboard with pieces in it

2. select a button

3. determine where the piece could move and count the amount of legal moves and record the positions

4. color these buttons

5. goes to step 2

you click the button to move between 5 and 6

6. according to the amount and the positions~to determine is you click is a legal move or not

you click the button to move between 5 and 6

7. switch the information of the 2 buttons you clicked before

8. fresh~output the result of the switch

9. switch turns

When a piece is clicked on, the possible legal moves are shown but when the square is clicked on, nothing happens. It is supposed to move the piece to the selected square. I think the problem is that the program cannot get to step 2 to move the pieces. Also, when one of the pieces is clicked on, the following error message appears that I don't understand:


Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at Chess.select(Chess.java:957)
at Chess.movePawn(Chess.java:379)
at Chess.actionPerformed(Chess.java:126)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18
49)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:234)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

The code is:
Svend Rost
Ranch Hand

Joined: Oct 23, 2002
Posts: 904
Hi, and welcome to the Javaranch.

You need to focus on these lines:

at Chess.select(Chess.java:957)
at Chess.movePawn(Chess.java:379)
at Chess.actionPerformed(Chess.java:126)


Your getting a nullpointer exception - in other words, your trying to call
a method, draw ect. something that isn't initialised. Take a look at line
957,379 and 126 in your Chess class. You might wan't to try to "System.out.println("do I exist in memory? "+ object)" to find out if some of your objects doesn't exist.

Feel free to reply if your still having problems.. but please don't make me read 1000 lines of code
 
Don't get me started about those stupid light bulbs.
 
subject: I don't know what's wrong with this chess game