dotnet C# 推荐一个适合新手入门阅读学习的控制台游戏项目

项目地址: https://github.com/dotnet/dotnet-console-games

可以使用 git 命令将整个代码仓库拉下来,或者是在 github 上使用 zip 包方式下载整个项目的代码。如卡下载这一步了,还请自行学习 git 的基础使用方法。在阅读和运行这些 C# 控制台游戏项目之前,你需要准备一个合适的开发环境。我强烈建议你使用最新的 VisualStudio 版本,比如编写这篇博客时最新的 VisualStudio 2022 版本,来编写和调试 C# 代码。请确保是在正常的 https://visualstudio.microsoft.com/ 官网下载的 VisualStudio 最新版本工具。不要使用旧的 VisualStudio 版本,比如 VisualStudio 2015 等。因为我们是学习最新的 C# 语言和 dotnet 框架,不是去挖掘古代文明,不要用过时的工具来限制自己的学习效果。而且使用过时的工具也会遇到好多奇奇怪怪的问题,比如兼容性、性能、稳定性等等。如果你在技术群里提出这些问题,可能会让大佬们不开森,因为他们觉得你没有跟上时代的步伐,还在用落伍的工具。所以,为了你自己的学习效果和体验,还是尽快升级到最新的 VisualStudio 版本吧

接下来,我会简单地介绍一下这个开源项目里面的一些游戏,并给出它们的代码链接和运行效果图。你可以点击链接下载或者克隆代码到本地运行,并且尝试着阅读和理解它们。如果你有兴趣,你甚至可以尝试着修改或者增加一些功能,让游戏更加完善或者有趣

贪吃蛇:这是一个非常经典且简单的游戏,在控制台中用字符表示蛇和食物,并且通过键盘控制蛇的移动方向。每当蛇吃到食物时,蛇就会变长,并且食物会随机出现在其他位置。如果蛇碰到自己或者边界,则游戏结束。这个游戏主要涉及到了数组、链表、随机数等数据结构和算法。 运行效果图:

<<<<<<^
v     ^
v   >>>
v
v>>>>>>>>>>>>>

在这个贪吃蛇项目里面,使用 + 代表食物,使用箭头类符号表示蛇。可以通过 修改方向

飞镖投掷游戏:在控制台中用字符表示飞镖和靶子,并且通过键盘控制飞镖的角度和力度。每次投掷后,根据飞镖落点的不同区域,会得到不同的分数。这个游戏主要涉及到了数学、物理、随机数等知识和算法,大概不到 500 行的代码量

以下是游戏运行的界面示例

╔═══════╤═══════╤═══════╤═══════╤═══════╗
║       │       │       │       │       ║
║   1   │   2   │   3   │   2   │   1   ║
║      ┌┴┐    ┌─┴─┐   ┌─┴─┐    ┌┴┐      ║
╟──────┤6├────┤ 5 ├───┤ 5 ├────┤6├──────╢
║      └┬┘ ○  └─┬─┘   └─┬─┘    └┬┘      ║
║   2   │   3   │   4   │   3   │   2   ║
║       │       │  ┌─○  │       │       ║
╟───────┼───────┼●─┤9├──┼───────┼───────╢
║       │       │  └─┘  │       │       ║
║   2   │   3   │   4 ● │   3   │   2   ║
║      ┌┴┐    ○─┴─┐   ┌─┴─┐    ┌┴┐      ║
╟──────┤6├────┤ 5 ├───┤ 5 ├────┤6├──────╢
║      └┬┘    └─┬─┘   └─┬─┘    └┬┘      ║
║   1   │   2   │   3   │   2   │   1   ║
║       │       │       │       │       ║
╚═══════╧═══════╧═══════╧═══════╧═══════╝

  Your darts: ○
  Computer's darts: ●

乒乓球游戏:在控制台中用字符表示球和挡板,并且通过键盘控制挡板的上下移动。每次球碰到挡板或者边界时,会反弹并且改变方向。每次越过对方的挡板,就会得到一分。第一个得到三分的玩家就是胜利者。这个游戏主要涉及到了循环、判断、数组等知识和算法,大概 200 行的代码量。运行游戏界面大概如下

                  ^               
                 / \              
 █              /   \             
 █             /     \            
 █#           /       \           
 █ \         /         O        █ 
    \       /                   █ 
     \     /                    █ 
      \   /                     █ 
       \ /                        
        V                         

在这里,我想和大家分享一下我阅读这些 C# 控制台游戏项目的一些心得和体会。首先,我觉得这些项目都非常有趣和有教育意义,它们让我看到了 C# 语言和 dotnet 框架的强大和灵活,以及控制台程序的魅力和可能性。我从中学习到了很多 C# 编程的技巧和知识,比如如何使用数组、链表、枚举、位运算等数据结构和算法,如何使用循环、判断、递归等控制流程,如何使用随机数、数学函数、物理公式等工具类,如何使用控制台的输入输出、颜色、光标等功能,以及如何使用面向对象、设计模式、异常处理等编程范式和技术。这些项目让我对 C# 语言和 dotnet 框架有了更深入的理解和掌握,也提高了我的编程水平和逻辑思维。其次,我觉得这些项目都非常富有挑战性和创造性,它们让我看到了编程的乐趣和艺术。我在玩这些游戏的同时,也在思考它们是如何实现的,它们背后的原理和思路是什么,它们有什么优点和缺点,它们可以如何改进和优化。我也尝试着修改或者增加一些功能,比如增加难度、增加音效、增加动画等等。我发现这些游戏都有很多可以扩展和改进的空间,只要你有想法和创意,你就可以把它们变得更加完善或者有趣。这些项目让我体验到了编程的乐趣和艺术,也激发了我的创造力和想象力。

最后,我觉得这些项目都非常值得推荐给大家,无论你是 C# 编程新手还是老手,无论你是想学习 C# 语言还是想玩一玩控制台游戏。这些项目都可以给你带来很多收获和乐趣,也可以让你对 C# 语言和 dotnet 框架有一个更全面和深入的认识。如果你对这些项目感兴趣,不妨去试一试吧。相信你一定会有很多惊喜和发现

posted @ 2023-09-05 15:34  lindexi  阅读(213)  评论(0编辑  收藏  举报