今天,在《小綠和小藍》機器人篇(1)中,我注意到了屏幕上的代碼:
我一眼就能看出來這是Python的代碼。不過這是從哪裡來的代碼呢?
我首先就想到從GitHub上找。在GitHub上找一行代碼算是比較容易的:只要把這張圖上的某一行搜索一下,在搜索結果中選「Code」就可以了。
不過搜索是一個技術活,我找來不下十輪才找到大體的範圍。
首先,我找含有pickle.dump(self.sampleData, f)的代碼,出現的結果很多。由於搜索語句中帶有空格,GitHub把這語句斷開了,很多結果根本對不上。我突然發現一個全語句匹配的結果:Vroala/TYS.Client的./TEST/MyWindow_1.0ver.py。
拋開注釋不說,除了示例數據不一樣外,其他的結構上幾乎完全一樣。
這個倉庫的開發者是韓國人,我看不懂韓文,只能從README.md中看出來這是一個我的世界的伺服器客戶端。僅此而已。
之後我又用代碼的其他部分作為搜索語句,但結果更糟糕。
不過,我突然發現代碼還是有一些差別的——上面的圖的第24行中,tableWidget那個地方在動漫中的是resultTable。於是我就找帶有self.resultTable.setRowCount(len(resultData))的代碼,只有兩個結果:
parsher/Python-practice的./gui/XWindow.pymiraepark/Python_PyQt4的./MyWindowConnected.py
拋開注釋和示例數據,兩個代碼幾乎完全一樣,而且和動漫中的代碼幾乎完全一樣。
看起來都是韓國人寫的。不過我沒找到和動漫中的代碼完全一致的代碼(包括注釋和示例數據)。
我發現parsher/Python-practice的介紹中提到了代碼來源於一個網站:
all codes - Copy rights on http://pythonstudy.xyz || I just practice and do adjustment on somewhere.
於是我就進了這個網站,很不幸的是,這是一個韓文網站。我不想藉助翻譯工具,怕翻譯工具翻譯的一團糟,只能靠猜測來訪問網站。
從之前的代碼來看,這是實現PyQt的GUI界面的代碼。於是我找來幾個頁面,就找到了代碼的來源頁面。
隨便說一下,動漫裡面的代碼有一段注釋:# Show MainWindow。這段代碼裡面對應的位置的注釋是# 。意思是相同的。
我又從谷歌中找帶有這段代碼的網頁,最終只找到兩個符合要求的網頁,一個是這個網頁,另一個抄了這個網頁。
我只能找到這裡了。
實際上,這段代碼就是實現基於PyQt的GUI界面的代碼,和人工智慧、機器人什麼的沒有任何關係。看來製作方是隨便找的代碼。
不過讓我驚訝的是,這段代碼在很多倉庫都出現過,而且都是以韓文的形式出現的。而為什麼動漫的製作方會使用這段代碼,為什麼動漫裡面的代碼的相關地方都改成了英文,而且示例數據都是不同的,我也無法給出確切的答案。
這個還有待進一步的探索。但是,誰還會有興趣考究下去呢?