📄 hzk24s.c
字号:
#include<dos.h>
#include<conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define VGA256 0x13
#define TEXT_MODE 0x03
int color=YELLOW;
unsigned char far *video_buffer=(char far *)0xA0000000L;
int test(unsigned int a,int k)
{
a<<=(k-1);
if(a&0x80)
return (1);
else
return (0);
}
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;
}
}
void Set_Video_Mode(int mode)
{
union REGS inregs,outregs;
inregs.h.ah=0;
inregs.h.al=(unsigned char)mode;
int86(0x10,&inregs,&outregs);
}
void main(void)
{
int x=50,y=10,mode;
char *a="a 游戏编程";
char *b="b 游戏编程";
char *c="c 游戏编程";
char *d="d 游戏编程";
Set_Video_Mode(VGA256);
hz24_f(x,y,a,color);
hz24_h(x,y+40,b,color);
hz24_k(x,y+80,c,color);
hz24_s(x,y+120,d,color);
getch();
Set_Video_Mode(TEXT_MODE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -