資源簡(jiǎn)介
m0_37845686_11026319.zip

代碼片段和文件信息
#include
#include?
#define?uint?unsigned?int
#define?uchar?unsigned?char
//基本功能部分變量?
sbit?k0=P3^7;???//下面的開關(guān),鎖定用?和k1同時(shí)按下時(shí)解鎖
sbit?k1=P3^5;???//中間的開關(guān),左移(回移)用?和k0同時(shí)按下時(shí)解鎖
sbit?k2=P3^6;???//左邊的開關(guān),右移(順移)用
sbit?g1=P3^0;???//重力感應(yīng)1?
sbit?g2=P3^1;???//重力感應(yīng)2?
sbit?ksnack=P3^4;???//自鎖式按鍵?貪吃蛇開關(guān)
uchar?*p;????//指向table的指針
uchar?code?X[]={0x000x010x020x030x040x050x060X07};//選列?
uchar?code?Y[]={0x800x400x200x100x080x040x020X01};//選行?
uint?n=0;??????//?指針使用(選行)
uint?num=0;????//?中斷計(jì)數(shù)使用
uint?j=0;??????//?每次左右移計(jì)數(shù)停止時(shí)使用
uint?t=0;??????//?重力選定使用?
uint?s1=0;?????//?鎖定?
uint?s2=0;?????//?解鎖?
uint?s3=0; ???//?左移(回移)?
uint?s4=0;?????//?右移(順移)?
uint?s5=0;?????//?待機(jī)?
uint?s6=0;?????//?貪吃蛇?
uint?s7=0;?????//
//貪吃蛇部分
#define?MAX_LENGTH?33 ?//蛇的最大長(zhǎng)度????
struct?Point?
{
uchar?x?y;
};
struct?Snake?
{
struct?Point?nodes[MAX_LENGTH];
uchar?length;
uchar?direction;
uchar?live;
}?snake;
?
?struct?Food?
{
struct?Point?position;
uchar?exist;
}?food;
uint?left=0top=0right=15bottom=15jfood=0;
int?lastxlasty;
void?delay_ms(uint?xms)???//延時(shí)程序?
{
????uint?ij;
?for(i=xms;i>0;i--)
????for(j=110;j>0;j--);
}
void?delay()
{
???uint?i;
???for(i=160;i>0;i--);
}
//貪吃蛇
void?init()?{
????snake.nodes[0].x=3;
????snake.nodes[0].y=3;
????snake.nodes[1].x=4;
????snake.nodes[1].y=3;
????snake.length=2;
snake.live=1;
snake.direction=0;
????food.exist=0;
}
?
int?oppositeDirection(int?t)?{
????if(t==0&&snake.direction==2){
??????return?1;
??????}
????else?if(t==2&&snake.direction==0)?{
??????return?1;
??????}
????else?if(t==1&&snake.direction==3){
??????return?1;
??????}
????else?if(t==3&&snake.direction==1){
??????return?1;
??????}
????else
??????return?0;
}
void?gameOver()?
{
?????uint?im;
??while(1)
??{
??????for(i=0;i<8;i++)
????{
????????????P2=0xff;
P1=0xff;
????????P0=X[i]|0x40;
??????? ????m++;
????????}
??????for(i=0;i<8;i++)
???????{
P2=0xff;
????????????P1=0xff;
????????P0=X[i]|0x80;
????????????m++;
???????}
}
}
void?createFood()?
{
int?i;
label:
jfood+=3;
if(jfood>=500)?jfood=0;
srand(jfood);
????food.position.x=((int)rand()%16);
????food.position.y=((int)rand()%16);
for(i=0;i<=snake.length-1;i++){
??if(snake.nodes[i].x==food.position.x&&snake.nodes[i].y==food.position.y)
goto?label;
}
}
void?draw()?
{
??????uint?ij;
for(j=0;j<8;j++)
{
??????????P1=0x00;
??????????P2=0x00;
??????????if(food.position.x==j)
????{
?????????????if(food.position.y<8)?P2=Y[food.position.y];
?????????????else?P1=Y[food.position.y-8];
????}
??????????for(i=0;i ??????????if(snake.nodes[i].x==j)
??????????{
?????????????if(snake.nodes[i].y<8)?P2=P2|Y[snake.nodes[i].y];
?????????????else?P1=P1|Y[snake.nodes[i].y-8];
??????????}
?? ????P0=X[j]|0x40;
?delay();
}
for(j=0;j<8;j++)
{
??????????P1=0x00;
??
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????5725??2019-03-16?20:24??\貪吃蛇.c
?????文件??????????36??2019-03-16?20:24??\no.txt
- 上一篇:zw_wolfe.zip
- 下一篇:zw_DS1302.zip
評(píng)論
共有 條評(píng)論