search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

你寫過什麼有趣的程序?

知乎用戶,間歇性正經

這是一個重點跑偏但是有趣的項目。

之前擼了一個個人網站,為了激勵自己多寫一些新項目。由於堅持不用流行的 CSS 框架,自己又是個設計苦手,就打算設計的簡單點兒。嗯,想想,就來個左右雙欄吧,左邊固定住放點兒名字信息鏈接什麼的,右邊兒放上一張張帥氣的項目截圖,加上可點擊的鏈接。以後擼出了新項目就往裡加。顏色什麼的嘛,偷個懶用單色吧,改改透明度來表示不同的層級就好。

然後噼里啪啦敲鍵盤,擼出來了,長這樣兒:

嗯。感覺還看得過去。鼓掌 。

然而這個不是重點 = =

又是單色留白又這麼多,看起來好單調啊!

怎麼辦,已經懶得改設計了啊!

---

某天我突然靈機一動,誒要不我給左邊的側邊欄背景加個動畫,動態內容比較吸引眼球,大家就不會注意到右邊這麼白了【騙自己。

說整就整!

先寫了個雪花飄落的效果,實現倒是挺容易的,y 軸速度一定,x 軸加速度隨機變換一下。

誒不錯不錯,鼓掌 。

---

但是時間久了看著好無聊啊!

要不我再多做幾個側邊欄動畫,每次打開頁面的時候隨機播放一個,這樣不就沒有這麼無聊了嘛!

後來做成了點右邊的 Logo【對就是上圖那個條紋正方形框框】也能輪換。

說整就整!

這次多花了一點兒時間寫了個俄羅斯方塊,又寫了個簡單的 AI 讓它自己玩兒免得一會兒就死掉了。

誒不錯不錯,鼓掌 。

---

誒嘛然後就一發不可收拾了,正經的項目不做,經常沒事兒就想著要寫新的側邊欄動畫,跟著了魔似的莫名有動力。

後面又陸陸續續寫了三個,

一個 Game of Life 的實現,跑著一個Gosper glider gun,周而復始,非常魔性。

【我特別喜歡 Game of Life,logo 就是取材自其中一個 spaceship

一個二維隨機遊走,放一會兒就能跑出來類似【打了馬賽克的】星雲的效果,是不是有種科幻大片兒的感覺!

還有一個 Perlin noise,效果太鬼畜被我註釋了,默哀三秒鐘。

誒不錯不錯,鼓掌 。

等等,我是為什麼要做這個網站來著?

---

P.S. 年前回顧個站有感

P.P.S. 左上角那個按鈕其實是初期我不知道用什麼顏色比較好就寫了一個隨機換色的按鈕,幫助我挑顏色,後來發現誒嘛真好玩兒我戳戳戳戳。。。。

韓炫宇,在讀大學生

在高中的時候,當時還是編程小白的我收到了一損友發來的某「xxx.vbs」文件,文件名就不說了(自行腦補),我雙擊后彈出了一個窗口:請輸入「我是豬」。我當然不會輸這個,我輸了「你才是豬」,結果電腦就關機了。結果電腦就關機了。結果電腦就關機了。

當時的我一臉懵逼,這玩意兒竟這麼神奇!重新開機后我打開那個文件,放下我作為一個人類的身份,輸入了「我是豬」(對不起,給人類丟臉了),結果又一個彈窗:「豬是不會使用電腦的」。我點了確定,隨後又關機了。又關機了。又關機了。

嗯,這個文件成功勾起了我的興趣,我當時覺得特別驚奇,不是 exe 文件也可以直接運行真的好神奇,我默默地右鍵>打開方式>記事本,看到了這些(自己根據其邏輯儘可能復原的):

dimpigclosepig=inputbox("請輸入我是豬""系統提示""在這裡輸入")setclose=createobject("Wscript.shell")ifpig="我是豬"thenmsgbox("豬是不會使用電腦的")close.run"cmd.exe /c shutdown -s -t 0"elseclose.runendif

大概就是這樣,即使對編程一無所知,我還是大概腦補出了它的邏輯,從它開始,我走上了 programme 的不歸路。。。

我開始瘋狂地尋找類似代碼,漸漸熟悉了一些 vbscript 的語法,創造出了一大批類似的腳本,隨後成功地坑了更多的人。

一次,我一朋友跟我說,能不能想個辦法讓他的弟弟別在電腦上玩某大型遊戲,會影響學習(我猜是不讓他弟和他搶)。我想我的這項技能終於能有一個正經的用途了。

kill v1.0:

dim a a=MsgBox ("出於安全考慮,本機已禁止該遊戲運行",VbExclamation,"系統警告")

