這個比較簡單,沒啥東西,就是每列開始行的選擇,有點繞彎,我就注釋下GraphicsPanel吧,主要的繪制工作都在這個類里面
創(chuàng)新互聯(lián)專注于臨沭網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供臨沭營銷型網(wǎng)站建設(shè),臨沭網(wǎng)站制作、臨沭網(wǎng)頁設(shè)計、臨沭網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造臨沭網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供臨沭網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
private?class?GraphicsPanel?extends?JPanel?{
public?void?paint(Graphics?g)?{
Graphics2D?g2d?=?(Graphics2D)?g;
g2d.?setFont?(getFont?().?deriveFont?(Font.?BOLD));
g2d.?setColor(Color.?BLACK);
g2d.?fillRect?(0,?0,?screenSize.?width,?screenSize.?height);???//?設(shè)置背景色為黑色
int?currentColumn?=?0;
for?(int?x?=?0;?x??screenSize.width;?x?+=?gap)?{
int?endPos?=?posArr[currentColumn];??????//獲得開始行位置
g2d.?setColor(Color.?GREEN);
g2d.drawString(String.valueOf(getChr()),?x,?endPos?*?gap);?????//畫出隨機開始行的字符
int?cg?=?0;???????????????????????????????????????????????????????????//初始黑色
for?(int?j?=?endPos?-16;?j??endPos;?j++)?{???????????//隨機行逐列向上16行,為循環(huán)開始行
cg?+=?15;?????????????????????????????????????????????????????//漸變色15遞增,255為green
if?(cg??255)?{
cg?=?255;
}
g2d.setColor(new?Color(0,?cg,?0));
g2d.drawString(String.valueOf(getChr()),?x,?j?*?gap);????//畫出隨機行后的15行字符,顏色從黑色漸變成綠色,逐行增加
}
posArr[currentColumn]?+=?random.nextInt(5);??????//下落距離最快為4
if?(posArr[currentColumn]?*?gap??getHeight())?{??//如果行數(shù)位置大于屏幕高度,從新獲取合適的行
posArr[currentColumn]?=?random.nextInt(lines);
}
currentColumn++;????//下一列獲取隨機行
}
cmd代碼數(shù)字雨需要建一個文件,在文件內(nèi)寫入相應(yīng)的代碼,保存后,點擊運行就可以在電腦屏幕上出現(xiàn)代碼雨,具體方法如下:
1、電腦用戶在自己的電腦桌面上創(chuàng)建一個文本文件。創(chuàng)建以后打開。
2、打開以后,在文件中輸入代碼。代碼如下圖所示。
3、完成代碼雨的代碼編寫以后,點擊工具欄中的文件。然后在點擊另存為,將下方的文件名的后綴改為“.bat”。文件名用戶隨意定義。修改好以后點擊“保存”。
4、完成文件的編寫和保存以后,右擊文件點擊以管理員身份運行。
5、運行效果如下。
注意事項:
1、代碼不要寫錯,寫錯不能運行。
2、在另存的時候,如果不顯示后綴,將保存文件選成“所有文件”,在文件名稱后面直接打.bat即可。
3、雙擊也可以運行。
1.右鍵點擊電腦桌面,創(chuàng)建一個記事本。2.創(chuàng)建以后在文件中輸入代碼。3.完成代碼雨的代碼編寫以后,點擊工具欄中的文件。然后再點擊另存為。4.點擊另存為以后,將下方的文件名的后綴改為“.bat”。文件名用戶隨意定義。修改好以后點擊“保存”。5.完成文件的編寫和保存以后,右擊文件點擊以管理員身份運行。這樣就可以看到一個炫酷的代碼雨界面了。
說白了一個代碼點就是一個Unicode字符。代碼單元就是代碼點的集合。
字符視圖
要了解字符集標(biāo)準(zhǔn),您必須能區(qū)分三種不同的字符視圖:
字符集(字符的抽象列表)。
作為帶標(biāo)量值的“代碼點”的字符。
作為編碼數(shù)據(jù)的字符。
字符集(字符的抽象列表)
嗯!我也是這么樣認(rèn)為的!
字符集是各種文字(包括拉丁文、西里爾文、中文、朝鮮語、日語、希伯來語和阿拉伯語)中所包含的字符的一個抽象列表,由一百多萬個字符組成。字符集還包括其他符號,例如音符。
Unicode 和 GB18030 標(biāo)準(zhǔn)都具有字符集。當(dāng)某個標(biāo)準(zhǔn)添加了新字符時,為了保持對等,另一個標(biāo)準(zhǔn)也將添加這些字符。
作為帶標(biāo)量值的“代碼點”的字符
注意 這第二個字符視圖只適用于 Unicode,而不適用于 GB18030。
字符集中的每個字符都被分配到一個“代碼點”。每個代碼點都有一個特定的數(shù)值,稱為標(biāo)量值。該標(biāo)量值通常用十六進制表示。
代碼點存在于“代碼空間”中。代碼空間由許多標(biāo)量值組成,這些值被劃分在兩個平面中:
基本多語種平面(64k 大?。?。
在 Unicode 中,此下平面中的值的十六進制表示位于 U+0000 到 U+FFFF 的范圍中。
輔助多語種平面(16 個 64k 大小的附加節(jié))。
在 Unicode 中,此上平面中的值的十六進制表示位于 U+10000 到 U+10FFFF 的范圍中。
所有可能的標(biāo)量值的完整代碼空間的大小為 17 * 64k(1,088,000 個可能值)。
作為編碼數(shù)據(jù)的字符
每個編碼形式將字符從字符集轉(zhuǎn)換為編碼數(shù)據(jù)。
在 GB18030 中,編碼數(shù)據(jù)直接從字符集派生:標(biāo)量值(作為字符集和編碼數(shù)據(jù)之間的媒介)的概念只適用于 Unicode。
在 Unicode 中,通過向標(biāo)量值應(yīng)用某個算法來派生編碼數(shù)據(jù)。
Unicode 定義了三種字符編碼形式:
UTF-8
UTF-16
UTF-32
代碼點和代碼單元
在每種編碼形式中,代碼點被映射到一個或多個代碼單元。
注意 有關(guān)代碼點的概述,請參見上一節(jié)字符視圖。
“代碼單元”是各個編碼形式中的單個單元。代碼單元的大小等效于特定編碼的位數(shù)測量單位:
UTF-8 中的代碼單元由 8 位組成。
UTF-16 中的代碼單元由 16 位組成。
UTF-32 中的代碼單元由 32 位組成。
GB18030 中的代碼單元由 8 位組成。
每個代碼點中的代碼單元數(shù)
映射到代碼點所需的代碼單元數(shù)根據(jù)編碼形式而有所不同:
UTF-8
在 UTF-8 中,因為代碼單元較小的緣故,每個代碼點常常被映射到多個代碼單元。代碼點將被映射到一個、兩個、三個或四個代碼單元。
UTF-16
UTF-16 的代碼單元大小是 8 位代碼單元的兩倍。所以,標(biāo)量值小于 U+10000 的代碼點被編碼到單個代碼單元中。
對于標(biāo)量值大于或等于 U+10000 的代碼點,每個代碼點需要兩個代碼單元。在 UTF-16 中,這些代碼單元對有一個獨特的術(shù)語:“Unicode 代理對”。
注意 下面對 Unicode 代理對的支持進行了討論。
UTF-32
UTF-32 中使用的 32 位代碼單元足夠大,每個代碼點都可編碼為單個代碼單元。
GB18030
在 GB18030 中,因為代碼單元較小的緣故,每個代碼點常常被映射到多個代碼單元。代碼點將被映射到一個、兩個或四個代碼單元。
對 Unicode 代理對的支持
某些受 Unicode 支持的文字包含代碼點的標(biāo)量值大于或等于 U+10000 的字符。在 UTF-16 中,通過使用代理對來對這些代碼點進行編碼。
正確處理 Unicode 代理對非常重要。例如,當(dāng)您在使用 UTF-16 編碼的應(yīng)用程序中處理文本時,如果要添加、刪除或選擇字符以進行剪切、復(fù)制或粘貼操作,文本光標(biāo)必須將每個代碼點作為單個文本字符導(dǎo)航。
新聞標(biāo)題:java中的代碼雨 java代碼大全
網(wǎng)頁鏈接:http://jinyejixie.com/article18/ddojgdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)、Google、電子商務(wù)、動態(tài)網(wǎng)站、手機網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)