📄 部分程序.txt
字号:
void t0(void) interrupt 1
{
ran++;
switch(flag)
{
case 0://显示 "杭州电子科技大学"
{
cp=0;dat=dat0;dat0=0;cp=1;
if((b+num)<16)
{
P0=hdu[(a+d)%9][b+num];//第一行
h1=1;h1=0;
P0=hdu[(a+d)%9][b+num+16];//第二行
h2=1;h2=0;
}
else
{
P0=hdu[(a+1+d)%9][b+num-16];
h1=1;h1=0;
P0=hdu[(a+1+d)%9][b+num];
h2=1;h2=0;
}
b++;
if(b==16)
{
b=0;
a++;
if(a==2)
{
a=0;
dat0=1;
cp=0;dat=0;cp=1;
c++;
if(c==speed)//调节移动快慢
{
c=0;if(stay==0)num++;
if(num==16)
{
num=0;d++;
}
}
}
}
TH0=(65536-300)/256;
TL0=(65536-300)%256;
delay(L);//调节亮度
P0=0;
h1=1;
h2=1;//消影
h1=0;
h2=0;
}
break;
case 1://显示"0--z"
{
cp=0;dat=dat0;dat0=0;cp=1;
if((b+num)<8)
{
P0=shu[(a+d)%37][b+num];
h1=1;h1=0;
P0=shu[(a+d)%37][b+num+8];
h2=1;h2=0;
}
else
{
P0=shu[(a+1+d)%37][b+num-8];
h1=1;h1=0;
P0=shu[(a+1+d)%37][b+num];
h2=1;h2=0;
}
b++;
if(b==8)
{
b=0;
a++;
if(a==4)
{
a=0;
dat0=1;
cp=0;dat=0;cp=1;
c++;
if(c==speed)//调节移动快慢
{
c=0;if(stay==0)num++;
if(num==8)
{
num=0;d++;
}
}
}
}
TH0=(65536-240)/256;
TL0=(65536-240)%256;
delay(L);//调节亮度
P0=0;
h1=1;
h2=1;//消影
h1=0;
h2=0;
}
break;
case 2://显示"静夜思"
{
cp=0;dat=dat0;dat0=0;cp=1;
if((b+num)<16)
{
P0=si[(a+d)%28][b+num];
h1=1;h1=0;
P0=si[(a+d)%28][b+num+16];
h2=1;h2=0;
}
else
{
P0=si[(a+1+d)%28][b+num-16];
h1=1;h1=0;
P0=si[(a+1+d)%28][b+num];
h2=1;h2=0;
}
b++;
if(b==16)
{
b=0;
a++;
if(a==2)
{
a=0;
dat0=1;
cp=0;dat=0;cp=1;
c++;
if(c==speed)//调节移动快慢
{
c=0;if(stay==0)num++;
if(num==16)
{
num=0;d++;
}
}
}
}
TH0=(65536-240)/256;
TL0=(65536-240)%256;
delay(L);//调节亮度
P0=0;
h1=1;
h2=1;//消影
h1=0;
h2=0;
}
break;
case 3://显示上位机发送过来内容
{
cp=0;dat=dat0;dat0=0;cp=1;
if((b+num)<16)
{
P0=get[(a+d)%S][b+num];
h1=1;h1=0;
P0=get[(a+d)%S][b+num+16];
h2=1;h2=0;
}
else
{
P0=get[(a+1+d)%S][b+num-16];
h1=1;h1=0;
P0=get[(a+1+d)%S][b+num];
h2=1;h2=0;
}
b++;
if(b==16)
{
b=0;
a++;
if(a==2)
{
a=0;
dat0=1;
cp=0;dat=0;cp=1;
c++;
if(c==speed)//调节移动快慢
{
c=0;if(stay==0)num++;
if(num==16)
{
num=0;d++;
}
}
}
}
TH0=(65536-240)/256;
TL0=(65536-240)%256;
delay(L);//调节亮度
P0=0;
h1=1;
h2=1;//消影
h1=0;
h2=0;
}
break;
case 4://显示时间
{
cp=0;dat=dat0;dat0=0;cp=1;
switch (a)
{
case 0:
{
P0=xiao[b3][b];
h1=1;h1=0;
P0=xiao[a2][b];
h2=1;h2=0;
}
break;
case 1:
{
P0=xiao[a3][b];
h1=1;h1=0;
P0=xiao[10+c][b];
h2=1;h2=0;
}
break;
case 2:
{
P0=xiao[10+c][b];
h1=1;h1=0;
P0=xiao[b1][b];
h2=1;h2=0;
}
break;
case 3:
{
P0=xiao[b2][b];
h1=1;h1=0;
P0=xiao[a1][b];
h2=1;h2=0;
}
break;
}
b++;
if(b==8)
{
b=0;
a++;
shi=read_ds(4);//时
fen=read_ds(2); //分
miao=read_ds(0);//秒
if(a1!=miao%10){d=0;c=0;}
a1=miao%10;b1=miao/10;
a2=fen%10;b2=fen/10;
a3=shi%10;b3=shi/10;
if(a==4)
{
a=0;
dat0=1;
cp=0;dat=0;cp=1;
d++;
if(d==100)c=1;//调节闪烁时间
}
}
TH0=(65536-240)/256;
TL0=(65536-240)%256;
delay(L);//调节亮度
P0=0;
h1=1;
h2=1;//消影
h1=0;
h2=0;
}
break;
case 5://贪食蛇
{
P0=0;
h1=1;
h2=1;//消影
h1=0;
h2=0;
cp=0;dat=dat0;dat0=0;cp=1;
P0=game[0][a];
h1=1;h1=0;
P0=game[1][a];
h2=1;h2=0;
a++;
if(a==32)
{
a=0;
dat0=1;
cp=0;dat=0;cp=1;
b++;
if(b==step)//调节移动速度
{
b=0;
if(fang==0)//向前
{
lie++;num2++;num4++;
if(fang0==1)//转向前向上
{
if(num2<num3)//转向中
{
zhuan=1;
if(zhuan0==0)
cls(lie0%32,(hang+num3-num2)%16);
}
if(num2==num3)//已完成转向
{
cls((lie-num3+32)%32,hang%16);
num2--; zhuan=0;
}
}
if(fang0==3)//转向前向下
{
if(num2<num3)
{
zhuan=1;
if(zhuan0==0)
cls(lie0%32,(hang0-num3+num2+16)%16);
}
if(num2==num3)
{
cls((lie-num3+32)%32,hang%16);
num2--;
zhuan=0;
}
}
if(zhuan0==1)
{
if(fang1==0)
{
cls((lie1-num3+num4+32)%32,hang1%16);
}
if(fang1==2)
{
cls((lie1+num3-num4+32)%32,hang1%16);
}
}
if(num4==num3)zhuan0=0;//前一次转向结束
if(fang0==0)//游戏刚开始时
{
cls((lie-num3+32)%32,hang%16);
}
add((lie)%32,hang%16);
if(lie==num3+31)lie=num3-1;
}
if(fang==1)//向上
{
hang--;num2++;num4++;
if(fang0==0)
{
if(num2<num3)
{
zhuan=1;
if(zhuan0==0)
cls((lie0-num3+num2+32)%32,(hang0)%16);
}
if(num2==num3)
{
zhuan=0;
cls(lie%32,(hang+num3)%16);
num2--;
}
}
if(fang0==2)
{
if(num2<num3)
{
zhuan=1;
if(zhuan0==0)
cls((lie0+num3-num2)%32,hang0%16);
}
if(num2==num3)
{
cls(lie%32,(hang+num3)%16);
num2--;
zhuan=0;
}
}
if(zhuan0==1)
{
if(fang1==1)
{
cls((lie1)%32,(hang1+num3-num4+32)%16);
}
if(fang1==3)
{
cls((lie1)%32,(hang1-num3+num4+32)%16);
}
}
if(num4==num3)zhuan0=0;//前一次转向结束
add(lie%32,hang%16);
if(hang==0)hang=16;
}
if(fang==2)//向左
{
lie--;num2++;num4++;
if(fang0==1)
{
if(num2<num3)
{
zhuan=1;
if(zhuan0==0)
cls((lie0)%32,(hang0+num3-num2)%16);
}
if(num2==num3)
{
cls((lie+num3)%32,hang%16);
num2--;
zhuan=0;
}
}
if(fang0==3)
{
if(num2<num3)
{
zhuan=1;
if(zhuan0==0)
cls(lie0%32,(hang0-num3+num2+16)%16);
}
if(num2==num3)
{
cls((lie+num3)%32,hang%16);
num2--;
zhuan=0;
}
}
if(zhuan0==1)
{
if(fang1==0)
{
cls((lie1-num3+num4+32)%32,hang1%16);
}
if(fang1==2)
{
cls((lie1+num3-num4+32)%32,hang1%16);
}
}
if(num4==num3)zhuan0=0;//前一次转向结束
add(lie%32,hang%16);
if(lie==0)lie=32;
}
if(fang==3)//向下
{
hang++;num2++;num4++;
if(fang0==0)
{
if(num2<num3)
{
zhuan=1;
if(zhuan0==0)
cls((lie0-num3+num2+32)%32,hang0%16);
}
if(num2==num3)
{
cls((lie)%32,(hang-num3+16)%16);
num2--;
zhuan=0;
}
}
if(fang0==2)
{
if(num2<num3)
{
zhuan=1;
if(zhuan0==0)
cls((lie0+num3-num2)%32,hang0%16);
}
if(num2==num3)
{
cls((lie)%32,(hang-num3+16)%16);
num2--;
zhuan=0;zhuan0=0;
}
}
if(zhuan0==1)
{
if(fang1==1)
{
cls((lie1)%32,(hang1+num3-num4+32)%16);
}
if(fang1==3)
{
cls((lie1)%32,(hang1-num3+num4+32)%16);
}
}
if(num4==num3)zhuan0=0;//前一次转向结束
add((lie)%32,hang%16);
if(hang==num3+15)hang=num3-1;
}
if(lie%32==x1&&hang%16==y1)//吃到一颗
{
num3++;//长度加一
if(num3==13)//升级
{
hang=7;lie=2;fang=0;fang0=0;fang1=0;
num2=0;lie0=0;hang0=0;lie1=0;
zhuan=0;zhuan0=0;num3=3;num4=0;//再次初始化设置
ran=0;hang1=0;x1=0;y1=0;
for(j=0;j<2;j++)
for(i=0;i<32;i++)
game[j][i]=0;
add(0,7);add(1,7);add(2,7);
step=step-5;
if(step==10)step=30;
}
x1=rand()%32;
y1=rand()%16;
if(x1==(lie)%32||y1==hang%16||(x1==31&&y1==15))
{
x1=rand()%32;
y1=rand()%16;
}
if(x1==(lie)%32||y1==hang%16||(x1==31&&y1==15))
{
x1=rand()%32;
y1=rand()%16;
}
add(x1,y1);//再生成一颗"食物"
}
}
}
TH0=(65536-1200)/256;
TL0=(65536-1200)%256;
}
break;
default: break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -