準備:壹個窗口(_啟動窗口),壹個畫板(畫板1),壹個時鐘(時鐘1)
_啟動窗口 和 畫板1 的 可視 都為 假,時鐘1 的 時間周期 為 0,_啟動窗口 的 總在最前 為 真。
到 _啟動窗口 對應的 窗口程序集,把下面的代碼拷貝過去即可。
.版本?2.支持庫?OPenGL
.支持庫?EThread
.支持庫?spec
.支持庫?iext
.支持庫?eAPI.程序集?窗口程序集1,?,?,?高仿黑客帝國
.程序集變量?t,?整數型
.程序集變量?x,?整數型
.程序集變量?y,?整數型
.程序集變量?z,?整數型
.程序集變量?屏幕高度,?整數型,?,?,?屏幕高度
.程序集變量?屏幕寬度,?整數型,?,?,?屏幕寬度.子程序?__啟動窗口_創建完畢屏幕高度?=?取屏幕高度?()
屏幕寬度?=?取屏幕寬度?()
畫板1.畫板背景色?=?#黑色
_啟動窗口.移動?(0,?0,?屏幕寬度,?屏幕高度)
畫板1.移動?(0,?0,?屏幕寬度,?屏幕高度)
t?=?0
z?=?屏幕高度?÷?20
顯示光標?(假)
_啟動窗口.可視?=?真
畫板1.可視?=?真
_啟動窗口.調整層次?(1)
定義?()
畫板1.獲取焦點?()
時鐘1.時鐘周期?=?400'?每列產生間隔(ms)
啟動線程?(&數字雨輸出,?,?)
延遲?(400)
啟動線程?(&數字雨輸出,?,?)
延遲?(300)
啟動線程?(&數字雨輸出,?,?)
延遲?(200)
啟動線程?(&數字雨輸出,?,?)
延遲?(200)
啟動線程?(&數字雨輸出,?,?)
延遲?(200)
啟動線程?(&數字雨輸出,?,?)
延遲?(200)
時鐘2.時鐘周期?=?1000
_時鐘2_周期事件?()
.子程序?_畫板1_鼠標位置被移動,?邏輯型
.參數?橫向位置,?整數型
.參數?縱向位置,?整數型
.參數?功能鍵狀態,?整數型.如果真?(取絕對值?(橫向位置?-?x)?>?50?或?取絕對值?(縱向位置?-?y)?>?50)
定義?()
t?=?t?+?1
.如果真?(t?>?3)'?事不過三
結束?()
.如果真結束.如果真結束
.子程序?_畫板1_按下某鍵,?邏輯型
.參數?鍵代碼,?整數型
.參數?功能鍵狀態,?整數型結束?()
.子程序?定義x?=?取鼠標水平位置?()
y?=?取鼠標垂直位置?()
.子程序?數字雨輸出,?,?,?數字雨輸出
.局部變量?E,?整數型,?,?,?垂直位置
.局部變量?F,?整數型,?,?,?水平位置,起點
.局部變量?G,?整數型,?,?,?顯示長度,單位=位
.局部變量?H,?整數型,?,?,?下降速度
.局部變量?I,?整數型,?,?,?移動次數
.局部變量?J,?整數型,?,?,?綠與白
.局部變量?CHR,?文本型,?,?"1000"置隨機數種子?()
J?=?取隨機數?(1,?5)
.如果?(J?=?1?或?J?=?3?或?J?=?5)
置隨機數種子?()
E?=?取隨機數?(0,?屏幕寬度)
置隨機數種子?()
F?=?取隨機數?(0,?到整數?(屏幕高度?×?0.75))
置隨機數種子?()
G?=?取隨機數?(z?×?0.2,?z?×?0.65)
置隨機數種子?()
H?=?取隨機數?(10,?600)
.判斷循環首?(真)
'?畫板1.字體.字體名稱?=?“黑體”
'?畫板1.字體.字體大小?=?16
CHR?[I?+?1]?=?獲取字符?()
畫板1.文本顏色?=?#綠色
畫板1.定位寫出?(E,?F?+?I?×?20,?CHR?[I?+?1])
.如果真?(I?≠?0)
畫板1.文本顏色?=?#墨綠
畫板1.定位寫出?(E,?F?+?(I?-?1)?×?20,?CHR?[I])
.如果真結束
.如果真?(I?>?G?+?1)
畫板1.文本顏色?=?取顏色值?(0,?40,?0)
畫板1.定位寫出?(E,?F?+?(I?-?G?-?1)?×?20,?CHR?[I?-?G])
畫板1.文本顏色?=?#黑色
畫板1.定位寫出?(E,?F?+?(I?-?G?-?2)?×?20,?CHR?[I?-?G?-?1])
.如果真結束
I?=?I?+?1
.如果真?(F?+?I?×?20?>?屏幕高度)
跳出循環?()
.如果真結束
延遲?(H)'?避免CPU過高
.如果真?(I?>?1000)
結束?()
.如果真結束.判斷循環尾?()
.判斷循環首?(真)
.如果真?(I?>?G?+?1)
畫板1.文本顏色?=?取顏色值?(0,?40,?0)
畫板1.定位寫出?(E,?F?+?(I?-?G?-?1)?×?20,?CHR?[I?-?G])
畫板1.文本顏色?=?#黑色
畫板1.定位寫出?(E,?F?+?(I?-?G?-?2)?×?20,?CHR?[I?-?G?-?1])
.如果真結束
I?=?I?+?1
.如果真?(F?+?I?×?20?-?(G?+?2)?×?20?>?屏幕高度)
跳出循環?()
.如果真結束
延遲?(H)'?避免CPU過高
.如果真?(I?>?1000)
結束?()
.如果真結束.判斷循環尾?()
.否則置隨機數種子?()
E?=?取隨機數?(0,?屏幕寬度)
置隨機數種子?()
F?=?取隨機數?(0,?到整數?(屏幕高度?×?0.75))
置隨機數種子?()
G?=?取隨機數?(z?×?0.2,?z?×?0.65)
置隨機數種子?()
H?=?取隨機數?(10,?600)
.判斷循環首?(真)
'?畫板1.字體.字體名稱?=?“黑體”
'?畫板1.字體.字體大小?=?16
CHR?[I?+?1]?=?獲取字符?()
畫板1.文本顏色?=?#白色
畫板1.定位寫出?(E,?F?+?I?×?20,?CHR?[I?+?1])
.如果真?(I?≠?0)
畫板1.文本顏色?=?#淺灰
畫板1.定位寫出?(E,?F?+?(I?-?1)?×?20,?CHR?[I])
.如果真結束
.如果真?(I?>?G?+?1)
畫板1.文本顏色?=?#灰色
畫板1.定位寫出?(E,?F?+?(I?-?G?-?1)?×?20,?CHR?[I?-?G])
畫板1.文本顏色?=?#黑色
畫板1.定位寫出?(E,?F?+?(I?-?G?-?2)?×?20,?CHR?[I?-?G?-?1])
.如果真結束
I?=?I?+?1
.如果真?(F?+?I?×?20?>?屏幕高度)
跳出循環?()
.如果真結束
延遲?(H)'?避免CPU過高
.如果真?(I?>?1000)
結束?()
.如果真結束.判斷循環尾?()
.判斷循環首?(真)
.如果真?(I?>?G?+?1)
畫板1.文本顏色?=?#灰色
畫板1.定位寫出?(E,?F?+?(I?-?G?-?1)?×?20,?CHR?[I?-?G])
畫板1.文本顏色?=?#黑色
畫板1.定位寫出?(E,?F?+?(I?-?G?-?2)?×?20,?CHR?[I?-?G?-?1])
.如果真結束
I?=?I?+?1
.如果真?(F?+?I?×?20?-?(G?+?2)?×?20?>?屏幕高度)
跳出循環?()
.如果真結束
延遲?(H)'?避免CPU過高
.如果真?(I?>?1000)
結束?()
.如果真結束.判斷循環尾?().如果結束?
.子程序?獲取字符,?文本型
.局部變量?A,?文本型置隨機數種子?()
A?=?字符?(取隨機數?(27,?127))
.判斷循環首?(A?=?“”?或?A?=?“?”?或?A?=?“ ”)
置隨機數種子?()
A?=?字符?(取隨機數?(27,?127))
.判斷循環尾?()
A?=?到全角?(A)
返回?(A)
.子程序?_時鐘1_周期事件啟動線程?(&數字雨輸出,?,?)