启用 延缓环境变量 扩展
启用以后,可以得到 变量在运行时扩展变量的值,而不是只取一次,看一下例子:比如,当前目录下有两个文件a.txt和b.txt
没有启用时:
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
只会显示"b.txt",因为没有启用扩展,只能把LIST变量设置成找到的最后一个文件。
启用以后:(需要使用!LIST!的形式,而不是%LIST%的形式)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%
会显示"a.txt b.txt",LIST变量就包括了当前目录下的所有文件的列表。(以空格分隔的)--
2.set /p=!chr!<NUL
/p 允许将变量数值设成用户输入的一行。
就是需要由用户通过键盘输入。
比如:set /p=Your Name?
就会显示 Your Name?同时等待你的输入。!ch!,前面说过了,就是扩展取得当前的chr变量值。(作为要输入的内容)<,是输入重定向符,表示由它后面所指定的设备输入。
NUL是空设备。
写成<NUL,这就相当于,自动由键盘输入一个回车,也就完成了把!chr!扩展后,再次显示出来的效果。--3.goto loop
就是英文的意思,让程序的流程,转移到loop标签(即 ":loop")处,继续执行。
#include<stdio.h>
#include<time.h>
#include<windows.h>
typedef struct
{
int x,y
char ch
}STU
STU st[100]
//出现位置
void gotoxy(int x, int y)
{
HANDLE hout
COORD pos
pos.X = x
pos.Y = y
hout = GetStdHandle(STD_OUTPUT_HANDLE)
SetConsoleCursorPosition(hout, pos)
}
/*隐藏光标*/
void show_cursor(int hide)
{
CONSOLE_CURSOR_INFO cciCursor
HANDLE hout
hout = GetStdHandle(STD_OUTPUT_HANDLE)
if(GetConsoleCursorInfo(hout, &cciCursor))
{
cciCursor.bVisible = hide
SetConsoleCursorInfo(hout, &cciCursor)
}
}
/*设置颜色*/
void set_color(int color)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color)
}
main()
{
int i,j
show_cursor(0)
srand(time(NULL))
//初始化结构体
for (i=0i<100i++)
{
st[i].x = rand()%80
st[i].y = rand()%20
st[i].ch = rand()%(49-47)+48
}
while (1)
{
for (i=0i<100i++)
{
gotoxy(st[i].x,st[i].y)
set_color(0x2)//最先出现的颜色;
putchar(st[i].ch)
gotoxy(st[i].x,st[i].y-5)
putchar(' ')
st[i].y++
st[i].ch = rand()%(49-47)+48
if (st[i].y-5>=18)
{
gotoxy(st[i].x,st[i].y-1)
putchar(' ')
gotoxy(st[i].x,st[i].y-2)
putchar(' ')
gotoxy(st[i].x,st[i].y-3)
putchar(' ')
gotoxy(st[i].x,st[i].y-4)
putchar(' ')
gotoxy(st[i].x,st[i].y-4)
putchar(' ')
}
if (st[i].y >23)
{
st[i].x = rand()%80
st[i].y = rand()%20
}
gotoxy(st[i].x,st[i].y)
set_color(0xA)//由前一个颜色渐变成的颜色
putchar(st[i].ch)
}
Sleep(120)
}
}
color(0) printf("黑色\n") color(1) printf("蓝色\n") color(2) printf("绿色\n") color(3) printf("湖蓝色\n") color(4) printf("红色\n") color(5) printf("紫色\n") color(6) printf("黄色\n") color(7) printf("白色\n") color(8) printf("灰色\n") color(9) printf("淡蓝色\n") color(10) printf("淡绿色\n") color(11) printf("淡浅绿色\n") color(12) printf("淡红色\n") color(13) printf("淡紫色\n") color(14) printf("淡黄色\n") color(15) printf("亮白色\n")几个基本的颜色;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)