就兩行代碼,之後需要設置一下,把這個 vbs 文件放在一個只有自己知道的位置,複製為路徑,然後在桌面上找到遊戲的快捷方式,按住 alt 雙擊,把目標粘貼成 vbs 腳本的路徑,大功告成。

我拿 QQ 舉例:

就這樣,然後雙擊修改過的快捷方式,彈出以下窗口。

第一代只發揮了幾天的作用,死亡原因是遊戲被重裝了一遍(這告訴我永遠不要低估一個渴望玩遊戲的孩子)。

為了補上這個 bug,kill2.0 橫空出世(依然拿 QQ 做例子):

dim fso,ws,pt,msg set fso = createobject("scripting.filesystemobject") set ws = createobject("wscript.shell") set file = fso.getfile(wscript.scriptfullname) pt = ws.specialfolders("startup") & "\" file.copy pt sub Close_Process(ProcessName) On Error Resume Next for each ps ingetobject("winmgmts:\\.\root\cimv2:win32_process").instances_ if Ucase(ps.name)=Ucase(ProcessName) then ps.terminate msg=MsgBox("出於安全考慮,本機已永久禁止本遊戲運行",VbExclamation,"系統警告") end if next end sub do Close_Process("qq.exe") wscript.sleep 5000 loop

大概思路是:先把自己添加到啟動項里,保證開機即監視程序,之後每 5 秒執行一次 Close_Process,如果發現有遊戲的進程則將其關閉並彈出警告。

雖然 2.0 版還是有很多 bug,但是對付一個只會在電腦上玩遊戲的孩子來說已經足夠了。

過了一陣子,朋友說他弟弟天天吵著換電腦 (逃

好久沒用過 vbs 了,代碼可能很亂,不規範,大神請輕噴

蒼冥,學習機器學習ing /網路安全 / 埃森哲

我還是來好好答一發吧:

我們從高一到高三都強制採用圖形計算器,可以畫函數圖像的那種。我們用的是德州儀器系列,Ti-Nspire,貴的要死要死的。

然而我卻買錯了計算器的制式,便宜貨,相比其他同學的系統少了很多重要的功能。

作為一個很窮很喜歡計算機很愛折騰的少年,我先是把計算器系統刷成了正規版本,然後再將其越獄,安裝上了 GBA 模擬器和電子書以及仙劍奇俠傳。

你沒看錯,這真的是在計算器上玩的。

教程網上都有,所以我都是按網上教程做的(我那時可不懂什麼嵌入式內核開發,現在也不懂……)

給個圖吧,網上複製的,但當時效果一模一樣。

右邊那就是我們的圖形計算器(但我的計算器左右兩邊框框都是白色的,因為機型不一樣嘛)。

後來到高三了,學業也重了,都在應付聯考,不敢折騰我的計算器,生怕變磚。正好計算器有個原生編程語言叫 Ti-Basic(和 Basic 類似),所以就把心思花在這個語言上。

有天做數學作業,學的是概率,有那種需要計算最小樣本數量的題目,得反覆算概率才能推出結果。

然後黑客流附身,想到可以用暴力枚舉的方法強行算答案。

於是在計算器上編了個小程序,分分鐘搞定數學作業(就和基友去玩提莫輔助了)

永遠忘不了第二天數學課,老師帶著同學們在課上講作業,要麼是手動窮舉要麼是用表格大法,沒有三五分鐘干不掉一道題。而我的程序只需要三秒寫個參數就可以了……

這些題目都有兩分,一分是過程一分是答案,而我的程序只有答案顯然是不行的,於是我加上了計算輸出過程的代碼。

完美了!

後來又陸陸續續寫了其他一些有用的程序,但最後傳給學弟學妹們的也就兩個程序,剛才那個是其中之一。

也寫過一些遊戲,本來是想做地牢 RPG 系列的,花了一節半數學課的時間擼出了一個戰鬥系統,因為不確定 Ti-Basic 里有沒有類似數組一類的數據結構,所以卡在了地牢地圖生成的開發上。

高三期間,兩次被老師請去給全年級高三學生教學計算器進階用法。

澳洲維州數學聯考,計算器題目佔一半分數比重。

上述程序目前全州就我們學校的學生有。

連續兩年數學聯考,我的程序在考試中發揮了作用。節省了全體學生幾分鐘的時間,並保證了送分。

去年大一,被數學老師請回母校,對新一屆的高三學生指導計算器的這些進階用法。

一小時的講座讓他們腦洞大開。

一眨眼兩年過去,我現在也大二了,希望在計算器上編程的這點小技巧能在我的母校里繼續做下去 :)

客官,這篇文章有意思嗎?

好玩!下載 App 接著看 (๑•ㅂ•) ✧

再逛逛吧 ˊ_>ˋ



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