C语言艺术清屏
问题的提出:我们在编制程序时,经常要用到清屏处理,如dos下的cls,Turbo C下的clrscr()等都具有清屏功能,但这些均为一般意义的清屏,_i,oL5t.N}9JWti A
并未显示其清屏规律.而有时为了达到清屏的艺术美观,往往对清屏有一些具体要求,如:开幕清屏;闭幕清屏;上清屏;下清屏;中清屏.为此,这里1g-p7r6n(oh
\?&S,Aw)l
用C语言编制了几个子函数,用于程序中时,既可达到清屏的目的,有能增加屏幕的艺术美观. (f6H}u M;doB!g}/w
子函数及演示程序:f*Ud2?v9o}oK/q)|
$Ovo/o(ZK/f
#include<stdio.h>+s1O,cY!Wbm:f;R0k
#include<dos.h>
#include<conio.h> q7TO| b7V.J)s[
M&x&ci9uih_
void goto_xy(int x,int y);.HqwNAGK
void dcls(int x1,int x2,int y1,int y2);
void bcls(int x1,int x2,int y1,int y2);
void kcls(int x1,int x2,int y1,int y2);{ U(E!{^b/U
void recls(int x1,int x2,int y1,int y2);,P6[2m1e7gD6u5D
void zcls(int x1,int x2,int y1,int y2);-VV1V,K6l8M
void puta(void);
\h{6X z]/k0a
/*--------------演示程序---------------------*/%h ksd%M?:z
main()6]0WXZTf%D`g
{#f*xpKs4]bs
puta();
getch();:v'?,uXt4h&WC
dcls(0,4,0,79);
getch();}P^#h+zq c
puta();
getch();/w0X4{pNe-\-bC@,q
bcls(0,25,0,79);Id}N I4X5`?#}
getch();?)U`\X"n
puta();{&T_%EE
getch();!V&z D}1F |+Z
zcls(0,25,0,79);;^)B7S+dP2ItB
getch();
}1L6n-T?mL9kD[2K
/*********center clear screen(中心清屏)***********/5^1Y1Fg7]1gf
void zcls(int x1,int x2,int y1,int y2)
{
int x00,y00,x0,y0,i,d;ss^B({m4F0i
if((y2-y1)>(x2-x1)){DQm'Mt n
d=(x2-x1)/2;
x0=(x1+x2)/2;3T*Ro^m Jl+j"~g#q
y0=y1+d;n(B^y8un;i
y00=y2-d;iGw5a%vQV:z1jd!p
for(i=0;i<(d+1);i++)
recls((x0-i),(x00+i),(y0-i),(y00+i)); wr6`2uW.h V$J yG^
delay(10);!Zj Oc?a8YHv
}
else{
d=(y2-y1)/2;