⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 液晶.c

📁 俄罗斯方块显示程序
💻 C
📖 第 1 页 / 共 2 页
字号:
 
void GUI(unsigned char key)
{
    uchar i,j,k;
    uchar Chshow=0;
 	if(key!=0&&key!='*'&&key!='#'&&key!='1')
		{
			if(Chshow==0)
			{
				fnSetPos(0,0);cls();
				Line(30,30,30,98,1);
				Line(30,30,130,30,1);
				Line(130,30,130,98,1);
				Line(30,98,130,98,1);
			}
			Chshow=1;
			sprintf(dsp,"测试:%c\n",key);
			dprintf(62,56,dsp);
         	while(key!=0){key=GeyKey();}
		}
		if(key=='#'||key=='*'||key=='1')Chshow=0;
		if(key=='*')
		{
			cls();
			dprintf(0,0,"测试:");
		    dprintf(0,24,"let's go!");
			while(1){key=GeyKey();if(key!=0&&key!='*')break;}
		    }
		
		if(key=='#')
		{
			fnSetPos(0,0);
			cls();
			while(1)
			{
				k=0;
				for(i=0;i<img1[1];i++)
			    {
			        fnSetPos(k,0);k++;
			        fnPR12(LC_AUT_WR); // 写数据
			        for(j=0;j<img1[0]/8;j++)
			            fnPR13(img1[i*(img1[0]/8)+j+2]);
			        fnPR12(LC_AUT_OVR);
			    }
				for(i=0;i<100;i++)for(j=0;j<255;j++){key=GeyKey();if(key!=0&&key!='#')break;}
				if(key!=0&&key!='#')break;
				k=0;
				for(i=0;i<img2[1];i++)
			    {
			        fnSetPos(k,0);k++;
			        fnPR12(LC_AUT_WR); // 写数据
			        for(j=0;j<img2[0]/8;j++)
			            fnPR13(img2[i*(img2[0]/8)+j+2]);
			        fnPR12(LC_AUT_OVR);
			    }
				for(i=0;i<100;i++)for(j=0;j<255;j++){key=GeyKey();if(key!=0&&key!='#')break;}
				if(key!=0&&key!='#')break;

			}
			
		}
		if(key=='1')
		{
			cls();
		
	        dprintf(0,12,"Competition is\n about to begin\nplease waite!");

			while(1){key=GeyKey();if(key!=0&&key!='1')break;}

		}
}

void start(void)
{ 
   uchar i,j;
   Line(30,5,30,123,1);
   Line(30,5,130,5,1);
   Line(130,5,130,123,1);
   Line(30,123,130,123,1);	
   for(i=0,j=60;i<=11;i++)
   {
   dprintf(33+8*i,j,"-");
   }
   Line(70,10,90,10,1);
   Line(70,118,90,118,1);
   dprintf(100,100,"o");
  
   x_tick=70;y_tick=10;
   p=1;
}


void inputs(unsigned char key)
{ 
    
   switch(key)
   {

   case '2': if(y_tick>=55) break;
             else
             {Line(x_tick,y_tick,x_tick+20,y_tick,0);
	         Line(x_tick,y_tick+2,x_tick+20,y_tick+2,1);y_tick=y_tick+2;break;
			 }
	case '8': if(y_tick<=10) break;
             else
             {Line(x_tick,y_tick,x_tick+20,y_tick,0);
	         Line(x_tick,y_tick-2,x_tick+20,y_tick-2,1);y_tick=y_tick-2;break;
			 }
	  case '4': if(x_tick<=34) break;
             else
             {Line(x_tick,y_tick,x_tick+20,y_tick,0);
	         Line(x_tick-4,y_tick,x_tick+20-4,y_tick,1);x_tick=x_tick-4;break;
	  		 }
	  case '6': if(x_tick>=106) break;
             else
             {Line(x_tick,y_tick,x_tick+20,y_tick,0);
	         Line(x_tick+4,y_tick,x_tick+20+4,y_tick,1);x_tick=x_tick+4;break;
			 }
   default: break;
   }
}
 
void guiji(void)
{
  
  switch(p)
  {
  case 1: if(x_tick>=122) {p++;break;}
          else { dprintf(x_tick,y_tick," ");x_tick++;y_tick=(-1)*x_tick+147;dprintf(x_tick,y_tick,"o");
		         shortdelay(400);break;}
   
  case 2: if(y_tick<=6)  {p++;break;}
          else { dprintf(x_tick,y_tick," ");x_tick--;y_tick=x_tick-97;dprintf(x_tick,y_tick,"o");
          shortdelay(400);break;}
  case 3: if(x_tick<=32)  {p++;break;}
          else { dprintf(x_tick,y_tick," ");x_tick--;y_tick=(-1)*x_tick+109;dprintf(x_tick,y_tick,"o");
          shortdelay(400);break;}
  case 4: if(y_tick>=110)  {p=1;break;}
          else { dprintf(x_tick,y_tick," ");x_tick++;y_tick=x_tick+45;dprintf(x_tick,y_tick,"o");
          shortdelay(400);break;}

   default: break;
  }
   
	
}
   
uchar GeyKey()
{  
    A=0;
 	H=1;
 	C=1;
 	D=1;
    E=1;
	F=1;
	G=1;
	_nop_();_nop_();
	if(!E)return '1';
 	if(!F)return '2';
 	if(!G)return '3';
 	A=1;
    H=0;
 	C=1;
 	D=1;
	_nop_();_nop_();
	if(!E)return '4';
 	if(!F)return '5';
 	if(!G)return '6';

 	A=1;
 	H=1;
 	C=0;
 	D=1;
	_nop_();_nop_();
	if(!E)return '7';
 	if(!F)return '8';
 	if(!G)return '9';

 	A=1;
 	H=1;
 	C=1;
 	D=0;
	_nop_();_nop_();
	if(!E)return '*';
 	if(!F)return '0';
 	if(!G)return '#';
    
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -