您的位置:首页 > 其它

“单词竞猜游戏之管理员端”补充版

2014-04-28 22:57 246 查看

1、管理员端实现

1.1、默认初始化,创建文件夹和文本文档数据库

1.2、支持自动更新和手动更新

2、管理员端主函数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace WordsPlayAdmin
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("\n---------  欢迎管理员登陆  -----------\n");
int sOrW;
int grade;
string isAnto;

//是否全部初始化
Console.WriteLine("是否全部初始化<y> OR <n>?");
string isAllInit = Console.ReadLine();
if ("y" == isAllInit)
{
//创建一个文件夹e:\01111139
Directory.CreateDirectory(@"e:\01111139");

TextOperateClass.InitAchievement();
for (int k = 1; k <=3; k++)
TextOperateClass.InitText(true, k);
}

for (int i = 0; i < 3; i++)//3次输入机会
{
Console.Write("请输入管理员账号:");
string adminName = Console.ReadLine();

Console.Write("请输入密码:");
string adminPwd = Console.ReadLine();

//判断权限
if ("admin".Equals(adminName) && "123".Equals(adminPwd))
{
Console.WriteLine("登陆成功");
break;
}
else
Console.WriteLine("对不起,你的输入有误,还有{0}次机会",2-i);
if (i==2)
{
Console.Write("你已经3次输入错误,请按任意键结束程序");
return;
}
}

while (true)

{
Console.WriteLine("\t1.初始化的得分数据库\n\t2.更新词汇数据库");
sOrW = int.Parse(Console.ReadLine());

//判断是不是更新得分
if (sOrW == 1)
TextOperateClass.InitAchievement();
else
{
//更新词汇库
Console.WriteLine("\t1.高级词汇\n\t2.中级词汇\n\t3.初级词汇");
while (true)
{
try
{
//防止输入不能转换成整型的字符,会出现异常
grade = int.Parse(Console.ReadLine());
break;
}
catch
{
Console.WriteLine("请重新输入:");
Console.WriteLine("\t1.高级词汇\n\t2.中级词汇\n\t3.初级词汇");
}
}

Console.WriteLine("自动更新<y> OR <n>?");
isAnto = Console.ReadLine();
if (isAnto == "y")
TextOperateClass.InitText(true, grade);
else
TextOperateClass.InitText(false, grade);
}

Console.WriteLine("是否继续更新其他<y> OR <n>");

string isUpdate=Console.ReadLine();
if ("y" != isUpdate)
break;
}
Console.Write("BYE,任意键结束程序");
Console.ReadLine();
}
}
}


3、管理员端文本操作类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;

namespace WordsPlayAdmin
{
class TextOperateClass
{
//初始化得分和成绩
public static void InitAchievement()
{
string[] maxScoreArr = { "高级#0#zxy", "中级#0#zxy", "初级#0#zxy" };
string[] wordsHeroArr = {"高级#zxy#0#0", "中级#zxy#0#0", "初级#zxy#0#0" };
ArrayList maxScore = new ArrayList(maxScoreArr);
ArrayList wordsHero = new ArrayList(wordsHeroArr);

init(0,"maxScore.txt",maxScore);
init(0,"WordsHero.txt", wordsHero);
}
//初始化词汇
public static void InitText(bool isAnto,int grade)
{
string isContinue;  //判断输入单词是否结束
if (isAnto == true)
{
//词汇表初始化
string[] highLevelWordArr ={"confront","front","prototype","prince","confuse","refuse","diffuse","fume","grateful",
"connection","first","scientific","second","save","dessert","observe","surgeon","soul",
"destruction","destroy","up","prior","council","infrared","touch","temper","thermal",
"time","group","tissue","genetic","paddy","destination","debate","appeal","exasperate","noisome"};
string[] middleLevelWordArr ={"accord","action","answer","apparent","abstract","blue","blouse","block","bachelor","baby",
"battery","breakfast","cartoon","carry","caution","certainty","check","cheat","conform",
"development","datail","dream","deal","dedicate","deform","duck","elevate","emission",
"enrich","expire","extra","fair","fake","fact","fill","fighter","foul","fit","fowl",
"float","germ","gesture","global","hard","hamonious","induce","indoor","like"};
string[] lowLevelWordArr = {"relative","last","cost","cousin","double","couple","cup","cross","course","credit","criticism",
"day","down","diary","industy","deaf","number","deaf","data","generous","grade","degree",
"paint","old","class","eight","room","egg","bike","cake","bird","person","cup","computer",
"mouse","clock","box","sister","boat","hill","tree","right","friend","much","brother","here",
"thank","sorry","home","father","nice","fine"};

//方便下面函数调用,动态数组适合管理员输入,随机增长
ArrayList highLevelWordArrList = new ArrayList(highLevelWordArr);
ArrayList middleLevelWordArrList = new ArrayList(middleLevelWordArr);
ArrayList lowLevelWordArrList = new ArrayList(lowLevelWordArr);

if (grade == 1) //自动更新高级词汇
init(1, "HighLevelWord.txt", highLevelWordArrList);
else if(grade==2)
init(1, "MiddleLevelWord.txt", middleLevelWordArrList);
else
init(1, "LowLevelWord.txt", lowLevelWordArrList);
}

else if(grade==1)
{
//手动输入更新高级词汇
ArrayList highLevelWordArrList = new ArrayList();
Console.WriteLine("请一个一个输入要存储的单词,结束请输<y>");

while(true)
{
isContinue=Console.ReadLine();
if ("y" == isContinue || "Y" == isContinue)
{
break;
}
else
highLevelWordArrList.Add(isContinue);
}

init(1, "HighLevelWord.txt", highLevelWordArrList);
}

else if (grade == 2)
{
//手动输入跟新中级词汇
ArrayList middleLevelWordArrList = new ArrayList();
Console.WriteLine("请一个一个输入要存储的单词,结束请输<y>");

while (true)
{
isContinue = Console.ReadLine();
if ("y" == isContinue || "Y" == isContinue)
{
break;
}
else
middleLevelWordArrList.Add(isContinue);
}

init(1, "MiddleLevelWord.txt", middleLevelWordArrList);

}

else if (grade == 3)
{
//手动输入更新低级词汇
ArrayList lowLevelWordArrList = new ArrayList();
Console.WriteLine("请一个一个输入要存储的单词,结束请输<y>");

while (true)
{
isContinue = Console.ReadLine();
if ("y" == isContinue || "Y" == isContinue)
{
break;
}
else
lowLevelWordArrList.Add(isContinue);
}

init(1, "LowLevelWord.txt", lowLevelWordArrList);
}
}

//将动态数组送的词汇写到文本文档
private static int init(int WorS,string path,ArrayList strArr)
{
string highPath=@"e:\01111139\"+path;
FileStream fsw = new FileStream(@highPath, FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fsw, System.Text.Encoding.Default);

if (WorS == 1)
{
foreach (string item in strArr)
{
sw.Write(item + " ");
}
}
else
{
foreach (string item in strArr)
{
sw.WriteLine(item + " ");
}
}

sw.Close();
fsw.Close();

return 1;
}

}
}


4、文件夹、文本文档程序自动创建,不需自己手动,位置:E:\01111139\**.txt

这样,整个“单词竞猜”游戏就相对完成了,大家只要将其在visual studio2010 中编译就能运行了。

如果大家想把程序发布成可安装文件,可以参考:VS2010打包操作-博客园
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