在实践中学习
CircleCrop Blog


从零开始的 C# 学习笔记 ①: Microsoft Learn | CircleCrop Blog
这是 C# 学习笔记系列的第一篇,我会坚持学习并更新,与读者共勉。
这一次的学习笔记是完成代码后隔了一段时间才写的,看起来会更像一次回顾。

在实践中学习。枯燥地学习、记录知识点有些乏味的话,不妨试着上手写一个小程序,从实践中学得新知,增长经验。
这次,笔者尝试写一个控制台贪吃蛇小游戏,用来快速了解 C# 的基本语法和功能实现。
成果
完成代码:CSharp-Learning-Tests/Program.cs
编译程序:C-Sharp-Learning-Test.exe | CircleCrop WebDrive
项目概述
核心结构
变量声明
snakeSpeed
使用了 C# 的属性,保证速度不会过高(刷新间隔 <=60ms
)
初始化
按键监听
这部分还未掌握,是由 GPT 给出的。
逻辑处理
地图刷新和逻辑处理写在一起了。
控制台渲染
学习总结
(以下含有 ChatGPT 生成内容,权当存档。我不是很想把要点复读一遍)
控制台渲染
Console.OutputEncoding
Console.Clear()
Console.WriteLine
Console.Write
区别在不换行。
属性
属性用于控制对私有变量的访问,提供了灵活的封装方式。
在 snakeSpeed
的实现中,通过 get
和 set
控制变量的读取与修改,并加以条件限制。
二维数列
二维数组在本项目中被用作地图 map
的数据结构,用于记录每个位置的状态(空白、墙体、蛇、苹果等)。
元组
StringBuilder
用于高效拼接字符串。
评论