Results 1 to 7 of 7
- 01-18-2012, 10:43 PM #1
Member
- Join Date
- Jan 2012
- Posts
- 6
- Rep Power
- 0
Exception in thread "main" java.lang.NullPointerException
i just found this coding and try to run.
theres no error on that but when i run this is what appears
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:167)
at Board.<init>(Board.java:59)
at Snake.<init>(Snake.java:20)
at Snake.main(Snake.java:32)
here's the code
1. class Snake
import javax.swing.JFrame;
public class Snake extends JFrame {
public Snake() {
add(new Board());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(320, 340);
setLocationRelativeTo(null);
setTitle("Snake");
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
new Snake();
}
}
2. class Board
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.Timer;
public class Board extends JPanel implements ActionListener {
private final int WIDTH = 300;
private final int HEIGHT = 300;
private final int DOT_SIZE = 10;
private final int ALL_DOTS = 900;
private final int RAND_POS = 29;
private final int DELAY = 140;
private int x[] = new int[ALL_DOTS];
private int y[] = new int[ALL_DOTS];
private int dots;
private int apple_x;
private int apple_y;
private boolean left = false;
private boolean right = true;
private boolean up = false;
private boolean down = false;
private boolean inGame = true;
private Timer timer;
private Image ball;
private Image apple;
private Image head;
public Board() {
addKeyListener(new TAdapter());
setBackground(Color.black);
ImageIcon iid = new ImageIcon(this.getClass().getResource("dot.png"));
ball = iid.getImage();
ImageIcon iia = new ImageIcon(this.getClass().getResource("apple.png") );
apple = iia.getImage();
ImageIcon iih = new ImageIcon(this.getClass().getResource("head.png")) ;
head = iih.getImage();
setFocusable(true);
initGame();
}
public void initGame() {
dots = 3;
for (int z = 0; z < dots; z++) {
x[z] = 50 - z*10;
y[z] = 50;
}
locateApple();
timer = new Timer(DELAY, this);
timer.start();
}
public void paint(Graphics g) {
super.paint(g);
if (inGame) {
g.drawImage(apple, apple_x, apple_y, this);
for (int z = 0; z < dots; z++) {
if (z == 0)
g.drawImage(head, x[z], y[z], this);
else g.drawImage(ball, x[z], y[z], this);
}
Toolkit.getDefaultToolkit().sync();
g.dispose();
} else {
gameOver(g);
}
}
public void gameOver(Graphics g) {
String msg = "Game Over";
Font small = new Font("Helvetica", Font.BOLD, 14);
FontMetrics metr = this.getFontMetrics(small);
g.setColor(Color.white);
g.setFont(small);
g.drawString(msg, (WIDTH - metr.stringWidth(msg)) / 2,
HEIGHT / 2);
}
public void checkApple() {
if ((x[0] == apple_x) && (y[0] == apple_y)) {
dots++;
locateApple();
}
}
public void move() {
for (int z = dots; z > 0; z--) {
x[z] = x[(z - 1)];
y[z] = y[(z - 1)];
}
if (left) {
x[0] -= DOT_SIZE;
}
if (right) {
x[0] += DOT_SIZE;
}
if (up) {
y[0] -= DOT_SIZE;
}
if (down) {
y[0] += DOT_SIZE;
}
}
public void checkCollision() {
for (int z = dots; z > 0; z--) {
if ((z > 4) && (x[0] == x[z]) && (y[0] == y[z])) {
inGame = false;
}
}
if (y[0] > HEIGHT) {
inGame = false;
}
if (y[0] < 0) {
inGame = false;
}
if (x[0] > WIDTH) {
inGame = false;
}
if (x[0] < 0) {
inGame = false;
}
}
public void locateApple() {
int r = (int) (Math.random() * RAND_POS);
apple_x = ((r * DOT_SIZE));
r = (int) (Math.random() * RAND_POS);
apple_y = ((r * DOT_SIZE));
}
public void actionPerformed(ActionEvent e) {
if (inGame) {
checkApple();
checkCollision();
move();
}
repaint();
}
private class TAdapter extends KeyAdapter {
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if ((key == KeyEvent.VK_LEFT) && (!right)) {
left = true;
up = false;
down = false;
}
if ((key == KeyEvent.VK_RIGHT) && (!left)) {
right = true;
up = false;
down = false;
}
if ((key == KeyEvent.VK_UP) && (!down)) {
up = true;
right = false;
left = false;
}
if ((key == KeyEvent.VK_DOWN) && (!up)) {
down = true;
right = false;
left = false;
}
}
}
}
Or you can check on this..i just copy from there..
genaral snake game in java
how to fix it
- 01-18-2012, 11:15 PM #2
Senior Member
- Join Date
- Oct 2010
- Location
- Germany
- Posts
- 780
- Rep Power
- 4
Re: Exception in thread "main" java.lang.NullPointerException
you have to put three images into the same package as where the board class is
---
ImageIcon iid = new ImageIcon(this.getClass().getResource("dot.png"));
ImageIcon iia = new ImageIcon(this.getClass().getResource("apple.png") );
ImageIcon iih = new ImageIcon(this.getClass().getResource("head.png")) ;
seems that these images are missing
- 01-19-2012, 06:53 AM #3
Member
- Join Date
- Jan 2012
- Posts
- 6
- Rep Power
- 0
Re: Exception in thread "main" java.lang.NullPointerException
where can i get those image or should i create those image using java??
- 01-19-2012, 09:00 AM #4
Senior Member
- Join Date
- Oct 2010
- Location
- Germany
- Posts
- 780
- Rep Power
- 4
- 01-20-2012, 07:59 AM #5
Re: Exception in thread "main" java.lang.NullPointerException
Er, programming doesn't work that way. Sure, you can copy code you find*, but it's also necessary to understand what it does.i just found this coding and try to run.
db
*edit Subject to copyright and licensing terms, of course (search SOPA/PIPA for more details)Why do they call it rush hour when nothing moves? - Robin Williams
- 01-22-2012, 09:28 AM #6
Member
- Join Date
- Jan 2012
- Posts
- 17
- Rep Power
- 0
Re: Exception in thread "main" java.lang.NullPointerException
hi..i'm palie's partner in his final project..yup,we know about that copyright and evrything..
actually,we are not trying to steal that code and make it ours,but we just take it first to try to run it to find out how does it work..we are new in JAVA..we are trying to use that code and change it by using our own declaration and design..we just use that code as our guide..so first of all we need u guys helps to help us run this coding so we can look how those it run..we are totally not a stealer..we want to learn from better person in this JAVA just as all of u guys here..so please help us..
-
Re: Exception in thread "main" java.lang.NullPointerException
I don't know about the others, but my experience here has been that when folks try to use "found" code it often ends in disaster. You're far better off just simply creating the program yourself, and as a bonus you'll learn a lot more too. Just take small steps, test and debug often, and soon, you'll have a solution.
Luck!
Similar Threads
-
Got struck with this :- " Exception in thread "main" java.lang.NullPointerException"
By Vermont in forum New To JavaReplies: 5Last Post: 12-21-2011, 06:44 PM -
Exclamation Exception in thread "main" java.lang.NullPointerException
By Lorelai in forum New To JavaReplies: 5Last Post: 10-11-2011, 12:16 AM -
Exception in thread "main" java.lang.NullPointerException at LinkedList.main(Link
By kavitha_0821 in forum New To JavaReplies: 6Last Post: 07-16-2009, 03:30 PM -
Exception in thread "main" java.lang.NullPointerException at LinkedList.main(Link
By kavitha_0821 in forum New To JavaReplies: 1Last Post: 07-16-2009, 10:35 AM -
ArrayList: Exception in thread "main" java.lang.NullPointerException
By susan in forum New To JavaReplies: 1Last Post: 07-16-2007, 06:32 AM


1Likes
LinkBack URL
About LinkBacks
Reply With Quote


Bookmarks