真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

貪吃蛇小游戲-創(chuàng)新互聯(lián)

實(shí)驗(yàn)要求:實(shí)現(xiàn)貪吃蛇游戲基本功能,屏幕上隨機(jī)出現(xiàn)一個(gè)“食物”,稱為豆子,上下左右控制“蛇”的移動(dòng),吃到“豆子”以后“蛇”的身體加長(zhǎng)一點(diǎn),得分增加,“蛇”碰到邊界或,蛇頭與蛇身相撞,蛇死亡,游戲結(jié)束。為游戲設(shè)計(jì)初始?xì)g迎界面,游戲界面,游戲結(jié)束界面。

創(chuàng)新互聯(lián)公司是專業(yè)的西固網(wǎng)站建設(shè)公司,西固接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行西固網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

貪吃蛇的設(shè)計(jì)分為四個(gè)板塊:游戲界面設(shè)計(jì)、游戲過程、游戲結(jié)束和功能擴(kuò)展。

游戲界面設(shè)計(jì)包括界面構(gòu)造、蛇的構(gòu)造、食物構(gòu)造;游戲過程包括蛇的移動(dòng)、蛇吃食物、碰撞檢測(cè);游戲結(jié)束包括結(jié)束界面;擴(kuò)展功能包括功能食物、移動(dòng)速度、得分記錄。

首先對(duì)蛇的長(zhǎng)度以及位置進(jìn)行設(shè)置并設(shè)置食物隨機(jī)出現(xiàn)、定時(shí)器:

int snakelong=2;//蛇當(dāng)前長(zhǎng)度
int[] Snakex=new int[100];
int[] Snakey=new int[100];
Random random=new Random();
int foodx;
int foody;
Timer timer=new Timer(100, this);//定時(shí)器
int started=0;//游戲信息 0-未開始 1-開始 2-結(jié)束
int fx=1;//蛇的方向 0-左 1-右 2-上 3-下

然后進(jìn)行貪吃蛇界面的設(shè)計(jì):

public void myJFrame() {
        this.setTitle("貪吃蛇大作戰(zhàn)");
        this.setSize(800, 600);
        this.setDefaultCloseOperation(Snake.EXIT_ON_CLOSE);//界面可退出
        this.setResizable(false);//界面不能改變
        this.addKeyListener(this);
        this.setVisible(true);
//        蛇的初識(shí)位置
        Snakex[0]=60;
        Snakey[0]=100;
        Snakex[1]=40;
        Snakey[1]=100;
//        隨機(jī)食物的初識(shí)位置
        foodx=random.nextInt(39);
        foody=random.nextInt(22);
        foodx=foodx*20;
        foody=foody*20+80;
    }

界面構(gòu)造、蛇的構(gòu)造、食物構(gòu)造:

public void paint(Graphics g) {
        g.setColor(Color.BLUE);
        g.fillRect(0, 0, 800, 600);
        g.setColor(Color.black);
        g.fillRect(0, 80, 800, 520);
        for (int i=0;i

鍵盤上上下左右以及游戲的開始以及結(jié)束:

@Override
    public void keyPressed(KeyEvent e) {
        int key=e.getKeyCode();
        if (key==KeyEvent.VK_SPACE) {
            if (started==0) {
                started=1;
            } else if(started==1) {
                started=0;
            } else if (started==2) {
                started=0;
                snakelong=2;//蛇當(dāng)前長(zhǎng)度
                //蛇的初識(shí)位置
                Snakex[0]=60;
                Snakey[0]=100;
                Snakex[1]=40;
                Snakey[1]= 100;
                // 隨機(jī)食物的初識(shí)位置
                foodx=random.nextInt(39);
                foody=random.nextInt(22);
                foodx=foodx*20;
                foody=foody*20+80;
                //                初始化方向
                fx=1;
            }
            repaint();
            timer.start();
        } else if(key==KeyEvent.VK_LEFT) {
            if (fx!= 1) {
                fx=0;
            }
        } else if(key==KeyEvent.VK_RIGHT) {
            if (fx!=0) {
                fx=1;
            }
        } else if(key==KeyEvent.VK_UP) {
            if (fx!=3) {
                fx=2;
            }
        } else if (key == KeyEvent.VK_DOWN) {
            if (fx!=2) {
                fx=3;
            }
        }
    }

事件監(jiān)聽:

@Override
    public void actionPerformed(ActionEvent e) {
//        判斷游戲是否開始
        if (started==1) {
//            通過循環(huán)控制蛇移動(dòng)
            for (int i=snakelong-1;i>0;i--) {
                Snakex[i]=Snakex[i-1];
                Snakey[i]=Snakey[i-1];
            }
//            判斷蛇移動(dòng)的方向
            if (fx==0) {//蛇的方向 0-左 1-右 2-上 3-下
                Snakex[0]=Snakex[0]-20;
            } else if (fx==1) {
                Snakex[0]=Snakex[0] + 20;
            } else if (fx==2) {
                Snakey[0]=Snakey[0] - 20;
            } else if (fx==3) {
                Snakey[0]=Snakey[0] + 20;
            }
//            判斷是否撞墻
            if (Snakex[0]<0||Snakex[0]>780||Snakey[0]<80||Snakey[0]>580) {
                started=2;
            }

//            判斷蛇是否吃到了食物
            if (Snakex[0]==foodx&&Snakey[0]==foody) {
                snakelong++;
                foodx=random.nextInt(39);
                foody=random.nextInt(22);
                foodx=foodx*20;
                foody=foody*20+80;
                System.out.println(foodx +","+foody);
            }
//            判斷是否吃到了自己
            for (int i=1;i

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站欄目:貪吃蛇小游戲-創(chuàng)新互聯(lián)
文章路徑:http://weahome.cn/article/hpchj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部