當前位置: 妍妍網 > 碼農

C#語言編寫的僅有8KB大小的簡易貪吃蛇開源遊戲

2024-06-27碼農

前言

今天大姚給大家分享一款由C#語言編寫的僅有8KB大小的簡易貪吃蛇開源遊戲:SeeSharpSnake。

計畫特點

該倉庫中的計畫檔和指令碼可以用多種不同的配置構建相同的遊戲,每個配置生成的輸出大小也不同。

計畫源碼執行

F5 執行 SeeSharpSnake 計畫,檢視優秀效果:

構建不同大小版本的遊戲

接下來我們使用 dotnet 命令 構建不同大小版本的遊戲!!!

構建 65 MB 版本的遊戲

dotnet publish -r win-x64 -c Release

構建 12 MB 版本的遊戲

dotnet publish -r win-x64 -c Release /p:PublishTrimmed=true

註意以下構建需要配置其他元件

確保已安裝 Visual Studio 2019/2022,並在 Windows SDK 中包含 C/C++ 開發工具(我們需要其中的一小部份 - 平台連結器和 Win32 匯入庫)。

構建 4.7 MB 版本的遊戲

dotnet publish -r win-x64 -c Release /p:Mode=CoreRT

構建 1.2 MB 版本的遊戲

dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-ReflectionFree

構建 10 kB 版本的遊戲

dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-NoRuntime

構建 8 kB 版本的遊戲

  1. 開啟「適用於 VS 2019或者VS 2022 的 x64 本機工具命令提示字元」(位於「開始」選單中)。

  2. CD 進入儲存庫根目錄

在你的電腦上尋找 ilc.exe (CoreRT 提前編譯器)。如果已完成上述任何生成輸出的步驟 <= 4.7 MB,則ilc.exe將位於 NuGet 包緩存中(類似於 %USERPROFILE%\.nuget\packages\runtime.win-x64.microsoft.dotnet.ilcompiler\1.0.0-alpha-27402–01\tools )。

[PATH_TO_ILC_EXE]\ilc.exe zerosnake.ilexe -o zerosnake.obj --systemmodule:zerosnake --Os -g

link.exe /debug:full /subsystem:console zerosnake.obj /entry:__managed__Main kernel32.lib ucrt.lib /merge:.modules=.rdata /merge:.pdata=.rdata /incremental:no /DYNAMICBASE:NO /filealign:16 /align:16

計畫源碼地址

更多計畫實用功能和特性歡迎前往計畫開源地址檢視👀,別忘了給計畫一個Star支持💖。

  • 計畫開源地址:https://github.com/MichalStrehovsky/SeeSharpSnake

  • 計畫實作文章:https://medium.com/@MStrehovsky/building-a-self-contained-game-in-c-under-8-kilobytes-74c3cf60ea04

  • 優秀計畫和框架精選

    該計畫已收錄到C#/.NET/.NET Core優秀計畫和框架精選中,關註優秀計畫和框架精選能讓你及時了解C#、.NET和.NET Core領域的最新動態和最佳實踐,提高開發工作效率和品質。坑已挖,歡迎大家踴躍送出PR推薦或自薦(讓優秀的計畫和框架不被埋沒🤞)。

    https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md


  • 學習是一個永無止境的過程,你知道的越多,你不知道的也會越多,在有限的時間內堅持每天多學一點,你一定能成為你想要成為的那個人。不積跬步無以至千裏,不積小流無以成江河!!!

    See you next good day