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

📄 hzk24.h

📁 c游戏编程从入门到精通_全部源代码和文档
💻 H
字号:
int test(unsigned int a,int k)
{
a<<=(k-1);
if(a&0x80)
return (1);
else
return (0);
}

void hzk24(int x,int y,char *zw,int c)
{
   register unsigned int n=0;

   while(n!=strlen(zw))
   {

   register unsigned int i=0,j=0,l=0;
   register unsigned long xx=0;
   register unsigned long yy=0;
   register unsigned long num=0;
   FILE *fp;
   char *wm;
	if((zw[n]&0x80)==0)//判断是否是扩展ASCII
	{
		if(zw[n]==' ')
		{
			x=x+24;
			n++;
		}
		else
		{
			fp=fopen("hzk24t","rb+");//打开西文字库文件
			if(fp==NULL)
			{
				exit(0);
			}
		num=188+zw[n]-33;
		fseek(fp,(72)*num,0);
		fread(wm,72,1,fp);
		fclose(fp);
		for(i=0;i<24;i++)
		{
		      for(j=0;j<3;j++)
			 {for(l=1;l<=8;l++)
			  if(test(wm[i*3+j],l)==1)
			   {
			   video_buffer[(x+i)+(y+j*8+l-1)*320]=c;
			}
			 }
		}
	 n+=1;}
	 }else{
		 fp=fopen("hzk24k","rb+");//打开楷体字库文件
		 if(fp==NULL){exit(0);}
		 zw[n]=zw[n]-0xa0-15;
		 zw[n+1]=zw[n+1]-0xa0;
		 num=(zw[n]-1)*94+(zw[n+1]-1);
		 fseek(fp,(72)*num,0);
		 fread(wm,72,1,fp);
		 fclose(fp);
		  for(i=0;i<24;i++)
		   {
		      for(j=0;j<3;j++)
			 {for(l=1;l<=8;l++)
			  if(test(wm[i*3+j],l)==1)
			   {
			   video_buffer[(x+i)+(y+j*8+l-1)*320]=c;
			}
			 }

		    }
n+=2;}
x=x+25;
}

}

