使用C#实现猜单词游戏——Chapter9_E2解析
下载需积分: 7 | TXT格式 | 8KB |
更新于2025-01-09
| 156 浏览量 | 举报
"Chapter9_E2 - C# 编写的猜词游戏程序,用户根据书籍/电影类别猜测名字"
本程序是用C#语言编写的一个简单的猜词游戏——"吊人游戏"(Hangman game)。程序的基本流程是让用户输入一个类别,如"Book"或"Movie",然后根据用户选择的类别从文本文件中读取对应类别的名称,让用户通过给出字母及其位置来猜这个词。以下是程序中涉及的关键知识点:
1. C# 基础语法:程序使用了C#的基本语法结构,包括类(`class`)、方法(`method`)以及变量声明(`string`, `int`)等。
2. 命名空间(Namespace):程序定义在`Chapter9_E1`命名空间下,这是C#中组织代码的一种方式,使得不同项目中的类可以避免名称冲突。
3. 字符串(String)操作:在`FillNameValues`方法中,程序使用了字符串的`Substring`方法来截取文本文件中的书名和电影名。`Substring`方法接受两个参数,第一个参数表示起始位置,第二个参数表示长度,返回从指定位置开始的子字符串。此外,还使用了`IndexOf`方法来找到":"字符的位置,以确定实际数据的起始位置。
4. 文件操作:程序通过`StreamReader`类来读取文本文件`c:\\TextTest.txt`的内容。`StreamReader`用于读取字符流,它的`ReadLine`方法用于逐行读取文件内容。
5. 文件流(FileStream)操作:在创建`StreamReader`时,通过`BaseStream.Seek`方法设置了文件读取的起始位置,`SeekOrigin.Begin`表示从文件开头开始读取。
6. 循环控制:程序使用`while`循环读取文件的每一行,直到文件末尾。
7. 数组(Array)操作:定义了两个字符串数组`bookData`和`movieData`,分别用于存储书籍和电影的名字。数组元素的添加通过索引访问,例如`bookData[bookCount]`。
8. 计数器(Counter):使用`bookCount`和`movieCount`变量跟踪已读取的书籍和电影数量。
9. 条件判断:在读取文件内容时,通过`Substring(0,1)=="B"`判断当前行是否代表书籍,从而决定将数据存储到哪个数组中。
10. 方法封装:`Hangman`类的构造函数调用了`FillNameValues`方法,将读取和存储名称的操作封装起来,提高了代码的可读性和可维护性。
11. 面向对象编程:整个程序基于面向对象的设计思想,定义了一个`Hangman`类,其中包含了游戏所需的数据和行为。
12. 用户交互:虽然这部分代码没有展示,但根据描述,程序应该还包含获取用户输入、处理猜测以及显示游戏状态等功能,这些是实现游戏逻辑必不可少的部分。
这个程序提供了一个基础的猜词游戏框架,开发者可以通过扩展其功能,如增加错误处理、优化用户界面、增加游戏规则等,使其更加完善和有趣。
相关推荐
154 浏览量
124 浏览量
227 浏览量
155 浏览量
159 浏览量
wakngyuyu
- 粉丝: 14
- 资源: 13
最新资源
- 03_BuildingEscape:一个简单的第一人称游戏,用于学习关卡构建,照明,虚幻编辑器,C ++游戏逻辑,基本蓝图等。 (参考:BE_URC)http:gdev.tvurcgithub
- 西门子ET_200L +6 ES7_132产品外形图.zip
- 影刀RPA系列公开课2:桌面软件自动化-软件窗口的操作.rar
- ds-recruitment:包含有关DataSift招聘任务的支持代码
- Overfoldix-开源
- practice_algorithm
- commute_bot2-discord:출퇴근봇新
- 大气的投资咨询公司整站html模板.zip
- DeepPath:我的EMNLP论文“ DeepPath:知识图推理的强化学习方法”的代码和文档
- selection-api:选择API
- 影刀RPA系列公开课1:桌面软件自动化-软件元素的操作.rar
- dsr-api:使用jsDelivr的DSR项目的静态模拟API
- STAP.zip_STAP_空时信号处理_空时处理_空时自适应STAP_空时阵列信号
- api-docs:Paylike API文档
- PASSIM-开源
- Httpfake – Golang httptest包装器,可轻松设置伪造的服务器-Golang开发