吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10118|回复: 3
收起左侧

[其他原创] [VBS]简易黑客帝国数码雨特效

[复制链接]
老刘 发表于 2019-4-23 14:58
简易代码雨特效,效果一般,大佬见笑,
本来还想弄个颜色渐变,奈何控制台颜色有限,加之调用API换位置调颜色速度低下,遂放弃。
下面的代码先生成Str,再输出,避免了大量重复调用api,基本不会卡顿。
效果图:
[Visual Basic] 纯文本查看 复制代码
Rem Code BY 老刘
Rem 转载请注明出处
Rem 控制台框架由Nsqs开发,在此表示感谢!

Const CharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
Dim Console
Set Console = CreateObject("Vbscript.Console")
Console.Title Chr(&HA1BE)&Chr(&HC0CF)&Chr(&HC1F5)&Chr(&HB1E0)&Chr(&HD0B4)&Chr(&HA1BF)&Chr(&HC4A3)&Chr(&HC4E2)&Chr(&HBADA)&Chr(&HBFCD)&Chr(&HB5DB)&Chr(&HB9FA)&Chr(&HCAFD)&Chr(&HC2EB)&Chr(&HD3EA)
Width = Console.ViewWidth - 1
Height = Console.ViewHeight - 2
SingleRowMaxRaindrop = 3
Console.CursorVisable = False
Console.SetViewSize Width + 2,Height + 1
Console.ForeColor = 10
Dim NowDown(),y(),Length()
ReDim NowDown(Width - 1),y(Height - 1),SpaceArray(Width - 1),Length(Width - 1)

For i = 1 To Width
	SpaceArray(i - 1) = " "
Next

For i = 1 To Height
	y(i-1)=SpaceArray
Next

'For i = 1 To Width 
'	NowDown(i - 1) = Empty
'Next

'For i = 1 To Width 
'	Length(i - 1) = Fix(Rnd * (Height / 3) * 2) + Fix(Height / 4)
'Next

While True
	For i = 0 To UBound(NowDown)
		If NowDown(i) = Empty Then	'新增雨滴
			NowDown(i) = - Fix(Rnd * Height)
			Length(i) = Fix(Rnd * (Height / 3) * 2) + Fix(Height / 4)
		End If
		If NowDown(i) < Height And NowDown(i) >= 0 Then	'画雨滴
			y(NowDown(i))(i) = Mid(CharMap,Fix(Rnd * Len(CharMap)) + 1,1)
		End If
		If NowDown(i) - Length(i) >= 0 And NowDown(i) - Length(i) < Height Then	'擦除雨滴
			y(NowDown(i) - Length(i))(i) = " "
		End If
		If NowDown(i) - Length(i) + 1 = Height Then	'判断是否下落完成
			NowDown(i) = Empty
		Else
			NowDown(i) = NowDown(i) + 1
		End If
	Next
	On Error Resume Next
	Console.MoveCursor 0,0
	If Err.Number <> 0 Then WScript.Quit
	On Error Goto 0
	Console.WriteText GetStr(y)
	'WScript.Echo String(UBound(y)+1,"-")
	'WScript.Echo GetStr(y)
	WScript.Sleep 10
Wend

Function GetStr(Arr)
	Dim Str
	Str = ""
	For i = 0 To UBound(Arr)
		Str = Str & Join(Arr(i),"") & vbNewLine
	Next
	GetStr = Str
End Function

需要一个第三方COM(控制台框架),由@Nsqs开发,在此表示感谢!
Console.7z (16.76 KB, 下载次数: 57)

免费评分

参与人数 1吾爱币 +5 热心值 +1 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

熊猫 发表于 2019-4-23 15:12
真好玩 下载试试
yx2011 发表于 2019-4-23 15:33
缘下有我 发表于 2019-4-23 16:16
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 07:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表