void hz24_k(int X,int Y,char *zw,int c)
{
   register unsigned int n=0;

   while(n!=strlen(zw))
   {

   register unsigned int i=0,j=0,l=0;
   register unsigned long xx=0;
   register unsigned long yy=0;
   register unsigned long num=0;
   FILE *fp;
   char *wm;
	if((zw[n]&0x80)==0)
	{
		if(zw[n]==' ')
		{
			X=X+24;
			n++;
		}
		else
		{
			fp=fopen("hzk24t","rb+");
			if(fp==NULL)
			{
				exit(0);
			}
		num=188+zw[n]-33;
		fseek(fp,(72)*num,0);
		fread(wm,72,1,fp);
		fclose(fp);
		for(i=0;i<24;i++)
		{
		      for(j=0;j<3;j++)
			 {for(l=1;l<=8;l++)
			  if(test(wm[i*3+j],l)==1)
			   {
			   video_buffer[(X+i)+(Y+j*8+l-1)*320]=c;
			}
			 }
		}
	 n+=1;}
	 }else{
		 fp=fopen("hzk24k","rb+");
		 if(fp==NULL){exit(0);}
		 zw[n]=zw[n]-0xa0-15;
		 zw[n+1]=zw[n+1]-0xa0;
		 num=(zw[n]-1)*94+(zw[n+1]-1);
		 fseek(fp,(72)*num,0);
		 fread(wm,72,1,fp);
		 fclose(fp);
		  for(i=0;i<24;i++)
		   {
		      for(j=0;j<3;j++)
			 {for(l=1;l<=8;l++)
			  if(test(wm[i*3+j],l)==1)
			   {
			   video_buffer[(X+i)+(Y+j*8+l-1)*320]=c;
			}
			 }

		    }
n+=2;}
X=X+25;
}
}
void hz24_h(int X,int Y,char *zw,int c)
{
   register unsigned int n=0;

   while(n!=strlen(zw))
   {

   register unsigned int i=0,j=0,l=0;
   register unsigned long xx=0;
   register unsigned long yy=0;
   register unsigned long num=0;
   FILE *fp;
   char *wm;
	if((zw[n]&0x80)==0)
	{
		if(zw[n]==' ')
		{
			X=X+24;
			n++;
		}
		else
		{
			fp=fopen("hzk24t","rb+");
			if(fp==NULL)
			{
				exit(0);
			}
		num=188+zw[n]-33;
		fseek(fp,(72)*num,0);
		fread(wm,72,1,fp);
		fclose(fp);
		for(i=0;i<24;i++)
		{
		      for(j=0;j<3;j++)
			 {for(l=1;l<=8;l++)
			  if(test(wm[i*3+j],l)==1)
			   {
			   video_buffer[(X+i)+(Y+j*8+l-1)*320]=c;
			}
			 }
		}
	 n+=1;}
	 }else{
		 fp=fopen("hzk24h","rb+");
		 if(fp==NULL){exit(0);}
		 zw[n]=zw[n]-0xa0-15;
		 zw[n+1]=zw[n+1]-0xa0;
		 num=(zw[n]-1)*94+(zw[n+1]-1);
		 fseek(fp,(72)*num,0);
		 fread(wm,72,1,fp);
		 fclose(fp);
		  for(i=0;i<24;i++)
		   {
		      for(j=0;j<3;j++)
			 {for(l=1;l<=8;l++)
			  if(test(wm[i*3+j],l)==1)
			   {
			   video_buffer[(X+i)+(Y+j*8+l-1)*320]=c;
			}
			 }

		    }
n+=2;}
X=X+25;
}
}
void hz24_s(int X,int Y,char *zw,int c)
{
   register unsigned int n=0;

   while(n!=strlen(zw))
   {

   register unsigned int i=0,j=0,l=0;
   register unsigned long xx=0;
   register unsigned long yy=0;
   register unsigned long num=0;
   FILE *fp;
   char *wm;
	if((zw[n]&0x80)==0)
	{
		if(zw[n]==' ')
		{
			X=X+24;
			n++;
		}
		else
		{
			fp=fopen("hzk24t","rb+");
			if(fp==NULL)
			{
				exit(0);
			}
		num=188+zw[n]-33;
		fseek(fp,(72)*num,0);
		fread(wm,72,1,fp);
		fclose(fp);
		for(i=0;i<24;i++)
		{
		      for(j=0;j<3;j++)
			 {for(l=1;l<=8;l++)
			  if(test(wm[i*3+j],l)==1)
			   {
			   video_buffer[(X+i)+(Y+j*8+l-1)*320]=c;
			}
			 }
		}
	 n+=1;}
	 }else{
		 fp=fopen("hzk24s","rb+");
		 if(fp==NULL){exit(0);}
		 zw[n]=zw[n]-0xa0-15;
		 zw[n+1]=zw[n+1]-0xa0;
		 num=(zw[n]-1)*94+(zw[n+1]-1);
		 fseek(fp,(72)*num,0);
		 fread(wm,72,1,fp);
		 fclose(fp);
		  for(i=0;i<24;i++)
		   {
		      for(j=0;j<3;j++)
			 {for(l=1;l<=8;l++)
			  if(test(wm[i*3+j],l)==1)
			   {
			   video_buffer[(X+i)+(Y+j*8+l-1)*320]=c;
			}
			 }

		    }
n+=2;}
X=X+25;
}
}
void hz24_f(int X,int Y,char *zw,int c)
{
   register unsigned int n=0;

   while(n!=strlen(zw))
   {

   register unsigned int i=0,j=0,l=0;
   register unsigned long xx=0;
   register unsigned long yy=0;
   register unsigned long num=0;
   FILE *fp;
   char *wm;
	if((zw[n]&0x80)==0)
	{
		if(zw[n]==' ')
		{
			X=X+24;
			n++;
		}
		else
		{
			fp=fopen("hzk24t","rb+");
			if(fp==NULL)
			{
				exit(0);
			}
		num=188+zw[n]-33;
		fseek(fp,(72)*num,0);
		fread(wm,72,1,fp);
		fclose(fp);
		for(i=0;i<24;i++)
		{
		      for(j=0;j<3;j++)
			 {for(l=1;l<=8;l++)
			  if(test(wm[i*3+j],l)==1)
			   {
			   video_buffer[(X+i)+(Y+j*8+l-1)*320]=c;
			}
			 }
		}
	 n+=1;}
	 }else{
		 fp=fopen("hzk24f","rb+");
		 if(fp==NULL){exit(0);}
		 zw[n]=zw[n]-0xa0-15;
		 zw[n+1]=zw[n+1]-0xa0;
		 num=(zw[n]-1)*94+(zw[n+1]-1);
		 fseek(fp,(72)*num,0);
		 fread(wm,72,1,fp);
		 fclose(fp);
		  for(i=0;i<24;i++)
		   {
		      for(j=0;j<3;j++)
			 {for(l=1;l<=8;l++)
			  if(test(wm[i*3+j],l)==1)
			   {
			   video_buffer[(X+i)+(Y+j*8+l-1)*320]=c;
			}
			 }

		    }
n+=2;}
X=X+25;
}

}

⌨️ 快捷键说明

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