贪吃蛇的程序java

 import java.awt.*;
import java.util.*;
import java.awt.event.*;
public class Sna
{
 

  static LinkedList<String> list,list1;
  static int flog=1,x=100,y=100;
  static Random ra=new Random();
 
  public static void main(String args[])
  {
   int count=1;
   
  list=new LinkedList<String>();
 
   list.add("150");
   list.add("170");
   list.add("190");
   list.add("210");
   list.add("230");
   list1=new LinkedList<String>();
 
   list1.add("230");
   list1.add("230");
   list1.add("230");
   list1.add("230");
   list1.add("230");
 PaintFrame pf=new PaintFrame();
 
  
 while(count==1)
  {
   
    if(flog==1)
    {list.addFirst(String.valueOf(Integer.valueOf(list.peekFirst())-10) );
        list1.addFirst(list1.peekFirst());}
      if(flog==2)
      {list.addFirst(String.valueOf(Integer.valueOf(list.peekFirst())+10) );list1.addFirst(list1.peekFirst());}
           
       if(flog==3)
       {list1.addFirst(String.valueOf(Integer.valueOf(list1.peekFirst())-10));list.addFirst(list.peekFirst());}
             
        if(flog==4)
        {list1.addFirst(String.valueOf(Integer.valueOf(list1.peekFirst())+10));list.addFirst(list.peekFirst());}
            
           
            if(Integer.valueOf(list.peekFirst())==x&&Integer.valueOf(list1.peekFirst())==y)
            {
             x=((ra.nextInt(400)%30)+3)*10;
             y=((ra.nextInt(400)%30)+3)*10;
            
            }
            else
             {
          list.removeLast();
             list1.removeLast();
          } 

  try{
       
         pf.repaint();
       
         Thread.sleep(200);
  }catch(InterruptedException ie){
  System.err.println("Thread error: " + ie);
    }
  }
  }
 
 static class KeyLis extends KeyAdapter
 {
  public void keyPressed(KeyEvent e)
  {
   int keycode=e.getKeyCode();
  if(keycode==KeyEvent.VK_LEFT)
    {
       flog =1;
    }
  if(keycode==KeyEvent.VK_RIGHT)
    {
     flog=2;
    }
  if(keycode==KeyEvent.VK_UP)
    {
     flog=3;    
    }
  if(keycode==KeyEvent.VK_DOWN)
    {
     flog=4;
    }
  }
 }
 static class PaintFrame extends Frame
 {
     PaintFrame() {
    addKeyListener(new KeyLis());
    setBounds(0,0,400,400);
    setBackground(Color.orange);
    setVisible(true);
 
     }
   public void paint(Graphics g)
      {  
        g.setColor(Color.red);
        for(int i=0;i<list.size();i++)
        {
         g.drawRect(Integer.valueOf(list.get(i)),Integer.valueOf(list1.get(i)),10,10);
         g.drawRect(x,y,10,10);
        }
       
    }
 
  
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值