亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? snake2.java

?? 請使用jdk1.3以上版本編譯運行
?? JAVA
字號:
/* * Snake2.java * * Created on 2004年5月5日, 下午9:01 *//** * * * @author  zhouhui */import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.awt.event.*;import java.util.*;public class Snake2 extends JPanel implements Runnable {     /* 0  變量聲明*/     static int speed=2;     static int lastunitnum=0;     static boolean isPause=false;     static int playTimes=5;     static JLabel label1=new JLabel("按‘P’暫停,再按其它任意鍵繼續(xù)");     static JLabel label2=new JLabel("您總共有  "+playTimes+" 次機會");     static boolean isAlive=true;     static JFrame f;     static Thread t;     static Random ran=new Random();     static int unitnum=4;     static final int north=4;static final int south=3;static final int west=2;static final int east=1;     static int direction=south;     static class BodyUnit                   //身體單位類聲明     {         int xc;         int yc;     }     static BodyUnit bodyunit[]=new BodyUnit[50];  //all has 50 bodyunit     static class Food                     //食物類聲明     {        int x;        int y;        Food(int xx,int yy)        {            this.x=xx;            this.y=yy;        }     }     Food food;         /**   1 構造方法 */    public Snake2() {        super.setSize(600,550);        super.setVisible(true);        for(int i=0;i<unitnum;i++)                     //初始化bodyuint        {                        bodyunit[i]=new BodyUnit();            bodyunit[i].xc=10;            bodyunit[i].yc=i*10+20;           }        food=new Food(60, 70);                             //初始化food        t=new Thread(this);        t.start();           }        /*  2 事件響應方法*/    public static void s2keyPressed(KeyEvent e)    {         if(e.getKeyCode()==39&&direction!=west)                {                    direction=east;                }           if(e.getKeyCode()==37&&direction!=east)                {                    direction=west;                }           if(e.getKeyCode()==38&&direction!=south)                {                    direction=north;                }           if(e.getKeyCode()==40&&direction!=north)                {                    direction=south;                }            if((e.getKeyChar()=='p'||e.getKeyChar()=='P')&&isAlive==true)               {                   isPause=true;               }            if(isPause==true&&e.getKeyChar()!='p'&&e.getKeyChar()!='P')                {                    isPause=false;                }             if(isAlive==false&&e.getKeyCode()==32&&playTimes>0)    //按空格繼續(xù)                {                    lastunitnum=unitnum;                    unitnum=4;                         //恢復初始值                    speed=2;                    isPause=false;                    isAlive=true;                }         System.out.println(e.getKeyChar());         System.out.println(e.getKeyCode());         //System.out.println("speed is "+speed);    }        /*  3 畫圖方法*/    public void paintComponent(Graphics g)    {          g.drawLine(0,500,600,500);        g.drawLine(0,1,600,1);       g.drawLine(485, 1, 485, 500);       g.drawLine(1,1,1, 500);       this.setSize(600,550);       int i;                         //先畫蛇       g.clearRect(bodyunit[0].xc,bodyunit[0].yc,9,9);       for( i=0;(i<unitnum-1);i++)       {           bodyunit[i].xc=bodyunit[i+1].xc;           bodyunit[i].yc=bodyunit[i+1].yc;           {                g.fillRect(bodyunit[i].xc,bodyunit[i].yc,9,9);           }       }       if(direction==south)       {           bodyunit[i].yc+=10;           if(bodyunit[i].xc>=500)  bodyunit[i].xc-=500  ;           if(bodyunit[i].yc>=500)  bodyunit[i].yc-=500  ;           if(bodyunit[i].xc<0)  bodyunit[i].xc+=500  ;           if(bodyunit[i].yc<0)  bodyunit[i].yc+=500  ;           g.fillRect(bodyunit[i].xc,bodyunit[i].yc,9,9);                  }       if(direction==north)       {           bodyunit[i].yc-=10;           if(bodyunit[i].xc>=500)  bodyunit[i].xc-=500  ;           if(bodyunit[i].yc>=500)  bodyunit[i].yc-=500  ;           if(bodyunit[i].xc<0)  bodyunit[i].xc+=500  ;           if(bodyunit[i].yc<0)  bodyunit[i].yc+=500  ;           g.fillRect(bodyunit[i].xc,bodyunit[i].yc,9,9);       }       if(direction==east)       {           bodyunit[i].xc+=10;           if(bodyunit[i].xc>=500)  bodyunit[i].xc-=500  ;           if(bodyunit[i].yc>=500)  bodyunit[i].yc-=500  ;           if(bodyunit[i].xc<0)  bodyunit[i].xc+=500  ;           if(bodyunit[i].yc<0)  bodyunit[i].yc+=500  ;           g.fillRect(bodyunit[i].xc,bodyunit[i].yc,9,9);       }       if(direction==west)       {           bodyunit[i].xc-=10;           if(bodyunit[i].xc>=500)  bodyunit[i].xc-=500  ;           if(bodyunit[i].yc>=500)  bodyunit[i].yc-=500  ;           if(bodyunit[i].xc<0)  bodyunit[i].xc+=500  ;           if(bodyunit[i].yc<0)  bodyunit[i].yc+=500  ;           g.fillRect(bodyunit[i].xc,bodyunit[i].yc,9,9);       }               g.drawRect(food.x,food.y, 9, 9);           // 再畫食物       /*        if(lastunitnum>unitnum)                  //若有必要的話,就擦掉身體        {            for(int j=unitnum;j<lastunitnum;i++)            {                g.clearRect(bodyunit[j].xc, bodyunit[j].yc,10, 10);            }            lastunitnum=0;        }        */    }          /* 4 睡覺方法*/       public  void run() {           int count=0;       try{            while(true&&playTimes>0)            {                t.sleep((int)400/speed);                  if(isPause==false&&isAlive==true)                {                        if(hitSelf())                          {                            isAlive=false;                            //playTimes--;                            //break;                            while(true&&isAlive==false)                            {                                t.sleep((int)400/speed);                                 //repaint();                            }                         }                        if(eatFood()&&(unitnum%5==3)) speed+=1;                        repaint();                 }                               count++;             System.out.println("count="+count+"    00000000000000000000000000000000");             System.out.println("speed="+speed);             System.out.println("unitnum="+unitnum);             System.out.println("lastunitnum="+lastunitnum);             System.out.println("playtimes="+playTimes);             System.out.println("direction="+direction);                     }System.out.println("isAlive is false now");        }catch(InterruptedException e){System.out.println("run-thread was interrupted");}           }          /* 5  判斷(x,y)是否有蛇身體單位的方法*/           public boolean hasUnit(int x,int y)      {          for(int i=0;i<unitnum;i++)          {              if(bodyunit[i].xc==x&&bodyunit[i].yc==y)  return true;          }          return false;      }     /*   6  判斷(x,y)是否有食物的方法*/      public boolean hasFood(int xx,int yy)      {          if(food.x==xx&&food.y==yy) return true;          else                      return false;      }    /*   7  產生食物的方法 */      public void generateFood()      {          boolean flag=true;          int x,y;          while(flag)          {              x=ran.nextInt(50)*10;              y=ran.nextInt(50)*10;              if(!hasUnit(x,y))              {                  flag=false;                  food=new Food(x,y);  System.out.println("generate food successfully  "+x+"  "+y);              }          }      }      /*  8 吃食物的方法  */      public boolean eatFood()      {          boolean eatsuccess=false;         switch (direction)         {             case east:             {                 if(hasFood(bodyunit[unitnum-1].xc+10,bodyunit[unitnum-1].yc))                 {                      System.out.println("old head at "+bodyunit[unitnum-1].xc+" "+bodyunit[unitnum-1].yc+direction);                    unitnum++;                    bodyunit[unitnum-1]=new BodyUnit();                     bodyunit[unitnum-1].xc=food.x;                     bodyunit[unitnum-1].yc=food.y;                     System.out.println(direction+"new head at"+bodyunit[unitnum-1].xc+" "+bodyunit[unitnum-1].yc);                     generateFood();                     eatsuccess=true;                 }             }break;              case west:             {                   if(hasFood(bodyunit[unitnum-1].xc-10,bodyunit[unitnum-1].yc))                 {                    System.out.println("old head at "+bodyunit[unitnum-1].xc+" "+bodyunit[unitnum-1].yc+direction);                    unitnum++;                    bodyunit[unitnum-1]=new BodyUnit();                     bodyunit[unitnum-1].xc=food.x;                     bodyunit[unitnum-1].yc=food.y;                     generateFood();                      eatsuccess=true;                      System.out.println(direction+"new head at"+bodyunit[unitnum-1].xc+" "+bodyunit[unitnum-1].yc);                 }             }break;               case north:             {                 if(hasFood(bodyunit[unitnum-1].xc,bodyunit[unitnum-1].yc-10))                 {                      System.out.println("old head at "+bodyunit[unitnum-1].xc+" "+bodyunit[unitnum-1].yc+direction);                    unitnum++;                    bodyunit[unitnum-1]=new BodyUnit();                     bodyunit[unitnum-1].xc=food.x;                     bodyunit[unitnum-1].yc=food.y;                     generateFood();                      eatsuccess=true;                      System.out.println(direction+"new head at"+bodyunit[unitnum-1].xc+" "+bodyunit[unitnum-1].yc);                 }             }break;                case south:             {                 if(hasFood(bodyunit[unitnum-1].xc,bodyunit[unitnum-1].yc+10))                 {                      System.out.println("old head at "+bodyunit[unitnum-1].xc+" "+bodyunit[unitnum-1].yc+direction);                    unitnum++;                    bodyunit[unitnum-1]=new BodyUnit();                     bodyunit[unitnum-1].xc=food.x;                     bodyunit[unitnum-1].yc=food.y;                     generateFood();                      eatsuccess=true;                      System.out.println(direction+"new head at"+bodyunit[unitnum-1].xc+" "+bodyunit[unitnum-1].yc);                 }             }break;         }        //if(unitnum%5==3&&eatsuccess)  this.speed+=3;         return eatsuccess;      }      /* 9 判斷是否撞自己的方法 */      public boolean hitSelf()      {          for(int i=0;i<=unitnum-4;i++)          {              if(bodyunit[i].xc==bodyunit[unitnum-1].xc&&bodyunit[i].yc==bodyunit[unitnum-1].yc)              {                     System.out.println("      hithithit ");                  playTimes--;                  label2.setText("您還有 "+playTimes+"次機會 \n按空格重玩");                  return true;              }          }          return false;      }      /*  10   */      public void paint(Graphics g)      {          super.paint(g);          //this.paintComponent(g);          if(lastunitnum>unitnum)                  //若有必要的話,就擦掉身體        {            for(int j=unitnum;j<lastunitnum;j++)            {                g.clearRect(bodyunit[j].xc, bodyunit[j].yc,10, 10);            }            lastunitnum=0;        }      }    /**  主方法     * @param args the command line arguments     */    public static void main(String[] args) {        f=new JFrame("貪吃蛇");        f.getContentPane().add(label1,BorderLayout.SOUTH);        label2.setSize(5,500);        f.getContentPane().add(label2,BorderLayout.EAST);        f.addKeyListener(new KeyAdapter()  //增添處理鍵盤事件的方法        {            public void keyPressed(KeyEvent e)            {               s2keyPressed(e);              // 待添加            }        }        );       final Snake2 s2=new Snake2();       f.getContentPane().add(s2,BorderLayout.NORTH);       f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       f.setBounds(10, 10, 600, 600);       f.setResizable(false);       f.setVisible(true);       }           }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产美女视频91| 亚洲高清免费观看高清完整版在线观看| 天天影视涩香欲综合网| 日韩美女视频19| av中文一区二区三区| ...av二区三区久久精品| 成人午夜电影网站| 亚洲人xxxx| 欧美日韩精品系列| 蜜臀久久久久久久| 日一区二区三区| 欧美成人一区二区| 国产精品一区二区黑丝| 一区免费观看视频| 欧美日韩日日骚| 国产一区激情在线| 中文字幕亚洲不卡| 欧美精品久久一区| 国产九色精品成人porny| 综合色天天鬼久久鬼色| 欧美精品色综合| 国产乱码一区二区三区| 亚洲男女毛片无遮挡| 欧美男同性恋视频网站| 国产成a人亚洲精品| 伊人婷婷欧美激情| 日韩精品专区在线影院观看| 成人高清视频免费观看| 一区二区久久久| 亚洲精品一区二区三区精华液| 成人app网站| 免费视频最近日韩| 国产精品久久久久久妇女6080| 欧美日韩色综合| 国产91露脸合集magnet| 日韩专区欧美专区| 国产精品网站一区| 91精品国产综合久久精品app| 豆国产96在线|亚洲| 偷窥国产亚洲免费视频| 国产精品久久久久一区二区三区| 51午夜精品国产| 91在线观看一区二区| 捆绑变态av一区二区三区| 亚洲欧美成人一区二区三区| 精品国产一区二区精华| 欧美性做爰猛烈叫床潮| 成人综合婷婷国产精品久久蜜臀| 日本欧美大码aⅴ在线播放| 亚洲品质自拍视频网站| 久久久久久久精| 在线播放欧美女士性生活| 91原创在线视频| 国产宾馆实践打屁股91| 老司机一区二区| 丝袜亚洲另类欧美| 亚洲精品成人在线| 国产精品久久久久久久久图文区| 欧美tickle裸体挠脚心vk| 欧美挠脚心视频网站| 欧美在线播放高清精品| 99久久国产综合精品女不卡| 国产精品88av| 狠狠色丁香久久婷婷综合_中| 午夜精品一区二区三区三上悠亚| 亚洲免费在线电影| 国产精品美女久久久久久久网站| 久久婷婷成人综合色| 精品乱人伦小说| 欧美一区二区三区成人| 欧美日产国产精品| 欧美日韩一区二区三区高清| 99re成人在线| 91免费在线播放| 色综合色狠狠综合色| 99久久99久久精品免费看蜜桃| 国产激情视频一区二区三区欧美| 狠狠色综合色综合网络| 黑人巨大精品欧美一区| 狠狠色狠狠色合久久伊人| 国产一区二区成人久久免费影院 | 亚洲精品一区二区三区蜜桃下载 | 日韩av一级电影| 天天综合色天天综合| 视频一区二区三区在线| 首页国产丝袜综合| 日本伊人午夜精品| 麻豆91精品视频| 国产麻豆一精品一av一免费| 国产成人无遮挡在线视频| 成人永久看片免费视频天堂| www.欧美.com| 色8久久精品久久久久久蜜| 在线观看www91| 在线不卡一区二区| 久久综合狠狠综合| 亚洲国产精品黑人久久久| 中文字幕一区二区三区av| 亚洲精品中文字幕乱码三区| 亚洲成人资源在线| 麻豆国产欧美日韩综合精品二区| 久久精品国产一区二区三| 国产精品白丝jk白祙喷水网站| 成人视屏免费看| 欧美在线你懂得| 欧美va日韩va| 亚洲欧美综合网| 日韩高清欧美激情| 国产不卡在线视频| 日本高清不卡视频| 日韩欧美高清一区| 国产日本欧洲亚洲| 亚洲国产成人av网| 国产在线视视频有精品| 91亚洲午夜精品久久久久久| 91精品国产免费| 国产精品欧美经典| 图片区小说区区亚洲影院| 国产一区二区h| 欧美日韩一区国产| 国产日韩精品一区| 亚洲一卡二卡三卡四卡| 国产精品资源在线观看| 欧美午夜片在线观看| 国产欧美日韩综合| 亚洲v精品v日韩v欧美v专区| 国产成人精品综合在线观看| 欧美日韩三级一区| 国产精品国产三级国产有无不卡| 视频一区二区三区入口| 成人av高清在线| 精品国产网站在线观看| 亚洲一区二区精品视频| 成人91在线观看| 日韩精品在线一区| 亚洲高清视频中文字幕| 成人一道本在线| 欧美成人猛片aaaaaaa| 亚洲一区二区综合| 高清成人免费视频| 日韩午夜激情视频| 亚洲影视在线播放| 99亚偷拍自图区亚洲| 26uuu精品一区二区三区四区在线| 亚洲国产精品一区二区久久恐怖片| 国产精品66部| 日韩精品一区二区三区中文不卡 | 黑人巨大精品欧美一区| 欧美日韩视频专区在线播放| 综合网在线视频| 国产福利精品一区| 精品国产麻豆免费人成网站| 亚洲sss视频在线视频| 91久久精品网| 亚洲视频一区二区在线观看| 国产91丝袜在线18| 久久免费的精品国产v∧| 男人的天堂亚洲一区| 欧美日韩精品高清| 午夜亚洲福利老司机| 91福利视频在线| 亚洲精品成a人| 色哟哟欧美精品| 一区二区三区四区不卡视频| 色呦呦网站一区| 亚洲黄一区二区三区| 色拍拍在线精品视频8848| 亚洲丝袜美腿综合| 99视频一区二区三区| 中文字幕日本乱码精品影院| 成人综合在线观看| 亚洲欧美视频在线观看| 色综合婷婷久久| 亚洲一区二区在线观看视频| 欧美日韩国产免费一区二区| 偷拍日韩校园综合在线| 欧美一级黄色录像| 精品在线一区二区| 久久精品夜色噜噜亚洲aⅴ| 国产·精品毛片| 综合在线观看色| 欧美日韩一区久久| 麻豆国产欧美一区二区三区| 久久亚洲一区二区三区明星换脸| 丁香六月综合激情| 亚洲欧洲综合另类| 5858s免费视频成人| 狠狠色综合播放一区二区| 中文成人av在线| 色成年激情久久综合| 日韩av电影一区| 国产欧美一区二区三区沐欲| 99视频热这里只有精品免费| 亚洲黄色尤物视频| 欧美成人在线直播| 成人av手机在线观看| 成人av电影在线| 夜夜精品浪潮av一区二区三区| 91精品国产综合久久精品麻豆 | 26uuuu精品一区二区|