批处理数字雨

批处理数字雨,第1张

1.setlocal ENABLEDELAYEDEXPANSION

启用 延缓环境变量 扩展

启用以后,可以得到 变量在运行时扩展变量的值,而不是只取一次,看一下例子:比如,当前目录下有两个文件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")

几个基本的颜色;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11574767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存