Bogo排序(Bogo Sort)演算法,慢到會想笑排序演算法 2019 年 4 月 1 日 Magic Len Go、 Java、 Rust、 演算法、 JavaScript Bogo排序(Bogo Sort)演算法又稱為猴子排序(Monkey Sort)演算法,顧名思義,是非常愚蠢的排序演算法,就像是請猴子幫忙排序一樣。 繼續閱讀
精靈寶可夢(神奇寶貝)火紅、葉綠、綠寶石、黑白的多人連線版─PokeMMO 2019 年 1 月 20 日 Magic Len 軟體介紹 精靈寶可夢(神奇寶貝)是1990年次朋友們的童年回憶,從初代Game Boy掌上遊戲機便有神奇寶貝黃(皮卡丘)、紅、綠版本,接著又出現了彩色畫面的金、銀、水晶版,當時的小朋友們就算看不懂日文,也會買一本厚厚的中文攻略書,邊玩邊查攻略,可能一本攻略書就要輪流借給班上大部分的同學,傳到後來書頁都已殘破不堪了呢!不過由於後來電腦上開始有功能強大的Game Boy的模擬器,能夠加速遊戲的進行,甚至還可以使... 繼續閱讀
如何有效率地寫程式判斷質數和尋找質數? 2018 年 10 月 14 日 Magic Len 研究分享、 Go、 Java、 數學邏輯、 Rust、 JavaScript 一個質數(Prime)是一個大於1,且無法找到除了自己本身和1之外的自然數能整除它的自然數。舉例來說,2、3、5、7、11、13和17均為質數。質數是數學上的難題,即便數學已經過幾千年的發展,卻也還是無法找出一個能完美產生出質數的函數。在學習寫程式的過程中,儘管在現實社會中幾乎用不到,我們還是會常常遇到判斷質數或是尋找質數的問題。那麼,究竟要如何利用程式來處理判斷質數和尋找質數呢? 繼續閱讀
計數排序法(Counting Sort),只需線性時間就能完成的超快排序法 2017 年 10 月 21 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 計數排序(Counting Sort)演算法是不需進行比較的排序演算法,顧名思義,它會去數元素的數量來進行排序。這種排序法只需要線性時間和空間的複雜度就可以完成排序,比時間複雜度為O(nlogn)的演算法還快,而且作法也不會太難。雖然如此,計數排序法是並不算是常見的排序演算法,因為它只能用來排序已知數值範圍的序列(由於要直接對應序列的索引值,所以這組數值通常會是一組整數)。舉例來說,已知序列中的每... 繼續閱讀
URL Express 網址快遞─發送URL請求的好工具 2017 年 1 月 4 日 Magic Len 作品分享、 軟體介紹、 Java 在開發程式的時候時常會需要去連接別人的Web服務(API)來完成一些特定的功能,根據別人提供的API文件,來查詢API需傳入的資料格式和回傳的資料格式。Web API常會使用HTTP或是HTTPS協定,並利用協定的請求方法(如GET、POST、PUT、DELETE)來決定資料的傳送方式,如現在很夯的RESTful API。如果是HTTP或是HTTPS協定的Web API,GET的請求方法要測試還算... 繼續閱讀
Crypt Tool 文字和檔案加密工具 2016 年 12 月 31 日 Magic Len 作品分享、 軟體介紹、 Java 在傳遞資料的過程中,總是不想要讓人家一眼就看明白你所傳遞的文字訊息。隱藏文字訊息的方式有很多種,如果沒有解碼還原的需求,只需進行雜湊(Hash)運算即可。但若有還原的需求,則可能要使用到某些著名的加密演算法,例如String Hider、DES、AES等等。只要加密與解密的兩方協調好要使用的加密方式以及密碼,就可以完成訊息的加密傳輸。Crypt Tool提供了圖形介面,讓使用者可以使用DES(64... 繼續閱讀
文字轉換工具─Words Transformer FX 2016 年 12 月 2 日 Magic Len 作品分享、 軟體介紹、 Java Words Transformer FX是一款能進行文字查找及對應至不同文字的小工具。使用者可以非常容易地建立出自己的文字對應資料庫,方便進行一些文字方面的工作。例如在做語言翻譯的時候,就可以利用Words Transformer FX來確保同一個字(尤其是專有名詞)翻譯出來的結果都是一樣的。 繼續閱讀
一鍵批量調整圖片尺寸的智能小工具─Image Resizer Light 2016 年 12 月 1 日 Magic Len 作品分享、 軟體介紹、 Java Image Resizer Light,它是一款能夠一次調整多張圖片的尺寸的智能小工具。這聽起來稀鬆平常,到底哪裡稱得上是「智能」呢?Image Resizer Light在調整圖片尺寸時,並不需要完全地指定圖片的寬(Width)與高(Height)為多少,它只需要設定一條最大邊的長度,就能自動延展或是收縮圖片的寬和高,還能自動將圖片銳利化。 繼續閱讀
基於JavaFX的五子棋小遊戲-五子棋X 2016 年 12 月 1 日 Magic Len 作品分享、 軟體介紹、 Java 過去總喜歡在上課的時候跟同學用計算紙畫棋盤下五子棋,因此對於五子棋也有一些認識,就嘗試將它移植到程式上,並製作一個難度不弱的人工AI。其實早在四年前就已經有做過這個五子棋遊戲專案,只不過當時是使用Java Swing來完成,而且架構不易重複使用。於是在兩年前就將這個五子棋專案移植成JavaFX應用程式,電腦AI部份基本上是沿用之前寫的,只稍微整理程式碼並優化了運算的效能,其餘的部份有許多是先前沒有... 繼續閱讀
如何使用Java來隨機產生資料? 2016 年 7 月 11 日 Magic Len 研究分享、 Java 在寫程式的時候常常會需要進行一些隨機的動作,來增加程式的娛樂性和複雜性。在Java程式語言中,可以使用Math類別的random方法或是Random物件來達到取得隨機數字的目的。取得隨機數字之後還需要撰寫一些程式來使用這個隨機數,這類程式常會頻繁地重複撰寫,十分麻煩。為了精簡程式,MagicRandom實作好了一些常用的隨機資料程式,只要使用一個靜態方法就可以完成大部分的事。 繼續閱讀