C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏

b05698d84417d70c50162e927c60fd8b.png

b556a24b80f140e0bdbfb5360eae0729.jpeg

前言

今天大姚给大家分享一款由C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏:SeeSharpSnake。

项目特点

该仓库中的项目文件和脚本可以用多种不同的配置构建相同的游戏,每个配置生成的输出大小也不同。

项目源码运行

5e41f8d3acb466eccf4288b16e7090e9.png

F5 运行 SeeSharpSnake项目,查看优秀效果:

8ac567be3e723a600273f6c1be35bc18.png 6aba25e586df63bbfd851d004e293c40.gif

构建不同大小版本的游戏

接下来我们使用dotnet 命令构建不同大小版本的游戏!!!

构建 65 MB 版本的游戏

dotnet publish -r win-x64 -c Release
282a925e64d1236107e79a820a4948fd.png ea5d4650a9e5c6f8799346fd38a1f94e.png

构建 12 MB 版本的游戏

dotnet publish -r win-x64 -c Release /p:PublishTrimmed=true
94f36d50f9a93387ca3f9d79743d0689.png ec474da48f775abc4af18b409a27520a.png

注意以下构建需要配置其他组件

确保已安装 Visual Studio 2019/2022,并在 Windows SDK 中包含 C/C++ 开发工具(我们需要其中的一小部分 - 平台链接器和 Win32 导入库)。

04d79197785088f2593a022e634c04ce.png

构建 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

ef9a5f0b4bd6097e0869a9a727c3dcd2.gif

d1f1afc44a5f0b320afed106033639a0.gif

54c9e42943877420a6875d23b1f761a9.jpeg


学习是一个永无止境的过程,你知道的越多,你不知道的也会越多,在有限的时间内坚持每天多学一点,你一定能成为你想要成为的那个人。不积跬步无以至千里,不积小流无以成江河!!!

c18b08b4610edc8bf88e2c2a9f072ced.gif

See you next good day

90a32f77fe393bd009ed66c0edbf00e6.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值