场景
设计规则
a) 这是一个单人玩的游戏。
b) 可以分三个级别,分别是高级、中级、低级。不同级别对应的单词系列也不一样。要求一旦玩家选定了要玩的级别,应当先提示它关于此级别最高分是多少,是谁创下的记录,然后再开始游戏。
c) 游戏开始后,应显示如下信息:
i. 剩余可用竞猜次数(竞猜次数的初始值等于被猜的单词遗漏的字符数加5),
ii. 玩家所得分数:完全猜对一个单词得一分。
iii. 已用时间:要每10秒更新一次已用时间的显示。
iv. 竞猜的单词。只显示每个单词的部分字母,并且这些字母是随机显示出来的。刻意遗漏的字母应当使用*替代。应当有多少字母被显示出来,视单词的长度而定,如果单词本身较长,则多显示,反之亦然。
d) 游戏结束前,比较一家玩家的成绩与文件中存储的词汇通英雄的成绩,如果前者成绩更高,需要将如下信息保存在文件中。(成绩:猜对的单词数*100/一共花费的时间)
i. 玩家姓名
ii. 所用时间
iii. 分数。
另外,要注意的是,如果发现他们分数相同就比较使用的时间。
还有,不同级别的词汇通英雄信息应当分别放在不同的文件中。
e) 如果玩家在给定次数内(选取20次)没有猜出5个单词,则游戏结束。
l 实验方法
参照学生信息管理系统。
1. 创建一个线程专门负责时间提醒
2. 采用两种用户,管理员负责将游戏初始化,更新词汇表,之前自动更新和逐个输入
3. 玩家玩游戏
单词竞猜 | |
---|---|
Program类 | 主函数 |
TextOperateClass类 | 文本操作类 |
玩家主函数:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;
using System.Timers;
using System.Threading;
namespace WordsPlay
{
class Program
{
static DateTime initTime;
static void Main(string[] args)
{
Console.WriteLine("------------------------------------------------");
Console.WriteLine("------------ ------------");
Console.WriteLine("------------ 欢迎来到单词竞猜游戏 ------------");
Console.WriteLine("------------ CopyRight:Sunsea ------------");
Console.WriteLine("------------ ------------");
Console.WriteLine("------------------------------------------------");
Console.WriteLine("请输入你的姓名:");
string username = string.Format(Console.ReadL