Advertisement
Guest User

Snake Game Demo

a guest
Aug 22nd, 2012
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.60 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. import javax.swing.event.*;
  5.  
  6. class node{
  7.     int x,y;
  8.     JLabel part;
  9.     node next;
  10.     node(String val)
  11.     {
  12.         next=null;
  13.         this.part=new JLabel(val);
  14.     }
  15.     node(String val,int x,int y)
  16.     {
  17.         next = null;
  18.         this.part = new JLabel(val);
  19.         this.x=x;
  20.         this.y=y;
  21.         part.setBounds(x,y,30,30);
  22.     }
  23.     public void setLabel(int x, int y)
  24.     {
  25.         this.x=x;
  26.         this.y=y;
  27.         this.part.setBounds(x,y,30,30);
  28.     }
  29.     public void setLabel()
  30.     {
  31.         this.part.setBounds(x,y,30,30);
  32.     }
  33. }
  34.  
  35. class move extends JFrame implements KeyListener
  36. {
  37.     node head;
  38.     JPanel p;
  39.     Container ctr = this.getContentPane();
  40.     int xTemp, yTemp;
  41.     boolean u,d,l,r;
  42.     move()
  43.     {
  44.         setTitle("Suraj Programs");
  45.        
  46.         head = new node(">",50,50);
  47.         head.next = new node("=",10,10);
  48.         p = new JPanel();
  49.                
  50.         p.setLayout(null);
  51.         this.addKeyListener(this);
  52.        
  53.         u=l=d=false;
  54.         r=true;
  55.        
  56.         this.setVisible(true);
  57.         this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  58.         this.setSize(599,600);
  59.        
  60.         p.add(head.part);
  61.         ctr.add(p);
  62.        
  63.         while(true)
  64.         {
  65.             ctr.setSize(600,599);
  66.             p.removeAll();         
  67.             System.out.println("head "+head.x+" "+head.y);
  68.             System.out.println("part "+head.next.x+" "+head.next.y);
  69.             xTemp = head.x;
  70.             yTemp = head.y;
  71.             moveHead();
  72.             head.setLabel();
  73.             p.add(head.part);
  74.             System.out.println("head1 "+head.x+" "+head.y);
  75.             System.out.println("part1 "+head.next.x+" "+head.next.y);
  76.             head.next.x=xTemp;
  77.             head.next.y = yTemp;
  78.             head.next.setLabel();
  79.             p.add(head.next.part);
  80.             try{Thread.sleep(1000);}
  81.             catch(Exception e)
  82.             {
  83.                 head.part.setText(String.valueOf(e));
  84.             }
  85.             ctr.setSize(599,600);
  86.         }
  87.     }
  88.     public void moveHead()
  89.     {
  90.         if(u)
  91.                 head.y-=5;
  92.             if(d)
  93.                 head.y+=5;
  94.             if(r)
  95.                 head.x+=5;
  96.             if(l)
  97.                 head.x-=5;
  98.             if(head.x>500)
  99.                 head.x=0;
  100.             if(head.x<0)
  101.                 head.x=500;
  102.             if(head.y>500)
  103.                 head.y=0;
  104.             if(head.y<0)
  105.                 head.y=500;
  106.     }
  107.    
  108.     public void keyPressed(KeyEvent e)
  109.     {
  110.         int i = e.getKeyCode();
  111.         if(u || d)
  112.         {
  113.             if(i==KeyEvent.VK_LEFT)
  114.             {
  115.                 l=true; r=u=d=false;
  116.                 head.part.setText("<");
  117.             }
  118.             if(i==KeyEvent.VK_RIGHT)
  119.             {
  120.                 r=true; u=l=d=false;
  121.                 head.part.setText(">");
  122.             }
  123.         }
  124.         else
  125.         {
  126.             if(i== KeyEvent.VK_UP)
  127.             {
  128.                 u=true; r=l=d=false;
  129.                 head.part.setText("^");
  130.             }
  131.             if(i==KeyEvent.VK_DOWN)
  132.             {
  133.                 d=true; r=l=u=false;
  134.                 head.part.setText("v");
  135.             }
  136.         }
  137.     }
  138.     public void keyTyped(KeyEvent e)
  139.     {
  140.     }
  141.     public void keyReleased(KeyEvent e)
  142.     {
  143.     }
  144. }
  145. class suraj1
  146. {
  147.     public static void main(String arg[])
  148.     {
  149.         move s = new move();
  150.     }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement