連續點擊NEKO左上方的小黑貓即可觸發↓
這時NEKO會有一句語音↓
然後再使用NEKO進入遊戲你就會發現NEKO不再是不死的了,失去所有血量後會正常死亡
NEKO之死↓
相信這個彩蛋已經有不少玩家知道了,所以我要說的奇怪的知識當然不是這個了。
在觸發這個彩蛋之後,NEKO的技能描述會變成不斷閃爍的“燙燙燙燙燙燙”
燙燙燙↓
注意到這個的人也許會感到疑惑,NEKO為什麼直呼燙燙燙,這個燙燙燙有什麼含義?
實際上這是一個經典程序員梗,在Microsoft Visual Studio(簡稱VS,微軟的一個集成開發平臺,通俗點理解就是用來編程的軟件)中寫程序時,如果在棧中定義了一段內存,而未對其初始化直接輸出(這是錯誤操作),就會輸出一串燙燙燙亂碼。未被初始化的棧在Debug模式運行時會被VS的編譯器自動賦值為0xCC(0x前綴表示這是個十六進制數,CC轉化成二進制就是11001100),這個值在機器指令中其實是相當於彙編指令INT 3,這是一箇中斷指令,讓編譯器運行到此處時中斷運行,但是在VS中因為字符集的原因,2個連續的0xCC,即0xCCCC,在該字符集中剛好是表示漢字燙,所以就輸出了一大堆燙燙燙。
定義字符數組,不初始化直接輸出↓
輸出燙燙燙↓
上面的專業解釋看不懂沒關係,來個通俗易懂的說法:有一個新容器,裡面是空的,你還沒往裡面放東西就想從裡面拿東西,這樣顯然會出錯。系統為了告訴你出錯了就往容器裡面每一格都放滿了同一個數,這個數代表中斷指令,也就是想讓你這個錯誤動作停下來,結果因為字符集的問題,在你取東西的時候把這些數拿出來,把2個連續的數當成了一個漢字"燙"了,所以容器裡面的那些中斷指令全被當成燙給顯示出來了。
這在新手寫程序的時候是個比較常見的錯誤,另外由於這個錯誤的結果很喜感,程序居然還能感覺到燙?所以就變成一個梗流傳下來了。許多類似的由於字符編碼引起的錯誤組成了一首打油詩:
手持兩把錕斤拷,口中疾呼燙燙燙。腳踏萬朵屯屯屯,笑看萬物鍩鍩鍩。
衍生出來的笑話↓