佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 批處理 數(shù)碼雨代碼解釋

批處理 數(shù)碼雨代碼解釋

熱門標簽:網(wǎng)站文章發(fā)布 智能手機 鐵路電話系統(tǒng) 服務器配置 呼叫中心市場需求 美圖手機 銀行業(yè)務 檢查注冊表項
做了一個批處理的數(shù)碼雨,老題目了

主要給新手看
主要用于了解批處理的一下知識
1.隨機變量的使用
2.變量的疊加
下面是源代碼:
復制代碼 代碼如下:

@echo off
color 0a
:start
set num=0
set "echos= "
:num
set /a a1=%random%%%3
if "%a1%" == "1" set "a1= "
if "%a1%" == "2" set "a1= "
if "%a1%" == "0" set /a a1=%random%%%2
set echos=%echos%%a1%
set /a num=%num%+1
if "%num%" == "75" echo %echos%goto :start
goto :num

我來詳細解釋一下
復制代碼 代碼如下:

@echo off
::關閉回顯(不用說了吧)

color 0a
::這句的意思是改變批處理的字體顏色,0a就是顏色代碼(具體可以看Color命令)

:start

set num=0
::定義(重新定義)num的變量,值為0(我們用這個變量來計算批處理循環(huán)的次數(shù))

set "echos= "
::定義(重新定義)echos的變量,值為一個空格

:num

set /a a1=%random%%%3
::這句就很重要了,這句可以說是整個數(shù)碼雨代碼的核心
::這句的意思是定義一個隨機數(shù),值在"3"以下
::要限制隨機數(shù)的值,必須用set命令的/a開關
::比如我想定義一個num的變量,這個變量是隨機數(shù),切必須小于20,那代碼就是
::set /a num=%random%%%20
::以上是完整的代碼,如果沒有使用/a開關寫成了set num=%random%%%20
::那么就會出現(xiàn)錯誤

if "%a1%" == "1" set "a1= "
::這句意思是如果變量a1(也就是上一句的隨機變量)值是1的話那么a1的值就是一個空格
::Ps(這里我有必要說一下)
::我們程序的目的是模擬數(shù)碼雨
::大家也許也看過數(shù)碼雨,數(shù)碼雨不是全是0和1,中間也是有空隙的,這句就是為了達到這個目的
::下面一句也是同樣的目的
::最后還有一點要提
::不知大家發(fā)現(xiàn)沒有我們之前的語句我沒有用雙引號如set num=0
::而這句 set "a1= " 卻用了雙引號,這是為什么呢
::其實,之前的語句set num=0,也可以改為set "num=0"
::這樣似乎顯得比較標準,是不是 set "a1= " 也可以改為 set a1= 呢
::答案是"No"
::因為set a1=這句就算你在語句后面加入了空格,批處理也不會去識別
::導致了a1的值為空,在批處理中,變量的值是不能為空的,所以我們用空格代替
::就寫成 set "a1= "



if "%a1%" == "2" set "a1= "
::如果a1值為2,那么a1的值就是一個空格


if "%a1%" == "0" set /a a1=%random%%%2
::這句的意思是,如果隨機變量a1的值為0,那么a1的值將隨機取一個2以下的整數(shù)
::換句話說就是如果a1值是0,那么a1就隨機選0和1兩個數(shù)

set "echos=%echos%%a1%"
::這里就是我所說的變量疊加
::之所以用引號是因為a1也有可能是空格
::其次就是echos=%echos% .. 我們現(xiàn)在只看這段
::這句話的意思是定義echos變量為 變量echos和變量a1的 值
::是不是有些暈
::我們在程序開始時就把echos變量定為一個空格了
::所以這次定義就吧echos定義為 一個空格+變量a1
::是不是清晰了點?
::我們用實例來吧
::變量echos現(xiàn)在是一個空格我們用[空格]代替
::我們再假設變量a1是數(shù)字1
::那么這次變量就是把 echos定義為 [空格]+1
::所以語句執(zhí)行后echos 的值就是 一個空格然后是數(shù)字1
::對吧...清晰了吧?這句其實就是變量疊加
::如果語句繼續(xù)執(zhí)行,那么echos 的值是 "[空格]1" 吧?
::然后程序再次執(zhí)行a1的值假設是數(shù)字2
::那么set "echos=%echos%%a1%"的意思就是
::定義變量echos的值為 "[空格]1" + 數(shù)字2,也就是 "[空格]12"
::.....

set /a num=%num%+1
::這句意思是變量num的值加一(也就是循環(huán)了一次)

if "%num%" == "75" echo %echos%goto :start
::當循環(huán)執(zhí)行以上語句了75次后顯示一次疊加的變量echos
::換句話說就是循環(huán)以上語句75次后顯示變量echos


goto :num
::跳轉到標簽num

附Color命令各類顏色代碼
 
您可能感興趣的文章:
  • bat實現(xiàn)的模仿黑客帝國里面的數(shù)碼雨
  • 黑客帝國數(shù)字雨效果VC6源代碼分享
  • jQuery模擬黑客帝國矩陣效果實例
  • js仿黑客帝國字母掉落效果代碼分享
  • JS實現(xiàn)黑客帝國文字下落效果
  • 批處理實現(xiàn)亂雨紛飛(黑客帝國特效)

標簽:紅河 河南 沈陽 上海 滄州 長治 樂山 新疆

巨人網(wǎng)絡通訊聲明:本文標題《批處理 數(shù)碼雨代碼解釋》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    钟山县| 洪雅县| 平罗县| 东辽县| 静海县| 同江市| 宁国市| 永清县| 通江县| 扎兰屯市| 开鲁县| 大丰市| 西畴县| 读书| 营口市| 山西省| 曲周县| 孝感市| 嘉峪关市| 海盐县| 昌宁县| 荣成市| 衡阳县| 金寨县| 凤山市| 石棉县| 白水县| 金溪县| 金塔县| 弥渡县| 大理市| 休宁县| 孝昌县| 江城| 恩平市| 贡觉县| 米泉市| 孟州市| 海晏县| 马龙县| 聂拉木县|