Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Graphics;
- import java.awt.Point;
- public class Snake implements Entity {
- Point location;
- Segment[] segments;
- int segmentCount = 0;
- public Snake(Point location) {
- this.location = location;
- segments = new Segment[25];
- }
- public void increaseSegmentCount() {
- segments[segmentCount] = new Segment(new Point(location.x + (Segment.getSize().width * segments.length),
- location.y + (Segment.getSize().height * segments.length)));
- segmentCount++;
- }
- public Segment[] getSegments() {
- return segments;
- }
- public int getSegmentCount() {
- return segmentCount;
- }
- @Override
- public void paint(Graphics g) {
- for (Segment segment : segments) {
- if (segment != null)
- segment.paint(g);
- }
- }
- }
- @Override
- public void paint(Graphics g) {
- for (Segment segment : segments) {
- if (segment != null)
- System.out.println("Called")
- segment.paint(g);
- }
- }
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Point;
- public class Segment {
- Point location;
- public Segment(Point location) {
- this.location = location;
- }
- public static Dimension getSize() {
- return new Dimension(20, 20);
- }
- public void paint(Graphics g) {
- g.setColor(Color.WHITE);
- g.fillRect(location.x, location.y, 20, 20);
- }
- }
- @Override
- public void paintComponent(Graphics g) {
- super.paintComponent(g);
- for (Entity entity : model.getEntities()) {
- entity.paint(g);
- }
- }
- Called
- Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
- at Snake.paint(Snake.java:61)
- at View.paintComponent(View.java:50)
- at javax.swing.JComponent.paint(Unknown Source)
- at javax.swing.JComponent.paintToOffscreen(Unknown Source)
- at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
- at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
- at javax.swing.RepaintManager.paint(Unknown Source)
- at javax.swing.JComponent._paintImmediately(Unknown Source)
- at javax.swing.JComponent.paintImmediately(Unknown Source)
- at javax.swing.RepaintManager$4.run(Unknown Source)
- at javax.swing.RepaintManager$4.run(Unknown Source)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
- at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
- at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
- at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
- at javax.swing.RepaintManager.access$1200(Unknown Source)
- at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
- at java.awt.event.InvocationEvent.dispatch(Unknown Source)
- at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
- at java.awt.EventQueue.access$500(Unknown Source)
- at java.awt.EventQueue$3.run(Unknown Source)
- at java.awt.EventQueue$3.run(Unknown Source)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
- at java.awt.EventQueue.dispatchEvent(Unknown Source)
- at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
- at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
- at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
- at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
- at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
- at java.awt.EventDispatchThread.run(Unknown Source)
- if (segment != null) {
- System.out.println("Called")
- segment.paint(g);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement