新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機(jī)+8*8點(diǎn)陣實現(xiàn)的貪食蛇源代碼

        51單片機(jī)+8*8點(diǎn)陣實現(xiàn)的貪食蛇源代碼

        作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏



        電路圖和單片機(jī)仿真文件下載:http://www.51hei.com/bbs/dpj-20604-1.html

        下面是源代碼:
        #include
        #define uchar unsigned char
        #define SNAKE 20 //最大長度
        #define TIME 50 //顯示延時時間
        #define SPEED 71 //速度控制
        //#define keyenable 1
        sbit keyenable=P3^6;//方向使能
        /*sbit keyx=P0^1;//左右
        sbit keyy=P0^2;//上下*/
        //sbit up=P0^0;
        sbit up=P3^3; //down
        sbit down=P3^1;
        sbit right=P3^2;
        sbit left=P3^4;
        uchar x[SNAKE+1];
        uchar y[SNAKE+1];
        uchar time,n,i,e; //延時時間,當(dāng)前蛇長,通用循環(huán)變量,當(dāng)前速度
        char addx,addy; //位移偏移量
        /********************
        延時程序
        *********************/
        void delay(char MS)
        {
        char us,usn;
        while(MS!=0)
        {
        usn = 0;
        while(usn!=0)
        {
        us=0xff;
        while (us!=0){us--;};
        usn--;
        }
        MS--;
        }
        }
        /*******************************************
        判斷碰撞
        *******************************************/
        bit knock()
        {bit k;
        k=0;
        if(x[1]>7||y[1]>7)k=1; //撞墻
        for(i=2;ireturn k;
        }
        /*****************
        上下左右鍵位處理
        *****************/
        void turnkey()// interrupt 0 using 2
        {//up=1;
        if(keyenable)
        {
        if(left){addy=0;if(addx!=1)addx=-1; else addx=1;}
        if(right){addy=0;if(addx!=-1)addx=1; else addx=-1;}
        if(up){addx=0;if(addy!=-1)addy=1; else addy=-1;}
        if(down){addx=0;if(addy!=1)addy=-1; else addy=1;}
        /*if(keyy)
        {addy=0; //左右
        if(keyx)if(addx==-1)addx=-1; else addx=1; //左
        else
        if(addx==1)addx=1; else addx=-1; //右
        }
        else
        {addx=0; //上下
        if(keyx)if(addy==1)addy=1; else addy=-1; //下
        else
        if(addy==-1)addy=-1; else addy=1; //上
        } */
        }
        }

        上一頁 1 2 下一頁

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 东乌| 横峰县| 崇信县| 恩平市| 乌鲁木齐市| 洮南市| 逊克县| 始兴县| 泊头市| 濮阳县| 兴和县| 延安市| 桓仁| 阿鲁科尔沁旗| 宕昌县| 南涧| 迁西县| 徐水县| 常州市| 巫山县| 石门县| 忻城县| 宝丰县| 广德县| 启东市| 福清市| 和林格尔县| 红桥区| 通海县| 饶平县| 邢台市| 志丹县| 平罗县| 鹤庆县| 奉化市| 万盛区| 宽城| 新民市| 鹰潭市| 高尔夫| 偃师市|