📄 znewf02.c
字号:
break;
}
case 8:
{
scenes[5] =0; /*X=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[6] = 0; /*Y=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[7] = 147; /*=CB=F5=B7=C5*/
scenes[10] = 0; /*=C8=C6X=D6=E1=D7=AA*/
scenes[11] =0; /*=C8=C6Y=D6=E1=D7=AA*/
scenes[12] = 0; /*=C8=C6Z=D6=E1=D7=AA*/
scenes[13] =0; /* =D1=D5=C9=AB=BD=A5=B1=E4 */
break;
}
case 9:
{
scenes[5] = 0; /*X=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[6] = 0; /*Y=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[7] =201; /*=CB=F5=B7=C5*/
scenes[10] = 0; /*=C8=C6X=D6=E1=D7=AA*/
scenes[11] = 0; /*=C8=C6Y=D6=E1=D7=AA*/
scenes[12] = 0; /*=C8=C6Z=D6=E1=D7=AA*/
scenes[13] = 0; /* =D1=D5=C9=AB=BD=A5=B1=E4 */
break;
}
case 10:
{
scenes[5] = 0; /*X=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[6] = 0; /*Y=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[7] = 0; /*=CB=F5=B7=C5*/
scenes[10] = 181; /*=C8=C6Y=D6=E1=D7=AA*/
scenes[11] = 0; /*=C8=C6X=D6=E1=D7=AA*/
scenes[12] = 0; /*=C8=C6Z=D6=E1=D7=AA*/
scenes[13] = 0; /* =D1=D5=C9=AB=BD=A5=B1=E4 */
break;
}
case 11:
{
scenes[5] = 0; /*X=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[6] = 0; /*Y=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[7] = 0; /*=CB=F5=B7=C5*/
scenes[10] = 0; /*=C8=C6Y=D6=E1=D7=AA*/
scenes[11] = 181; /*=C8=C6X=D6=E1=D7=AA*/
scenes[12] =0; /*=C8=C6Z=D6=E1=D7=AA*/
scenes[13] = 0; /* =D1=D5=C9=AB=BD=A5=B1=E4 */
break;
}
case 12:
{
scenes[5] =0; /*X=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[6] =0; /*Y=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[7] = 0; /*=CB=F5=B7=C5*/
scenes[10] = 0; /*=C8=C6X=D6=E1=D7=AA*/
scenes[11] = 0; /*=C8=C6Y=D6=E1=D7=AA*/
scenes[12] = 181;
scenes[13] = 0;
break;
}
case 13:
{
scenes[5] = 0; /*X=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[6] =0; /*Y=B7=BD=CF=F2=D2=C6=B6=AF*/
scenes[7] =0; /*=CB=F5=B7=C5*/
scenes[10] = 0; /*=C8=C6X=D6=E1=D7=AA*/
scenes[11] = 0; /*=C8=C6Y=D6=E1=D7=AA*/
scenes[12] =218;
scenes[13] = 0; /* =D1=D5=C9=AB=BD=A5=B1=E4 */
break;
}
default: break;
}
}
//-----------------------------------------------------------------------=
void SetSportMode2(char Mode)
{
switch(Mode)
{
case 0:
{
break;
}
case 1:
{
scenes[6] = 161; /*=CF=F2=C9=CF=D2=C6=B6=AF*/
break;
}
case 2:
{
scenes[6] =191; /*=CF=F2=CF=C2=D2=C6=B6=AF*/
break;
}
case 3:
{
scenes[6] = 221; /*=C9=CF=CF=C2=D2=C6=B6=AF*/
break;
}
case 4:
{
scenes[5] = 161; /*=CF=F2=D7=F3=D2=C6=B6=AF*/
break;
}
case 5:
{
scenes[5] =191; /*=CF=F2=D3=D2=D2=C6=B6=AF*/
break;
}
case 6:
{
scenes[5] = 221; /*=D7=F3=D3=D2=D2=C6=B6=AF*/
break;
}
case 7:
{
scenes[7] = 93; /*=B7=C5=B4=F3*/
break;
}
case 8:
{
scenes[7] = 147; /*=CB=F5=D0=A1*/
break;
}
case 9:
{
scenes[7] =201; /*=CB=F5=B7=C5*/
break;
}
case 10:
{
scenes[10] = 181; /*=C8=C6X=D6=E1=D7=AA*/
break;
}
case 11:
{
scenes[11] =181; /*Y=D0=FD=D7=AA*/
break;
}
case 12:
{
scenes[12] =181; /*Z=C4=E6=CA=B1=D0=FD=D7=AA*/
break;
}
case 13:
{
scenes[12] =218; /*Z=CB=B3=CA=B1=D0=FD=D7=AA*/
break;
}
default:
break;
}
}
//-----------------------------------------------------------------------=
void SetColor(uchar color)
{
switch(color)
{
case 0:{Red1=1;Red2=1;Green=1;break;}
case 1:{Red1=1;Red2=1;Green=0;break;}
case 2:{Red1=0;Red2=0;Green=1;break;}
case 3:{Red1=1;Red2=1;Green=0;break;}
default: {Red1=1;Red2=1;Green=1;break;}
}
}
////////////////////////////////////////////////////////
void SetColorGra(unsigned char colorIndex, char *colorGraFore, char *colorGraBack)
{
switch (colorIndex)
{
case 0:
break;
case 1:
*colorGraFore =-2;
*colorGraBack = -1;
break;
case 2:
*colorGraFore = 0;
*colorGraBack =1;
break;
case 3:
*colorGraFore =30;
*colorGraBack = 2;
break;
case 4:
*colorGraFore = 2;
*colorGraBack = 1;
break;
case 5:
*colorGraFore = 1;
*colorGraBack = 2;
break;
case 6:
*colorGraFore = 2;
*colorGraBack = 0;
break;
case 7:
*colorGraFore = 1;
*colorGraBack = 0;
break;
case 8:
*colorGraFore =-2;
*colorGraBack = -1;
break;
default:
break;
}
}
////////////////////////////////////////////////////////
void LaserOn(char OnFlag)
{
if(OnFlag>=1)
{
SetColor(Color);
}
else
{Red1=Green=Red2=0; return;}
}
void Delay(int x)
{
while(x--);
}
uchar GetNextStep(char x,char y)
{ uchar date;
StepMargin_X=x-x0; StepMargin_Y=y-y0;
if(StepMargin_X>0) {Psteps_X=(Psteps_X+1)%8; x0++;}
else if(StepMargin_X<0)
{ if(Psteps_X<=0) Psteps_X=7;
else Psteps_X--;
x0--;
}
if(StepMargin_Y>0) {Psteps_Y=(Psteps_Y+1)%8; y0++;}
else if(StepMargin_Y<0)
{ if(Psteps_Y<=0) Psteps_Y=7;
else Psteps_Y--;
y0--;
}
date=steps_Y[Psteps_Y];
date=date|steps_X[Psteps_X];
return date;
}
void WalkeToXY(char xx,char yy,uint DelayTime)
{ while(!(x0==xx&&y0==yy))
{ OutPort=GetNextStep(xx,yy);
Delay(DelayTime);
}
}
/*
void Beeline(char xx0,char yy0,char xx1,char yy1,uint DelayTime,uchar count)
{ int temp;
while(count--)
{ WalkeToXY(xx0,yy0,DelayTime);
WalkeToXY(xx1,yy1,DelayTime);
}
}
*/
char MyPow(char date)
{ char temp=1;
bit stop=0;
int i;
for(i=1;i<=date/2&&stop==0;i++)
{ temp=i*i;
if(temp==date) return i;
if(temp>date) stop=1;
}
return (temp-date>(date-(i-1)*(i-1))?(i-1):i);
}
char GetY_Circle(char Dot_X,char xx,char radii)
{ char yy;
yy=radii*radii-(xx-Dot_X)*(xx-Dot_X);
yy=MyPow(yy);
return yy;
}
void Circle(char xx0,char yy0, char radii,uint DelayTime,uchar count)
{ char temp,yy;
while(count--)
{
LaserOn(0);
WalkeToXY(xx0+radii,yy0,DelayTime);
LaserOn(1);
//--------------------------------//
if(PlayMode==0) {LaserOn(0);return;}
if(DMX_Flag==10) {LaserOn(0);return;}
if(OffOrOn) {LaserOn(0);return;}
//--------------------------------//
temp=xx0+radii;
for(;temp>=xx0-radii;temp--)
{ yy=GetY_Circle(xx0,temp,radii);
WalkeToXY(temp,yy+yy0,DelayTime);
}
for(temp=temp+1;temp<=xx0+radii;temp++)
{ yy=-(GetY_Circle(xx0,temp,radii));
WalkeToXY(temp,yy+yy0,DelayTime);
}
}
}
void ConfirmDot()
{
int i;
Green=0;
Red1=0;
OutPort=0;
/*-----------y----------*/
for(i=0;i<400;i++)
{
OutPort=steps_Y[i%8];
Delay(1000);
}
for(i=0;i<90;i++)
{
OutPort=steps_Y[7-i%8];
Delay(200);
}
--i;
Psteps_Y = 7 - (i % 8);
/*--------x-------------*/
for(i=0;i<400;i++)
{
OutPort=steps_X[i%8];
Delay(1000);
}
for(i=0;i<94;i++)
{
OutPort=steps_X[7-i%8];
Delay(200);
}
--i;
Psteps_X = 7 - (i % 8);
x0=0;
y0=0;
}
//-----------------------------------------------------------------------=
void Show(char code *pPictrue,char Dx,char Dy,char ZoomX,char ZoomY,int AngleX,int AngleY,char AngleZ)
{
uint temp = pPictrue[0];
uint i,j;
char x,y;
bit IsStartPoint;
static unsigned char colorGraSpeed =0;
unsigned char colorGraSpeedValve = 0;
static unsigned char colorGraPointNum =1;
unsigned char colorGraFore =0;
unsigned char colorGraBack =0;
unsigned char colorFlowSpeedValve =0;
LaserOn(0);
IsStartPoint=0;
if(PlayMode==0) {LaserOn(0);return;}
if(WorkMode==0&&DMX_Flag==10) {LaserOn(0);return;}
if(OffOrOn) {LaserOn(0);return;}
if(Reset==10) return;
//---------------------------------//
DisPlayMode=scenes[4]/70;
DisPlayFlag1=DisPlayFlag2=DisPlayFlag3=0;
DisPlay2=0;
//---------------------------------//
if ((scenes[8] >=160) && (scenes[8] <=199))
{
colorFlowSpeedValve = 20 - ((scenes[8] - 160) / 2);
if (((++FlowSpeed) % colorFlowSpeedValve) ==0)
{
Flow=(Flow+1)%3;
}
}
else
{
if ((FlowSpeed++)%5==0)
{
Flow=(Flow+1)%3;
}
}
if (scenes[13] ==0)
{
gColorGraSelectMode =0;
}
else if ((scenes[13] > 0) &&(scenes[13] <=100))
{
gColorGraSelectMode =1;
}
else if ((scenes[13] >=101) &&(scenes[13] <=251))
{
gColorGraSelectMode =2;
gColorGraMode =((scenes[13] - 100) / 19) + 1;
colorGraSpeedValve =7 - (((scenes[13] - 100) % 19) / 3) ;
}
else
{
gColorGraSelectMode = 3;
colorGraSpeedValve = 4 - (scenes[13] - 252);
}
if (gColorGraSelectMode == 2 || gColorGraSelectMode == 3)
{
if ( ++colorGraSpeed >= colorGraSpeedValve )
{
colorGraPointNum = colorGraPointNum + 2;
colorGraSpeed =0;
}
}
if (gColorGraSelectMode ==2)
{
SetColorGra(gColorGraMode, &colorGraFore, &colorGraBack);
}
else if (gColorGraSelectMode == 3)
{
gColorGraMode =ColorGraList[gColorGraIndex];
SetColorGra(gColorGraMode, &colorGraFore, &colorGraBack);
}
else
{
}
for(i=1,j=0;i<=2*temp;i=i+2)
{
//------------------------------------------------------//
x = pPictrue[i]; y =pPictrue[i+1];
//----------------------------------------------------------//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -