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

namespace 简单程序__20180817__1
{
#region 创建宠物
//限定宠物性别
public enum sex
{
公, 母
}

//狗狗种类
public enum DogBreed
{藏獒, 西伯利亚雪橇犬, 卷毛比雄犬, 边境牧羊犬, 吉娃娃, 斗牛犬,北京狮子狗, 西施犬, 哈叭狗, 冠毛狗, 西藏狮子犬, 小曼彻斯特犬, 猎狐犬,威尔斯柯基犬, 可卡犬, 格备犬, 拉萨狮子狗, 法国玩具贵宾犬, 博美犬, 腊肠犬, 马耳他犬,中华田园犬, 结束
}
//猫猫品种
public enum CatBreed
{挪威森林猫, 安哥拉猫, 金吉拉猫, 英国短毛猫, 美国短毛猫, 欧洲短毛猫, 东方短毛猫, 暹罗猫, 卷毛猫,哈瓦那猫, 新加坡猫, 曼岛猫, 埃及猫, 孟加拉猫, 苏格兰折耳猫, 美国卷耳猫, 加州闪亮猫, 加拿大无毛猫,日本短尾猫, 呵叻猫, 阿比西尼亚猫, 孟买猫, 俄罗斯蓝猫,中华大花猫, 结束
}//乌龟品种
public enum TortoiseBreed
{水龟, 泥龟, 箱龟, 巴西龟, 象龟, 乌龟, 地龟, 星点水龟, 星龟, 蛛网陆龟,安布闭壳龟, 饼干龟, 鳄鱼龟, 黄喉拟水龟, 黄缘盒龟, 金头龟, 猪鼻龟,中华花龟, 结束
}//熊猫种类
public enum PandeBreed
{中华熊猫, 功夫熊猫, 结束
}//派生类 狗
public class Dog : CreatPet
{public DogBreed _dogBreed;//狗狗种类public Dog(){}}//派生类 猫
public class Cat : CreatPet
{public CatBreed _catBreed;//猫猫种类public Cat(){}
}//宠物
public class CreatPet
{private bool bo = false;private string _petName;//宠物名字private sex _petSex;//宠物性别private int _hierarchy;//等级private int _EXP;//经验值private int _ATK;//攻击力private int _DEF;//防御力private int _HP;//血量值//品种private int _appetite;//食量private int _PetPrice;//宠物价格//后台管理验证public void backstaGeverify(){Console.WriteLine("请输入后台管理密码");string possword = Console.ReadLine();if (possword == "zsq520"){Function();}else{Quit();}}//功能private void Function(){Console.WriteLine("****************");Console.WriteLine("*  请选择操作  *");Console.WriteLine("*  1.创建宠物  *");Console.WriteLine("*  2.删除宠物  *");Console.WriteLine("*  3.创建怪物  *");Console.WriteLine("*  4.删除怪物  *");Console.WriteLine("*  5.创建宝箱  *");Console.WriteLine("*  6.删除宝箱  *");Console.WriteLine("*  0.退出      *");Console.WriteLine("****************");while (true){int n = new CreateID().InputDigit();switch (n){case 1: PetKing(); break;case 2: DeleteKing(); break;case 3: CreatMonster(); break;case 4: RemoveMonster(); break;case 5: CreatGift(); break;case 6: RemoveGift(); break;case 0: Quit(); break;default:Console.WriteLine("输入有误,请重新输入");break;}}}//选择宠物种类private void PetKing(){Console.WriteLine("************************");Console.WriteLine("*    请选择宠物种类    *");Console.WriteLine("*       1.小狗         *");Console.WriteLine("*       2.小猫         *");Console.WriteLine("*       3.熊猫         *");Console.WriteLine("*       4.乌龟         *");Console.WriteLine("*       5.返回         *");Console.WriteLine("************************");int n = int.Parse(Console.ReadLine());switch (n){case 1:CreatePets(n, "dog"); break;case 2:CreatePets(n, "cat"); break;case 3:CreatePets(n, "pande"); break;case 4:CreatePets(n, "tortoise"); break;case 5:Function(); break;default:Console.WriteLine("输入错误,请重新输入");PetKing();break;}}//删除宠物种类private void DeleteKing(){Console.WriteLine("************************");Console.WriteLine("*    请选择宠物种类    *");Console.WriteLine("*       1.小狗         *");Console.WriteLine("*       2.小猫         *");Console.WriteLine("*       3.熊猫         *");Console.WriteLine("*       4.乌龟         *");Console.WriteLine("*       5.返回         *");Console.WriteLine("************************");int n = int.Parse(Console.ReadLine());switch (n){case 1:RemovePet("dog"); break;case 2:RemovePet("cat"); break;case 3:RemovePet("pande"); break;case 4:RemovePet("tortoise"); break;case 5:Function(); break;default:Console.WriteLine("输入错误,请重新输入");PetKing();break;}}/// <summary>/// 创建宠物/// </summary>//创建宠物private void CreatePets(int num, string petStr){bo = File.Exists(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt");if (bo == false){FileStream file = File.Create(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt");file.Dispose();}string[] str1 = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt");//姓名:{1}  年龄:{2}岁  性别:{3}  体重:{4}kg  身高:{5}cm   品种:{6}  价格:{7}金"CreatPet pet = new CreatPet();//实例化宠物对象Console.WriteLine("创建{0}宠物", petStr);//输入宠物名字Console.WriteLine("请输入宠物姓名:");pet._petName = Console.ReadLine();if (str1.Length == 0){File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", pet._petName);//在原有文本文件上添加}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + pet._petName);//在原有文本文件上添加}//选择宠物性别Console.WriteLine("选择宠物性别:");CreateSex(petStr);//输入宠物等级Console.WriteLine("请输入宠物等级:(1-5)");pet._hierarchy = int.Parse(Console.ReadLine());File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + pet._hierarchy.ToString());//在原有文本文件上添加//宠物经验值Console.WriteLine("宠物经验值:");pet._EXP = 0;File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + pet._EXP.ToString());//在原有文本文件上添加//输入宠物攻击力Console.WriteLine("输入宠物攻击力:(1-100)");pet._ATK = int.Parse(Console.ReadLine());File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + pet._ATK.ToString());//在原有文本文件上添加//输入宠物防御力Console.WriteLine("输入宠物防御力:(1-100)");pet._DEF = int.Parse(Console.ReadLine());File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + pet._DEF.ToString());//在原有文本文件上添加//输入宠物血量值Console.WriteLine("输入宠物血量值:(10-500)");pet._HP = int.Parse(Console.ReadLine());File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + pet._HP.ToString());//在原有文本文件上添加//选择宠物品种Console.WriteLine("选择宠物品种");switch (num){case 1:dogKing(petStr); break;case 2:catKing(petStr); break;case 3:pandeKing(petStr); break;case 4:tortoiseKing(petStr); break;}//输入宠物食量pet._appetite = pet._hierarchy;Console.WriteLine("宠物食量为:{0}", pet._appetite);File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + pet._appetite.ToString());//在原有文本文件上添加//输入宠物价格           pet._PetPrice = pet._hierarchy * pet._HP;Console.WriteLine("宠物金额w为:{0}", pet._PetPrice);File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + pet._PetPrice);//在原有文本文件上添加ChooseOperation();//每创建一只宠物成功之后进入选择           }//创建完成后选择操作private void ChooseOperation(){Console.WriteLine("********************");Console.WriteLine("*     选择操作     *");Console.WriteLine("*     1.继续创建   *");Console.WriteLine("*     2.退出       *");Console.WriteLine("********************");for (int i = 0; true; i++){int n = int.Parse(Console.ReadLine());switch (n){case 1: PetKing(); bo = true; break;case 2: Quit(); bo = true; break;default:Console.WriteLine("输入错误,请重新输入");break;}if (bo == true){break;}}}//选择宠物性别private void CreateSex(string petStr){Console.WriteLine("************");Console.WriteLine("*   1.公   *");Console.WriteLine("*   2.母   *");Console.WriteLine("************");for (int i = 0; true; i++){int n = int.Parse(Console.ReadLine());if (n == 1 || n == 2){File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + (sex)(n - 1));//在原有文本文件上添加bo = true;}if (bo == true){break;}}}//狗狗种类private void dogKing(string petStr){int num = 0;Console.WriteLine("--------------------");for (int i = 0; true; i++){if (((DogBreed)i) == DogBreed.结束){break;}num++;Console.WriteLine("{0}.{1}", i + 1, (DogBreed)i);}Console.WriteLine("--------------------");Console.WriteLine("请输入对应数字");for (int i = 0; true; i++){int n = int.Parse(Console.ReadLine());if (n > 0 && n <= num){File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + (DogBreed)(n - 1));//在原有文本文件上添加bo = true;}else{Console.WriteLine("输入错误,请重新输入");}if (bo == true){break;}}}//小猫种类private void catKing(string petStr){int num = 0;Console.WriteLine("--------------------");for (int i = 0; true; i++){if (((CatBreed)i) == CatBreed.结束){break;}num++;Console.WriteLine("{0}.{1}", i + 1, (CatBreed)i);}Console.WriteLine("--------------------");Console.WriteLine("请输入对应数字");for (int i = 0; true; i++){int n = int.Parse(Console.ReadLine());if (n > 0 && n <= num){File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + (CatBreed)(n - 1));//在原有文本文件上添加bo = true;}else{Console.WriteLine("输入错误,请重新输入");}if (bo == true){break;}}}//熊猫种类private void pandeKing(string petStr){int num = 0;Console.WriteLine("--------------------");for (int i = 0; true; i++){if (((PandeBreed)i) == PandeBreed.结束){break;}num++;Console.WriteLine("{0}.{1}", i + 1, (PandeBreed)i);}Console.WriteLine("--------------------");Console.WriteLine("请输入对应数字");for (int i = 0; true; i++){int n = int.Parse(Console.ReadLine());if (n > 0 && n <= num){File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + (PandeBreed)(n - 1));//在原有文本文件上添加bo = true;}else{Console.WriteLine("输入错误,请重新输入");}if (bo == true){break;}}}//乌龟种类private void tortoiseKing(string petStr){int num = 0;Console.WriteLine("--------------------");for (int i = 0; true; i++){if (((TortoiseBreed)i) == TortoiseBreed.结束){break;}num++;Console.WriteLine("{0}.{1}", i + 1, (TortoiseBreed)i);}Console.WriteLine("--------------------");Console.WriteLine("请输入对应数字");for (int i = 0; true; i++){int n = int.Parse(Console.ReadLine());if (n > 0 && n <= num){File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt", "\n" + (TortoiseBreed)(n - 1));//在原有文本文件上添加bo = true;}else{Console.WriteLine("输入错误,请重新输入");}if (bo == true){break;}}}/// <summary>/// 修改宠物/// </summary>//删除宠物public void RemovePet(string petName){string[] PetStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petName + ".txt");PetList(petName);Console.WriteLine("请选择要删除的宠物序号");while (true){int n = new CreateID().InputDigit();if (n <= petName.Length && n > 0){for (int i = n * 10; i < PetStr.Length; i++){PetStr[i - 10] = PetStr[i];}PetRefresh(PetStr, petName);Console.WriteLine("删除成功");Function();}else{Console.WriteLine("输入错误");}}}//宠物列表public void PetList(string petName){string[] PetStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petName + ".txt");int n = 0;for (int i = 0; i < PetStr.Length; i += 10){n++;Console.WriteLine("{0}:姓名;{1}  性别:{2}  等级:{3}  经验值:{4}  攻击力:{5}  防御力:{6}  血量值:{7}  品种:{8}   食量;{9}   价格:{10}", n, PetStr[i], PetStr[i + 1], PetStr[i + 2], PetStr[i + 3], PetStr[i + 4], PetStr[i + 5], PetStr[i + 6], PetStr[i + 7], PetStr[i + 8], PetStr[i + 9]);}}//宠物刷新public void PetRefresh(string[] PetStr, string petName){for (int i = 0; i < PetStr.Length; i++){if (i == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petName + ".txt", PetStr[i]);}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petName + ".txt", "\n" + PetStr[i]);}}}//创建怪物public void CreatMonster(){bool bo1 = File.Exists(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\Monster.txt");if (bo1 == false){FileStream file = File.Create(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\Monster.txt");file.Dispose();}string[] Str = new string[5];Console.WriteLine("请输入怪物名称:");Str[0] = Console.ReadLine();Console.WriteLine("请输入怪物等级(1--10):");Str[1] = Console.ReadLine();Console.WriteLine("请输入怪物攻击力(10--500):");Str[2] = Console.ReadLine();Console.WriteLine("请输入怪物防御力(1--500):");Str[3] = Console.ReadLine();Console.WriteLine("请输入怪物血量值(100--1000):");Str[4] = Console.ReadLine();Console.WriteLine("是否创建(是或者否):");bool bo = new CreateID().IsAffirm();if (bo){for (int i = 0; i < Str.Length; i++){File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\Monster.txt", "\n" + Str[i]);}Console.WriteLine("创建成功!");MonsterSort();//创建后排序Function();}}//删除怪物public void RemoveMonster(){string[] Monster = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\Monster.txt");int n = 0;for (int i = 0; i < Monster.Length; i += 5){n++;Console.WriteLine("{0}: 姓名;{1}  等级:{2}  攻击力:{3}  防御力:{4}  血量值:{5}", n, Monster[i], Monster[i + 1], Monster[i + 2], Monster[i + 3], Monster[i + 4]);Console.WriteLine();}while (true){int num = new CreateID().InputDigit();if (num > 0 && num <= Monster.Length){for (int i = n * 10; i < Monster.Length; i++){Monster[i - 10] = Monster[i];}MonsterRefresh(Monster);Console.WriteLine("删除成功!!!");Function();}}}//怪物排序sortpublic void MonsterSort(){string[] Monster = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\Monster.txt");for (int i = 0; i < Monster.Length; i += 5){for (int j = i; j < Monster.Length; j += 5){if (int.Parse(Monster[i + 1]) > int.Parse(Monster[j + 1])){string[] Str = new string[5];for (int k = 0; k < 5; k++){Str[k] = Monster[i + k];}for (int k = 0; k < 5; k++){Monster[i + k] = Monster[j + k];}for (int k = 0; k < 5; k++){Monster[j + k] = Str[k];}}else if (int.Parse(Monster[i + 1]) == int.Parse(Monster[j + 1])){if (int.Parse(Monster[i + 2]) > int.Parse(Monster[j + 2])){string[] Str = new string[5];for (int k = 0; k < 5; k++){Str[k] = Monster[i + k];}for (int k = 0; k < 5; k++){Monster[i + k] = Monster[j + k];}for (int k = 0; k < 5; k++){Monster[j + k] = Str[k];}}}}}MonsterRefresh(Monster);}//怪物刷新public void MonsterRefresh(string[] Monster){for (int i = 0; i < Monster.Length; i++){if (i == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\Monster.txt", Monster[i]);}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\Monster.txt", "\n" + Monster[i]);}}}//创建宝物public void CreatGift(){bool bo1 = File.Exists(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\LuckyValue.txt");if (bo1 == false){FileStream file = File.Create(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\LuckyValue.txt");file.Dispose();}string[] Str = new string[2];Console.WriteLine("请输入宠爱药丸数量:(1--10)");Str[0] = Console.ReadLine();Console.WriteLine("请输入金币数量:(10--100)");Str[1] = Console.ReadLine();bool bo = new CreateID().IsAffirm();if (bo){for (int i = 0; i < 2; i++){File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\LuckyValue.txt", "\n" + Str[i]);}GiftSort();Console.WriteLine("创建成功!!!");Function();}}//删除宝物public void RemoveGift(){string[] GiftStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\LuckyValue.txt");int n1 = 0;for (int i = 1; i < GiftStr.Length; i += 2){n1++;Console.WriteLine("{0}: 药丸:{1}  金币:{2}", n1, GiftStr[i], GiftStr[i + 1]);Console.WriteLine();}Console.WriteLine("请输入所要删除宝物序号");while (true){int n = new CreateID().InputDigit();if (n > 0 && n <= GiftStr.Length){for (int i = n * 2; i < GiftStr.Length; i++){GiftStr[i - 2] = GiftStr[i];}GiftRefresh(GiftStr);Console.WriteLine("删除成功!!");Function();}}}//宝物排序public void GiftSort(){string[] GiftStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\LuckyValue.txt");for (int i = 1; i < GiftStr.Length; i += 2){for (int j = i; j < GiftStr.Length; j += 2){if (int.Parse(GiftStr[i]) > int.Parse(GiftStr[j])){string[] strss = new string[2];for (int k = 0; k < 2; k++){strss[k] = GiftStr[i + k];}for (int k = 0; k < 2; k++){GiftStr[i + k] = GiftStr[j + k];}for (int k = 0; k < 2; k++){GiftStr[j + k] = strss[k];}}else if (int.Parse(GiftStr[i]) == int.Parse(GiftStr[j])){if (int.Parse(GiftStr[i + 1]) > int.Parse(GiftStr[j + 1])){string[] strss = new string[2];for (int k = 0; k < 2; k++){strss[k] = GiftStr[i + k];}for (int k = 0; k < 2; k++){GiftStr[i + k] = GiftStr[j + k];}for (int k = 0; k < 2; k++){GiftStr[j + k] = strss[k];}}}}}GiftRefresh(GiftStr);//排序完刷新}//刷新宝物public void GiftRefresh(string[] GiftStr){for (int i = 0; i < GiftStr.Length; i++){if (i == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\LuckyValue.txt", GiftStr[i]);}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\LuckyValue.txt", "\n" + GiftStr[i]);}}}//退出private void Quit(){Console.WriteLine("退出成功");Environment.Exit(0);}
}//修改宠物#endregionpublic class Vection2
{public int x;public int y;
}public class World
{}//创建身份
public class CreateID
{public bool bo = false;//界面public void Inter(){Console.WriteLine("*********************************");Console.WriteLine("*        欢迎来到本系统         *");Console.WriteLine("*          请选择操作           *");Console.WriteLine("*          1.登录账户           *");Console.WriteLine("*          2.注册账户           *");Console.WriteLine("*          3.找回密码           *");Console.WriteLine("*          4.账户解锁           *");Console.WriteLine("*          5.退出               *");Console.WriteLine("*********************************");for (int i = 0; true; i++){int n = InputDigit();switch (n){case 1: Register(); break;case 2: Console.Clear(); RegisteredAaccount(); break;case 3: Console.Clear(); ForgotPassword(); break;case 4: Console.Clear(); Unlock(); break;case 5: Quit(); break;case 10086: new CreatPet().backstaGeverify(); break;default:Console.WriteLine("输入错误");break;}}}//登录成功后选择public void RegisterInter(string account){Console.WriteLine("*********************************");Console.WriteLine("*          请选择操作           *");Console.WriteLine("*          1.修改密码           *");Console.WriteLine("*          2.开始历程           *");Console.WriteLine("*          3.返回登录           *");Console.WriteLine("*          4.注销账户           *");Console.WriteLine("*          5.退出               *");Console.WriteLine("*********************************");int n = int.Parse(Console.ReadLine());switch (n){case 1: Console.Clear(); ChangePassword(account); break;case 2: Console.Clear(); new School().SchoolMap(account); ; break;case 3: Console.Clear(); Register(); break;case 4: Console.Clear(); CancelUser(account); break;case 5: Console.Clear(); Quit(); break;default:Console.WriteLine("输入错误");break;}}//修改密码后选择public void changePasswordInter(){Console.WriteLine("*********************************");Console.WriteLine("*         修改密码成功           *");Console.WriteLine("*          请选择操作           *");Console.WriteLine("*          1.返回主界面         *");Console.WriteLine("*          2.重新登录           *");Console.WriteLine("*          3.退出               *");Console.WriteLine("*********************************");for (int i = 0; true; i++){int n = int.Parse(Console.ReadLine());switch (n){case 1: Console.Clear(); Inter(); break;case 2: Console.Clear(); Register(); break;case 3: Console.Clear(); Quit(); break;default:Console.WriteLine("输入错误,请重新输入");break;}}}//登录失败public void LogonFailed(){Console.WriteLine("*********************************");Console.WriteLine("*          请选择操作           *");Console.WriteLine("*          1.重新登录           *");Console.WriteLine("*          2.注册账户           *");Console.WriteLine("*          3.找回密码           *");Console.WriteLine("*          4.退出               *");Console.WriteLine("*********************************");for (int i = 0; i < 3; i++){int n = int.Parse(Console.ReadLine());switch (n){case 1: Console.Clear(); Register(); break;case 2: Console.Clear(); RegisteredAaccount(); break;case 3: Console.Clear(); ForgotPassword(); break;case 4: Console.Clear(); Quit(); break;default:Console.WriteLine("输入错误,请重新输入");break;}if (2 - i == 0){Quit();}Console.WriteLine("您还有{0}次机会", 2 - i);}}//登录public void Register(){string account;//1.账号string password = "";//2.密码string sex;//3.性别string encrypted;//4.密保问题string result;//5.密保答案string photo;//6.手机号码//7.待定//8.待定//9.注册时间//10.账号锁 trueList<string> list = PlayerFilename();Console.WriteLine("请输入账号");for (int k = 0; k < 3; k++){account = Console.ReadLine();for (int i = 0; i < list.Count; i++){if (account == list[i]){string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");if (Convert.ToBoolean(AccountStr[9]) == true){for (int j = 0; j < 3; j++){Console.WriteLine("请输入密码");password = Console.ReadLine();if (AccountStr[1] == password){Console.WriteLine("登录成功!");Console.Clear();RegisterInter(account);}if (2 - j == 0){AccountStr[9] = "false";DeleteAndReinsertMessage(AccountStr, account);Console.WriteLine("输入错误超过三次,账号已被锁定,自动退出登录");LogonFailed();}else{Console.WriteLine("密码输入错误,请重新输入,还有{0}次机会", 2 - j);}}}else{Console.WriteLine("该账号已被锁定,请前往解锁");Inter();}}if (i == list.Count - 1){break;}}if (2 - k == 0){Console.WriteLine("输入错误超过三次,自动退出登录");LogonFailed();}else{Console.WriteLine("密码输入错误,请重新输入,还有{0}次机会", 2 - k);}}}//注册账户public void RegisteredAaccount(){List<string> playList = PlayerFilename();if (Directory.Exists(@"D:\AllMyLife\DataCenter\PlayerData")){}foreach (string content in Directory.GetFileSystemEntries(@"D:\AllMyLife\DataCenter\PlayerData"))//遍历玩家信息文件夹,找到文件夹所对应的子文件名{playList.Add(Path.GetFileNameWithoutExtension(content));}string account;//1.账号string password = "";//2.密码string sex;//3.性别string encrypted;//4.密保问题string result;//5.密保答案string photo;//6.手机号码string screeName;///7.网名//8.待定//9.注册时间//10.账号锁 truestring[] playInformation = new string[10];//1.生成随机账号           //account = RandomAccount(playList);playInformation[0] = RandomAccount(playList);Console.WriteLine("账号生成成功:{0}", playInformation[0]);//2.输入密码//password = CreatePassword();playInformation[1] = CreatePassword();Console.WriteLine("密码创建成功!");//3.选择性别//sex = ChangSex();playInformation[2] = ChangSex();Console.WriteLine("性别选择完成!");//4.选择密保问题//encrypted = Encrypted();playInformation[3] = Encrypted();Console.WriteLine("密保问题选择完成!");//5.输入密保答案Console.WriteLine("请输入密保问题答案");//result = Console.ReadLine();playInformation[4] = Console.ReadLine();Console.WriteLine("密保创建成功");//6.验证手机号//photo = VerifyPhone();playInformation[5] = VerifyPhone();//7.网名playInformation[6] = Screenname();//8.待定playInformation[7] = "待定";//9.注册时间playInformation[8] = DateTime.Now.ToLongDateString().ToString();//10.账户锁playInformation[9] = "true";Console.WriteLine("是否注册");bo = IsAffirm();if (bo){File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerData\" + playInformation[0] + ".txt", playInformation[0]);for (int i = 1; i < playInformation.Length; i++){File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerData\" + playInformation[0] + ".txt", "\n" + playInformation[i]);}Directory.CreateDirectory(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + playInformation[0]);//qwe为文件夹名称File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + playInformation[0] + @"\attribute.txt", "VIP0" + "\n" + "1" + "\n" + "20" + "\n" + "20" + "\n" + "20" + "\n" + "20" + "\n" + "20" + "\n" + "20" + "\n" + "20" + "\n" + "20");//人物属性File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + playInformation[0] + @"\backpack.txt", "1000" + "\n" + "1000" + "\n" + "500" + "\n" + "5" + "\n" + "500" + "\n" + "0" + "\n" + "0" + "\n" + "0" + "\n" + "0" + "\n" + "false");//人物背包File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + playInformation[0] + @"\RPGVection2.txt", "5" + "\n" + "19");//人物坐标Console.Clear();Console.WriteLine("注册成功!");Inter();}else{Console.Clear();Console.WriteLine("自动返回主界面");Inter();}}//修改密码public void ChangePassword(string account){string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");Console.WriteLine("请输入旧密码");for (int i = 0; i < 3; i++){string oldPassworld = Console.ReadLine();if (oldPassworld == AccountStr[1]){Console.WriteLine("请输入新密码");for (int j = 0; j < 3; j++){string newPassword = Console.ReadLine();Console.WriteLine("再次确认新密码");string newPassword1 = Console.ReadLine();if (newPassword == newPassword1){AccountStr[1] = newPassword;DeleteAndReinsertMessage(AccountStr, account);Console.Clear();Console.WriteLine("密码修改成功,请重新登陆");changePasswordInter();}if (2 - j == 0){Console.WriteLine("输入错误超过三次,自动退出");RegisterInter(account);}else{Console.WriteLine("两次输入不相同,请重新输入,还有{0}次机会", 2 - j);}}}if (2 - i == 0){Console.Clear();Console.WriteLine("输入错误超过三次,自动退出");RegisterInter(account);}else{Console.WriteLine("旧密码输入错误,请重新输入,还有{0}次机会", 2 - i);}}}//注销账户public void CancelUser(string account){string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");Console.WriteLine("请输入密保:“{0}” 的答案", AccountStr[3]);for (int i = 0; i < 3; i++){string result = Console.ReadLine();if (result == AccountStr[4]){for (int j = 0; j < 3; j++){int num = AuthorizedCode();Console.WriteLine("手机授权码{0}以发送至手机,请输入授权码", num);int num1 = 0;string num2 = Console.ReadLine();if (int.TryParse(num2, out num1) && num == int.Parse(num2)){bool bo = IsAffirm();if (bo){string HowSex = "";//注销宿舍床铺if (AccountStr[2] == "男"){HowSex = "DormitoryMan";}if (AccountStr[2] == "女"){HowSex = "DormitoryWoman";}string[] DormitoryStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\" + HowSex + @"\Vection2.txt");for (int k = 0; k < DormitoryStr.Length; k += 10){if (int.Parse(DormitoryStr[i + 2]) > 0){for (int m = 3 + i; m < 7 + m; j++){if (DormitoryStr[j] == AccountStr[6]){DormitoryStr[j] = "0";DormitoryStr[i + 2] = (float.Parse(DormitoryStr[i + 2]) - 1).ToString();new Dormitory().DormitoryVection2Refresh(account, DormitoryStr);break;}}break;}}File.Delete(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");Directory.Delete(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account, true);Console.Clear();Console.WriteLine("注销成功!自动返回主界面!");Inter();}else{Console.Clear();Console.WriteLine("已经取消注销");Inter();}}if (2 - j == 0){Console.Clear();Console.WriteLine("输入错误超过三次,自动退出");RegisterInter(account);}else{Console.WriteLine("授权码输入错误,请重新输入,还有{0}次机会", 2 - j);}}}if (2 - i == 0){Console.Clear();Console.WriteLine("输入错误超过三次,自动退出");RegisterInter(account);}else{Console.WriteLine("密保答案输入错误,请重新输入,还有{0}次机会", 2 - i);}}}//找回密码public void ForgotPassword(){List<string> list = PlayerFilename();Console.WriteLine("请输入账号");for (int i = 0; i < 3; i++){string account = Console.ReadLine();for (int j = 0; j < list.Count; j++){if (list[j] == account){Console.WriteLine("*********************************");Console.WriteLine("*          请选择操作           *");Console.WriteLine("*          1.密保找回           *");Console.WriteLine("*          2.手机号找回         *");Console.WriteLine("*          3.返回登录           *");Console.WriteLine("*          4.主界面             *");Console.WriteLine("*          5.退出               *");Console.WriteLine("*********************************");while (true){int n = InputDigit();switch (n){case 1: Console.Clear(); EncryptedBackPassword(account); break;case 2: Console.Clear(); PhotoBackPassword(account); break;case 3: Console.Clear(); Register(); break;case 4: Console.Clear(); Inter(); break;case 5: Console.Clear(); Quit(); break;default:Console.WriteLine("输入错误");break;}}}}if (2 - i == 0){Console.WriteLine("账号输入错误超过三次,返回主界面");Inter();}else{Console.WriteLine("账号输入错误,请重新输入,还有{0}次机会", 2 - i);}}}//密保找回public void EncryptedBackPassword(string account){string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");Console.WriteLine("密保问题:{0}", AccountStr[3]);Console.WriteLine("请输入密保答案:");for (int i = 0; i < 3; i++){string result = Console.ReadLine();if (result == AccountStr[4]){Console.WriteLine("请输入新密码");for (int j = 0; j < 3; j++){string newPassword = Console.ReadLine();Console.WriteLine("再次确认新密码");string newPassword1 = Console.ReadLine();if (newPassword == newPassword1){AccountStr[1] = newPassword;DeleteAndReinsertMessage(AccountStr, account);Console.Clear();Console.WriteLine("密码修改成功,请从新登陆");changePasswordInter();}if (2 - j == 0){Console.Clear();Console.WriteLine("输入错误超过三次,自动退出");RegisterInter(account);}else{Console.WriteLine("两次输入不相同,请重新输入,还有{0}次机会", 2 - j);}}}if (2 - i == 0){Console.Clear();Console.WriteLine("输入次数超过三次,自动返回主界面");Inter();}else{Console.WriteLine("密保答案输入错误,请重新输入,还有{0}次机会", 2 - i);}}}//手机号找回public void PhotoBackPassword(string account){string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");Console.WriteLine("请输入绑定手机号");for (int i = 0; i < 3; i++){string photoStr = Console.ReadLine();if (photoStr == AccountStr[5]){for (int k = 0; k < 3; k++){int num = AuthorizedCode();Console.WriteLine("授权码{0}已经发送至你的手机,请输入授权码", num);string num1 = Console.ReadLine();int num2 = 0;if (int.TryParse(num1, out num2) && int.Parse(num1) == num){Console.WriteLine("请输入新密码");for (int j = 0; j < 3; j++){string newPassword = Console.ReadLine();Console.WriteLine("再次确认新密码");string newPassword1 = Console.ReadLine();if (newPassword == newPassword1){AccountStr[1] = newPassword;DeleteAndReinsertMessage(AccountStr, account);Console.Clear();Console.WriteLine("密码修改成功,请重新登陆");changePasswordInter();}if (2 - j == 0){Console.Clear();Console.WriteLine("输入错误超过三次,自动退出");RegisterInter(account);}else{Console.WriteLine("两次输入不相同,请重新输入,还有{0}次机会", 2 - j);}}}if (2 - k == 0){Console.WriteLine("输入错误超过三次,自动返回主界面");Inter();}else{Console.WriteLine("授权码输入错误,请重新输入,还有{0}次机会", 2 - k);}}}if (2 - i == 0){Console.Clear();Console.WriteLine("输入次数超过三次,自动返回主界面");Inter();}else{Console.WriteLine("手机号错误,请重新输入,还有{0}次机会", 2 - i);}}}//随机账号public string RandomAccount(List<string> playList){string account;while (true){Random rd = new Random();int n = rd.Next(8, 10);if (n == 8){account = (n.ToString()) + (rd.Next(10000000, 100000000).ToString());}else{account = (rd.Next(1, 4).ToString()) + (rd.Next(1, 6).ToString()) + (rd.Next(10000000, 100000000).ToString());}if (playList.Count == 0){return account;}else{for (int i = 0; i < playList.Count; i++){string[] str = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + playList[i] + ".txt");//每行读取if (account == str[0]){break;}if (i == playList.Count - 1){return account;break;}}}}}//创建密码public string CreatePassword(){string password;Console.WriteLine("创建密码,长度为8为,不能为纯数字");Console.WriteLine("请输入密码");while (true){password = Console.ReadLine();Console.WriteLine("请再次确认密码");string password1 = Console.ReadLine();if (password == password1){if (password.Length >= 8){int n = 0;int num;for (int i = 0; i < password.Length; i++){if (int.TryParse(password[i].ToString(), out num)){n++;}if (i == password.Length - 1 && n != password.Length){return password;}if (i == password.Length - 1 && n == password.Length){Console.WriteLine("密码不能用纯数字");break;}}}else{Console.WriteLine("密码长度小于8位");}}else{Console.WriteLine("两次密码不相同,请重新输入!");}}}//选择性别public string ChangSex(){Console.WriteLine("********");Console.WriteLine("* 1.男 *");Console.WriteLine("* 2.女 *");Console.WriteLine("********");Console.WriteLine("请选择性别");while (true){int n = InputDigit();switch (n){case 1: return "男"; break;case 2: return "女"; break;default:Console.WriteLine("输入错误,请重新选择");break;}}}//验证手机号public string VerifyPhone(){List<string> playList = PlayerFilename();Console.WriteLine("请输入手机号");//13 15 18while (true){string photoStr = Console.ReadLine();if (photoStr.Length == 11){if (int.Parse(photoStr[0].ToString()) == 1 && (int.Parse(photoStr[1].ToString()) == 3 || int.Parse(photoStr[1].ToString()) == 5 || int.Parse(photoStr[1].ToString()) == 8)){if (playList.Count == 0){return photoStr;}else{for (int i = 0; i < playList.Count; i++){string[] playerStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + playList[i] + ".txt");if (playerStr[5] == photoStr){break;}if (i == playList.Count - 1){return photoStr;}}}}else{Console.WriteLine("没有该形式手机号码,请重新输入!");}}else{Console.WriteLine("输入手机号码不正确,请重新输入");}}}//创建网名public string Screenname(){List<string> playList = PlayerFilename();Console.WriteLine("请输入网名:");while (true){string name = Console.ReadLine();if (playList.Count == 0){return name;}else{for (int i = 0; i < playList.Count; i++){string[] playerStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + playList[0] + ".txt");if (name == playerStr[6]){break;}if (i == playList.Count - 1){return name;}}Console.WriteLine("该网名已被注册,请重新输入");}}}//解锁public void Unlock(){List<string> list = PlayerFilename();Console.WriteLine("请输入已经被锁定账号");for (int m = 0; m < 3; m++){string account = Console.ReadLine();for (int k = 0; k < list.Count; k++){if (account == list[k]){string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");if (Convert.ToBoolean(AccountStr[9]) == false){Console.WriteLine("请输入密保:“{0}” 的答案", AccountStr[3]);for (int i = 0; i < 3; i++){string result = Console.ReadLine();if (result == AccountStr[4]){for (int j = 0; j < 3; j++){int num = AuthorizedCode();Console.WriteLine("手机授权码{0}以发送至手机,请输入授权码", num);int num1 = 0;string num2 = Console.ReadLine();if (int.TryParse(num2, out num1) && num == int.Parse(num2)){AccountStr[9] = "true";DeleteAndReinsertMessage(AccountStr, account);Console.WriteLine("解锁成功");Inter();}if (2 - j == 0){Console.WriteLine("输入错误超过三次,自动退出");RegisterInter(account);}else{Console.WriteLine("授权码输入错误,请重新输入,还有{0}次机会", 2 - j);}}}if (2 - i == 0){Console.WriteLine("输入错误超过三次,自动退出");RegisterInter(account);}else{Console.WriteLine("密保答案输入错误,请重新输入,还有{0}次机会", 2 - i);}}}else{Console.WriteLine("该账号未被锁定");Inter();}}if (k == list.Count - 1){break;}}if (2 - m == 0){Console.WriteLine("输入次数超过三次,自动返回到主界面");}else{Console.WriteLine("账号输入错误,请重新输入,还有{0}次机会", 2 - m);}}}//退出public void Quit(){Console.WriteLine("退出成功");Environment.Exit(0);}//验证码public int AuthCode(){Random rand1 = new Random();int a = rand1.Next(1000, 9000);return a;}//密保问题public string Encrypted(){Console.WriteLine("*********************************");Console.WriteLine("*        请选择密保问题         *");Console.WriteLine("*         1.最崇拜的人          *");Console.WriteLine("*         2.最喜欢数字          *");Console.WriteLine("*         3.女友姓名            *");Console.WriteLine("*         4.初恋对象            *");Console.WriteLine("*********************************");string[] str = new string[] { "最崇拜的人", "最喜欢数字", "女友姓名", "初恋对象" };while (true){int n = InputDigit();if (n <= 4 && n >= 1){return str[n - 1];}else{Console.WriteLine("输入错误,请重新输入");}}}//产品授权码public int AuthorizedCode(){Random rand1 = new Random();return rand1.Next(100000, 999999);}//删除并重新插入(账号)public void DeleteAndReinsertMessage(string[] accountStr, string account){for (int i = 0; i < accountStr.Length; i++){if (i == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt", accountStr[i]);//在原有文本文件替换}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt", "\n" + accountStr[i]);//在原有文本文件上替换}}}//键盘输入数字public int InputDigit(){while (true){string str = Console.ReadLine();int n = 0;if (int.TryParse(str, out n)){return n;Console.WriteLine(n);}else{Console.WriteLine("请输入数字");}}}//获取玩家文件名public List<string> PlayerFilename(){List<string> playList = new List<string>();foreach (string content in Directory.GetFileSystemEntries(@"D:\AllMyLife\DataCenter\PlayerData"))//遍历玩家信息文件夹,找到文件夹所对应的子文件名{playList.Add(Path.GetFileNameWithoutExtension(content));}return playList;}//确认方法public bool IsAffirm(){Console.WriteLine("**********");Console.WriteLine("*  1.是  *");Console.WriteLine("*  2.否  *");Console.WriteLine("**********");Console.WriteLine("请输入:");while (true){int n = InputDigit();switch (n){case 1: return true; break;case 2: return false; break;default:Console.WriteLine("输入错误,请重新输入");break;}}}//玩家属性,背包,坐标刷新//玩家背包刷新public void backpackRefresh(string[] backpackStr, string account){for (int i = 0; i < backpackStr.Length; i++){if (i == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt", backpackStr[i]);//在原有文本文件替换}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt", "\n" + backpackStr[i]);//在原有文本文件上替换}}}//玩家属性刷新public void attributeRefresh(string[] attributeStr, string account){string[] playerBackpack = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");//获取玩家背包,用来刷新背包容量attributeStr[6] = (int.Parse(attributeStr[7]) - ((playerBackpack.Length - 10) / 10) - (int.Parse(playerBackpack[2]) / 100) - int.Parse(playerBackpack[3]) - (int.Parse(playerBackpack[4]) / 120)).ToString();//刷新背包容量for (int i = 0; i < attributeStr.Length; i++){if (i == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt", attributeStr[i]);//在原有文本文件替换}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt", "\n" + attributeStr[i]);//在原有文本文件上替换}}}//玩家坐标刷新public void Vection2Refresh(string[] Vection2Str, string account){for (int i = 0; i < Vection2Str.Length; i++){if (i == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\RPGVection2.txt", Vection2Str[i]);//在原有文本文件替换}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\RPGVection2.txt", "\n" + Vection2Str[i]);//在原有文本文件上替换}}}//判断耐久力是否为0public void DurabilityVerdict(string[] DurabilityStr, string account){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");if (backpackStr[9] == "true"){if (float.Parse(DurabilityStr[4]) <= 1){Console.WriteLine("需要休息了");Console.WriteLine("自动返回宿舍");string[] accountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");string HowSex = "";if (accountStr[2] == "男"){HowSex = "DormitoryMan";}if (accountStr[2] == "女"){HowSex = "DormitoryWoman";}string[] dormStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\" + HowSex + @"\Vection2.txt");for (int i = 0; i < dormStr.Length; i += 10){int bedWhile = 0;for (int j = i + 3; j < i + 7; j++){bedWhile++;if (dormStr[j] == accountStr[6]){Console.Write("休息中:");for (int k = 0; k < 5; k++){Thread.Sleep(800);Console.Write(">");}Console.WriteLine();DurabilityStr[4] = DurabilityStr[5];attributeRefresh(DurabilityStr, account);string[] Vection2Str = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\RPGVection2.txt");if (accountStr[2] == "男"){Vection2Str[0] = "3";Vection2Str[1] = "10";}if (accountStr[2] == "女"){Vection2Str[0] = "7";Vection2Str[1] = "10";}Vection2Refresh(Vection2Str, account);int BedX = 0;int BedY = 0;if (bedWhile == 1){BedX = 2;BedY = 2;}if (bedWhile == 2){BedX = 2;BedY = 4;}if (bedWhile == 3){BedX = 6;BedY = 2;}if (bedWhile == 4){BedX = 2;BedY = 4;}new DormitoryRoom().DormitoryRoomMap(account, BedX, BedY);//if (accountStr[2] == "男")//{//    //new Dormitory().DormitoryMap(account, int.Parse(dormStr[i]), int.Parse(dormStr[i + 1]));//}//if (accountStr[2] == "女")//{//    new Dormitory().DormitoryWomanMap(account, int.Parse(dormStr[i]), int.Parse(dormStr[i + 1]));//}}}}}}else{Console.WriteLine("你还不是该学校学生,没有办法回到宿舍补充耐力");}}//等级判断public void HierarchyVerdict(string[] attributeStr, string account){float num1 = 0;int length = (attributeStr.Length - 2) / 2;float[] num = new float[length];int n = 0;for (int i = 3; i < attributeStr.Length; i += 2){num[n] = float.Parse(attributeStr[i]);num1 += float.Parse(attributeStr[i]);n++;}//等级值集合int[] Hierarchy = new int[] { 100, 300, 600, 1000 };int tmp = 0;for (int i = 0; i < Hierarchy.Length; i++){if (float.Parse(attributeStr[1]) == i + 1){tmp = Hierarchy[i];break;}}if (num1 > tmp){for (int i = 0; i < num.Length; i++){if (num[i] <= (tmp / length)){break;}if (i == num.Length - 1){attributeStr[1] = "2";//更新完等级后刷新背包new CreateID().attributeRefresh(attributeStr, account);}}}}//宠物等级判断public void PetVerdict(string[] backpackStr, string account){backpackRefresh(backpackStr, account);int[] PetGrade = new int[] { 0, 100, 300, 600, 1000, 1500, 2100, 2800, 3600, 4500, 5500 };//经验值达到,某个值升级for (int i = 10; i < backpackStr.Length; i += 10){if (float.Parse(backpackStr[i + 3]) > PetGrade[int.Parse(backpackStr[i + 2])]){backpackStr[i + 2] = (int.Parse(backpackStr[i + 2]) + 1).ToString();backpackStr[i + 4] = (int.Parse(backpackStr[i + 4]) * 100 / 85).ToString();backpackStr[i + 5] = (int.Parse(backpackStr[i + 5]) * 100 / 85).ToString();backpackStr[i + 6] = (int.Parse(backpackStr[i + 6]) * 100 / 85).ToString();backpackStr[i + 8] = backpackStr[2];backpackStr[i + 9] = (int.Parse(backpackStr[i + 6]) * int.Parse(backpackStr[i + 2])).ToString();//宠物价格等于血量*等级}}backpackRefresh(backpackStr, account);}//查看所有属性信息public void AllInformation(string account, int a, int b){string[] playerID = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + @".txt");string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");//背包string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt"); //属性Console.WriteLine("用户名称:{0}\n\n用户金额:{1}\n用户食物:{2}\n用户药品:{3}\n宠物食物:{4} ", playerID[6], backpackStr[0], backpackStr[2], backpackStr[3], backpackStr[4]);Console.WriteLine("VIP等级:{0}\n人物等级:{1}\n智力:{2}\n耐久力:{3}\n剩余耐久力:{4}\n负重:{5}\n剩余负重:{6}\n幸运值:{7}\n", attributeStr[0], attributeStr[1], attributeStr[2], attributeStr[5], attributeStr[4], attributeStr[7], attributeStr[6], attributeStr[8]);string petStr = "姓名性别等级经验攻击防御血量品种食量价格";int n = 0;Console.WriteLine("宠物信息:");for (int i = 10; i < backpackStr.Length; i++){Console.Write(petStr[n]);n++;Console.Write(petStr[n] + ":");n++;Console.WriteLine(backpackStr[i]);if ((i + 1) % 10 == 0){n = 0;Console.WriteLine("-------------------");}}new DormitoryRoom().RoomChange(account, a, b);}//玩家没走一步,耐久减一和宠物食物相应实物量public void Consume(string account){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");//背包string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt"); //属性attributeStr[4] = (int.Parse(attributeStr[4]) - 1).ToString();//没走一步耐久力下降一backpackStr[2] = (int.Parse(backpackStr[2]) - 1).ToString();//没走一步玩家食物下降一for (int i = 10; i < backpackStr.Length; i += 10)//没走一步减少相应的宠物食物{backpackStr[4] = (int.Parse(backpackStr[4]) - int.Parse(backpackStr[i + 8])).ToString();}backpackRefresh(backpackStr, account);attributeRefresh(attributeStr, account);}//判断食物是否充足public void Adequatefood(string account){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");//背包string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt"); //属性if (int.Parse(backpackStr[2]) < int.Parse(attributeStr[5])){Console.WriteLine("玩家食物不足,请到商店购买");}int petFood = 0;for (int i = 10; i < backpackStr.Length; i += 10){petFood += int.Parse(backpackStr[i + 8]);}float moneyPet=0;for (int i = 10; i < backpackStr.Length; i+=10){moneyPet += float.Parse(backpackStr[i + 9]);}if (int.Parse(backpackStr[4])<= petFood){Console.WriteLine("宠物被活活饿死,是否花{0}金救活宠物", (moneyPet/4));if (float.Parse(backpackStr[0]) > (moneyPet / 4)){bool bo = new CreateID().IsAffirm();if (bo){Console.WriteLine("宠物已被救活");backpackStr[0] = (float.Parse(backpackStr[0]) - (moneyPet / 4)).ToString();backpackStr[4] = "500";new CreateID().backpackRefresh(backpackStr, account);}else{Console.WriteLine("金钱不足,宠物死亡");string[] backpack = new string[10];for (int i = 0; i < 10; i++){backpack[i] = backpackStr[i];}new CreateID().backpackRefresh(backpack, account);}}else{Console.WriteLine("金钱不足,宠物死亡");string[] backpack = new string[10];for (int i = 0; i < 10; i++){backpack[i] = backpackStr[i];}new CreateID().backpackRefresh(backpack,account);}}if (int.Parse(backpackStr[4]) < petFood * int.Parse(attributeStr[5])){Console.WriteLine("宠物食物不足,请到商店购买");}}}//学校
public class School
{//生成学校地图public void SchoolMap(string account){//File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt", "暂无");//人物背包string[] rpgVection2 = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\RPGVection2.txt");//获取人物初始坐标int a = 0;int b = 0;int[,] schoolMapStr = new int[,]{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },{1,0,0,0,0,0,0,0,2,2,9,2,2,0,2,2,2,2,2,1 },{1,0,2,2,2,2,2,0,2,9,2,9,2,0,2,9,9,9,2,1 },{1,0,2,2,9,2,2,0,2,2,0,2,2,0,2,2,0,2,2,1 },{1,0,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,2,1 },{1,0,2,2,9,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0 },{1,0,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,2,1 },{1,0,2,2,9,2,2,0,2,2,0,2,2,0,2,2,0,2,2,1 },{1,0,2,2,2,2,2,0,2,9,2,9,2,0,2,9,9,9,2,1 },{1,0,0,0,0,0,0,0,2,2,9,2,2,0,2,2,2,2,2,1 },{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 }};schoolMapStr[int.Parse(rpgVection2[0]), int.Parse(rpgVection2[1])] = 3;string phraseStr = "男宿舍冒险岛教学楼宿舍宠物店女";int n = 0;for (int i = 0; i < schoolMapStr.GetLength(0); i++){for (int j = 0; j < schoolMapStr.GetLength(1); j++){if (schoolMapStr[i, j] == 0){Console.Write("  ");}if (schoolMapStr[i, j] == 1){Console.Write("■");}if (schoolMapStr[i, j] == 2){Console.Write("※");}if (schoolMapStr[i, j] == 3){Console.Write("★");}if (schoolMapStr[i, j] == 9){Console.Write(phraseStr[n]);n++;}}Console.WriteLine();}SchoolRpgRemove(account, schoolMapStr);}//人物在学校移动public void SchoolRpgRemove(string account, int[,] schoolMapStr){string phraseStr = "男宿舍冒险岛教学楼宿舍宠物店女";string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");string[] rpgVection2 = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\RPGVection2.txt");//获取人物坐标int x = int.Parse(rpgVection2[0]);int y = int.Parse(rpgVection2[1]);while (true){new CreateID().Adequatefood(account);//判断玩家食物以及宠物食物是否充足//没运动一次刷新玩家背包string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");//玩家属性string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");//玩家耐久力判断,一旦达到某个值就会自动休息new CreateID().DurabilityVerdict(attributeStr, account);//等级判断new CreateID().HierarchyVerdict(attributeStr, account);bool bo = false;int rpgX = 0;//控制人物上下int rpgY = 0;//控制人物左右char ch = Console.ReadKey().KeyChar;Console.WriteLine();#region 判断移动方向if (ch == 'w' || ch == 'W'){rpgX = -1;}if (ch == 's' || ch == 'S'){rpgX = 1;}if (ch == 'a' || ch == 'A'){rpgY = -1;}if (ch == 'd' || ch == 'D'){rpgY = 1;}#endregionif (x + rpgX >= schoolMapStr.GetLength(0) || y + rpgY >= schoolMapStr.GetLength(1)){continue;}if (schoolMapStr[x + rpgX, y + rpgY] == 1 && x + rpgX == 5 && y + rpgY == 0){Console.WriteLine("隐藏上网任务,增加属性");new SecretMissions().surfTheInternet(account);}else if (schoolMapStr[x + rpgX, y + rpgY] == 2 && x + rpgX == 9 && y + rpgY == 12){if (AccountStr[2] == "男"){Console.WriteLine("愉快的进入女生宿舍撩妹纸(^_^)");Console.WriteLine("撩妹纸中勿扰");new SecretMissions().IsomerismRoom(account);}Console.WriteLine("撩完赶紧跑");continue;}else if (schoolMapStr[x + rpgX, y + rpgY] == 2 && x + rpgX == 1 && y + rpgY == 12){if (AccountStr[2] == "女"){Console.WriteLine("老娘愉快的进入男生宿舍撩汉纸(^_^)哈哈哈~~~");Console.WriteLine("撩汉纸中:");new SecretMissions().IsomerismRoom(account);}Console.WriteLine("撩完赶紧跑");continue;}else if (schoolMapStr[x + rpgX, y + rpgY] == 1 || schoolMapStr[x + rpgX, y + rpgY] == 2 || schoolMapStr[x + rpgX, y + rpgY] == 9){continue;}else{schoolMapStr[x + rpgX, y + rpgY] = 3;schoolMapStr[x, y] = 0;SchoolMapRefresh(schoolMapStr, phraseStr);Console.Clear();SchoolMapRefresh(schoolMapStr, phraseStr);if (x + rpgX == 5 && y + rpgY == 18)//判断是否缴费{if (Convert.ToBoolean(backpackStr[9]) == true){Console.WriteLine("欢迎{0}同学回校!", AccountStr[6]);}else{Console.WriteLine("欢迎{0}新同学,请缴纳学费100金,是否缴纳", AccountStr[6]);string HowSex = "";if (AccountStr[2] == "男"){HowSex = "DormitoryMan";}if (AccountStr[2] == "女"){HowSex = "DormitoryWoman";}bool bo1 = new CreateID().IsAffirm();if (bo1 == true){backpackStr[0] = (float.Parse(backpackStr[0]) - 100).ToString();backpackStr[9] = "true";new CreateID().backpackRefresh(backpackStr, account);//获取宿舍情况string[] DormitoryStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\" + HowSex + @"\Vection2.txt");for (int i = 0; i < DormitoryStr.Length; i += 10){if (int.Parse(DormitoryStr[i + 2]) < 4){for (int j = 3 + i; j < 7 + i; j++){if (DormitoryStr[j] == "0"){DormitoryStr[j] = AccountStr[6];DormitoryStr[i + 2] = (float.Parse(DormitoryStr[i + 2]) + 1).ToString();new Dormitory().DormitoryVection2Refresh(account, DormitoryStr);Console.WriteLine("宿舍已经分好{0}生宿舍为{1}号寝", AccountStr[2], DormitoryStr[i + 9]);break;}}break;}}Console.WriteLine("缴费成功,欢迎新同学!");}else{Console.WriteLine("您未缴费,可以进入学校但不能进入学校相关区域");}}}if (x + rpgX == 3 && y + rpgY == 10){if (backpackStr[9] == "true"){if (AccountStr[2] == "男"){Console.WriteLine("进入男生宿舍");new Dormitory().DormitoryMap(account, 6, 9);}else{Console.WriteLine("男生宿舍,女生止步!");}}else{Console.WriteLine("由于你不是本校学生,不能进入该建筑,请缴费成为本校学生");}}if (x + rpgX == 7 && y + rpgY == 10){if (backpackStr[9] == "true"){if (AccountStr[2] == "女"){Console.WriteLine("进入女生宿舍");new Dormitory().DormitoryWomanMap(account, 0, 9);}else{Console.WriteLine("女生宿舍,男生止步!");}}else{Console.WriteLine("由于你不是本校学生,不能进入该建筑,请缴费成为本校学生");}}if (x + rpgX == 3 && y + rpgY == 16){if (backpackStr[9] == "true"){Console.WriteLine("进入冒险岛");new Adventure().AdventureMap(account, 10, 8);}else{Console.WriteLine("由于你不是本校学生,不能进入该建筑,请缴费成为本校学生");}}if (x + rpgX == 7 && y + rpgY == 16){if (backpackStr[9] == "true"){Console.WriteLine("进入商店");new Shop().ShopMap(account, 0, 5);}else{Console.WriteLine("由于你不是本校学生,不能进入该建筑,请缴费成为本校学生");}}if (x + rpgX == 5 && y + rpgY == 6){if (backpackStr[9] == "true"){Console.WriteLine("进入教学楼");new TeachingBuild().TeachingBuildMap(account);}else{Console.WriteLine("由于你不是本校学生,不能进入该建筑,请缴费成为本校学生");}}bo = true;}if (bo == true){x += rpgX;y += rpgY;//刷新玩家坐标   File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\RPGVection2.txt", x.ToString() + "\n" + y.ToString());//移动后更新人物坐标//刷新玩家耐久力attributeStr[4] = (float.Parse(attributeStr[4]) - 1).ToString();new CreateID().attributeRefresh(attributeStr, account);new CreateID().Consume(account);//减少玩家耐久以及食物}}}//地图刷新public void SchoolMapRefresh(int[,] MapStr, string str){int n = 0;for (int i = 0; i < MapStr.GetLength(0); i++){for (int j = 0; j < MapStr.GetLength(1); j++){if (MapStr[i, j] == 0){Console.Write("  ");}if (MapStr[i, j] == 1){Console.Write("■");}if (MapStr[i, j] == 2){Console.Write("※");}if (MapStr[i, j] == 3){Console.Write("★");}if (MapStr[i, j] == 4){Console.Write("●");}if (MapStr[i, j] == 9){Console.Write(str[n]);n++;}}Console.WriteLine();}}}//商店
public class Shop
{//商店地图public void ShopMap(string account, int a, int b){int[,] ShopMapStr = new int[,]{{1,1,1,1,1,0,1,1,1,1,1 },{1,9,2,0,0,0,0,0,2,9,1 },{1,9,2,0,0,0,0,0,2,9,1 },{1,9,0,0,0,0,0,0,0,9,1 },{1,9,2,0,0,0,0,0,2,9,1 },{1,2,2,0,2,2,2,0,2,2,1 },{1,9,9,9,9,2,9,9,9,9,1 },{1,1,1,1,1,1,1,1,1,1,1 }};ShopMapStr[a, b] = 3;string shopStr = "购出买售商商品品充值中心商品转赠";int n = 0;for (int i = 0; i < ShopMapStr.GetLength(0); i++){for (int j = 0; j < ShopMapStr.GetLength(1); j++){if (ShopMapStr[i, j] == 0){Console.Write("  ");}if (ShopMapStr[i, j] == 1){Console.Write("■");}if (ShopMapStr[i, j] == 2){Console.Write("※");}if (ShopMapStr[i, j] == 3){Console.Write("★");}if (ShopMapStr[i, j] == 9){Console.Write(shopStr[n]);n++;}}Console.WriteLine();}ShopMapRemove(account, ShopMapStr, a, b);}//商店里面移动public void ShopMapRemove(string account, int[,] ShopMapStr, int a, int b){string shopStr = "购出买售商商品品充值中心商品转赠";//string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");int x = a;int y = b;while (true){new CreateID().Adequatefood(account);//判断玩家食物以及宠物食物是否充足//获取玩家属性string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");//玩家耐久力判断,一旦达到某个值就会自动休息new CreateID().DurabilityVerdict(attributeStr, account);bool bo = false;int rpgX = 0;//控制人物上下int rpgY = 0;//控制人物左右char ch = Console.ReadKey().KeyChar;#region 判断移动方向if (ch == 'w' || ch == 'W'){rpgX = -1;}if (ch == 's' || ch == 'S'){rpgX = 1;}if (ch == 'a' || ch == 'A'){rpgY = -1;}if (ch == 'd' || ch == 'D'){rpgY = 1;}#endregionif (x + rpgX < 0 && y + rpgY == 5){continue;}if (ShopMapStr[x + rpgX, y + rpgY] == 1 || ShopMapStr[x + rpgX, y + rpgY] == 2 || ShopMapStr[x + rpgX, y + rpgY] == 9){continue;}else{ShopMapStr[x + rpgX, y + rpgY] = 3;ShopMapStr[x, y] = 0;new School().SchoolMapRefresh(ShopMapStr, shopStr);Console.Clear();new School().SchoolMapRefresh(ShopMapStr, shopStr);if (x + rpgX == 0 && y + rpgY == 5){Console.WriteLine("退出商店");new School().SchoolMap(account);}if (x + rpgX == 3 && y + rpgY == 2){Console.WriteLine("购买商品");Commodity(account, "buy");}if (x + rpgX == 3 && y + rpgY == 8){Console.WriteLine("出售商品");Commodity(account, "sell");}if (x + rpgX == 5 && y + rpgY == 3){Console.WriteLine("充值中心");rechargeInter(account);}if (x + rpgX == 5 && y + rpgY == 7){Console.WriteLine("商品转赠");GiveInter(account);}bo = true;}if (bo == true){x += rpgX;y += rpgY;new CreateID().attributeRefresh(attributeStr, account);new CreateID().Consume(account);//减少玩家耐久以及食物}}}//商品界面public void Commodity(string account, string fromWhile){Console.WriteLine("************************");Console.WriteLine("*  请选择购买商品种类  *");Console.WriteLine("*        1.食物        *");Console.WriteLine("*        2.药品        *");Console.WriteLine("*        3.宠物        *");Console.WriteLine("*        4.宠物食物    *");Console.WriteLine("*        5.玩家背包    *");Console.WriteLine("*        6.退出        *");Console.WriteLine("************************");while (true){int n = new CreateID().InputDigit();switch (n){case 1: Aliment(account, fromWhile); break;case 2: Drug(account, fromWhile); break;case 3:if (fromWhile == "buy"){PetKing(account);}if (fromWhile == "sell"){sellPet(account);}break;case 4: petFood(account, fromWhile); break;case 5: accounterPacksack(account, "buy"); break;case 6:if (fromWhile == "buy"){ShopMap(account, 3, 2);}if (fromWhile == "sell"){ShopMap(account, 3, 8);}break;default:Console.WriteLine("输入错误");break;}}}//宠物种类public void PetKing(string account){string[] str = new string[Directory.GetFileSystemEntries(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop").Length];//声明一个数组,用来装D:\AllMyLife\DataCenter\SystemMessage\PetShop中文件名,int n = 0;                                                                          //Directory.GetFileSystemEntries(@"D:\PetShop\Pet").Length 表示文件中含有子文件个数Console.WriteLine("************************");Console.WriteLine("   请选择查看宠物种类  ");foreach (string content in Directory.GetFileSystemEntries(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop")){Console.WriteLine("       {0}.{1}          ", (n + 1), Path.GetFileNameWithoutExtension(content));str[n] = Path.GetFileNameWithoutExtension(content);n++;}Console.WriteLine("************************");Console.WriteLine("请输入对应序号");for (int i = 0; true; i++){n = new CreateID().InputDigit();if (n > Directory.GetFileSystemEntries(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop").Length){Console.WriteLine("输入错误,请重新输入!!!");}else{petShow(account, str[n - 1]); break;}}}//看完宠物之后选择public void petInterLast(string account, string petStr){Console.WriteLine("**********************");Console.WriteLine("*     请选择操作     *");Console.WriteLine("*     1.购买宠物     *");Console.WriteLine("*     2.退出         *");Console.WriteLine("**********************");for (int i = 0; true; i++){int n = new CreateID().InputDigit();switch (n){case 1: changeDogPet(account, petStr); break;case 2: ShopMap(account, 3, 2); ; break;default:Console.WriteLine("输入错误,请重新输入 ");break;}}}//宠物列表public void petShow(string account, string petStr){int num = 0;string[] str = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt");//每行读取Console.WriteLine("{0}宠物目录如下:", petStr);for (int i = 0; i < str.Length; i += 10){num++;Console.WriteLine("{0}.  姓名:{1}  性别:{2}  等级:{3}  经验值:{4}  攻击力:{5}   防御力:{6}  血量值:{7}   品种:{8}  食量:{9}  价格:{10}  ", num, str[i], str[i + 1], str[i + 2], str[i + 3], str[i + 4], str[i + 5], str[i + 6], str[i + 7], str[i + 8], str[i + 9]);}petInterLast(account, petStr);//跳转选择界面}//购买宠物,并且加入到背包public void changeDogPet(string account, string petStr){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");//每行读取玩家背包string[] str = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\PetShop\" + petStr + ".txt");//每行读取宠物列表string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");if (int.Parse(attributeStr[6]) < 1){Console.WriteLine("背包空间不足,请扩充背包空间");Commodity(account, "buy");}Console.WriteLine("*请输入序号*");for (int i1 = 0; true; i1++){int n = new CreateID().InputDigit();int num = n - 1;for (int i2 = 0; i2 < backpackStr.Length; i2 += 10){if (backpackStr.Length != 10 && backpackStr[i2] == str[num * 10]){Console.WriteLine("用户已经存在该宠物,请重新选择");petInterLast(account, petStr);//跳转选择界面break;}if (i2 == backpackStr.Length - 10 || backpackStr.Length == 10){if (float.Parse(backpackStr[0]) < float.Parse(str[num * 10 + 9])){Console.WriteLine("余额不足,请充值!");Commodity(account, "buy");break;}else{backpackStr[0] = (float.Parse(backpackStr[0]) - float.Parse(str[num * 10 + 9])).ToString();new CreateID().backpackRefresh(backpackStr, account);//背包刷新new CreateID().attributeRefresh(attributeStr, account);//属性刷新,这里刷新背包空间for (int i = 0; i < 10; i++){File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt", "\n" + str[num * 10 + i]);//在原有文本文件上添加}Console.WriteLine("购买成功");Commodity(account, "buy");}}}}}//观看背包列表public void accounterPacksack(string account, string fromWhile){string[] playerID = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + @".txt");string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");//每行读取背包string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");//每行玩家属性Console.WriteLine("用户名称:{0}\n会员等级:{1}\n用户等级:{2}\n用户金额:{3}\n用户食物:{4}\n用户药品:{5}\n宠物食物:{6}\n背包剩余空间:{7} ", playerID[6], attributeStr[0], attributeStr[1], backpackStr[0], backpackStr[2], backpackStr[3], backpackStr[4], attributeStr[6]);string petStr = "姓名性别等级经验攻击防御血量品种食量价格";int n = 0;Console.WriteLine("宠物信息:");for (int i = 10; i < backpackStr.Length; i++){Console.Write(petStr[n]);n++;Console.Write(petStr[n] + ":");n++;Console.WriteLine(backpackStr[i]);if ((i + 1) % 10 == 0){n = 0;Console.WriteLine("-------------------");}}returnWhile(account, fromWhile);}//卖掉宠物public void sellPet(string account){string[] accountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");//每行读取背包string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");//每行读取属性Console.WriteLine("宠物信息:");string petStr = "姓名性别等级经验攻击防御血量品种食量价格";int n = 0;Console.WriteLine("宠物信息:");for (int i = 10; i < accountStr.Length; i++){Console.Write(petStr[n]);n++;Console.Write(petStr[n] + ":");n++;Console.WriteLine(accountStr[i]);if ((i + 1) % 10 == 0){n = 0;Console.WriteLine("-------------------");}}Console.WriteLine("卖掉宠物将会以原来价格六折折现");Console.WriteLine("请输入宠物姓名:");for (int k = 0; k < 3; k++){string name = Console.ReadLine();for (int i = 10; i < accountStr.Length; i += 10){if (accountStr[i] == name){Console.WriteLine("再次确认是否卖掉,请输入“是”或者“否”");string notarize = Console.ReadLine();if (notarize == "是"){accountStr[0] = (float.Parse(accountStr[0]) + (0.6 * float.Parse(accountStr[i + 9]))).ToString();for (int m = 0; m < i; m++){if (m == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt", accountStr[m]);//在原有文本文件替换}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt", "\n" + accountStr[m]);//在原有文本文件上替换}}for (int m = i + 10; m < accountStr.Length; m++){File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt", "\n" + accountStr[m]);//在原有文本文件上替换}Console.WriteLine("删除成功");new CreateID().attributeRefresh(attributeStr, account);//在这里是为了刷新背包Commodity(account, "sell");break;}else{Console.WriteLine("返回宠物界面");Commodity(account, "sell");break;}}}if (2 - k == 0){Console.WriteLine("输入次数超过三次,自动退出");Commodity(account, "sell");break;}Console.WriteLine("还有{0}次机会,请重新输入宠物名字:", 2 - k);}}//充值界面public void rechargeInter(string account){string[] accountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");//每行读取背包Console.WriteLine("**********************");Console.WriteLine("*   请选择充值金额   *");Console.WriteLine("*    1.10元1000金    *");Console.WriteLine("*    2.30元5000金    *");Console.WriteLine("*    3.50元12000金   *");Console.WriteLine("*    4.100元30000金  *");Console.WriteLine("*    5.退出          *");Console.WriteLine("**********************");int n = new CreateID().InputDigit();float num = 0;switch (n){case 1: num = 1000; break;case 2: num = 5000; break;case 3: num = 12000; break;case 4: num = 30000; break;case 5: ShopMap(account, 5, 3); break;default:Console.WriteLine("输入错误,请重新输入,返回宠物商店界面");break;}string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");//每行玩家属性float money = float.Parse(accountStr[1]) + num;if (money >= 5000 && money < 150000){attributeStr[0] = "VIP黑铁";//替换等级}else if (money >= 15000 && money < 50000){attributeStr[0] = "VIP青铜";//替换等级}else if (money >= 50000 && money < 100000){attributeStr[0] = "VIP白银";//替换等级}else if (money >= 100000){attributeStr[0] = "VIP黄金";//替换等级}else{attributeStr[0] = "VIP0";//替换等级}accountStr[0] = (float.Parse(accountStr[0]) + num).ToString();//增加金钱accountStr[1] = (float.Parse(accountStr[1]) + num).ToString();//增加金钱//背包刷新new CreateID().backpackRefresh(accountStr, account);//刷新属性new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("充值成功!");rechargeInter(account);}//事物public void Thing(string account, string fromWhile, int _num){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");Console.WriteLine("当前剩余{0}单位粮食", backpackStr[2]);//购买食品if (fromWhile == "buy"){Console.WriteLine("1金等于100单位粮食 \n请输入购买金额:");int amount = new CreateID().InputDigit();if (float.Parse(attributeStr[6]) > amount)//判断背包空间{bool bo = new CreateID().IsAffirm();Console.WriteLine("是否确认购买{0}金{1}单位的粮食", amount, amount * 100);if (bo){backpackStr[0] = (float.Parse(backpackStr[0]) - amount).ToString();//金钱backpackStr[2] = (float.Parse(backpackStr[2]) + (amount * 100)).ToString();//人的事物new CreateID().backpackRefresh(backpackStr, account);new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("购买成功!!!");}else{Console.WriteLine("退出购买!!!");}}else{Console.WriteLine("背包空间不足,退出购买!");}}//卖出食品if (fromWhile == "sell"){Console.WriteLine("100单位粮食等于0.8金 \n请输入卖出粮食数量:");int amount = new CreateID().InputDigit();bool bo = new CreateID().IsAffirm();if (int.Parse(backpackStr[2]) > amount){Console.WriteLine("是否确认卖出{0}单位粮食", amount);if (bo){backpackStr[0] = (float.Parse(backpackStr[0]) + amount * 0.008f).ToString();//金钱backpackStr[2] = (float.Parse(backpackStr[2]) - amount).ToString();//人的背包--粮食new CreateID().backpackRefresh(backpackStr, account);new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("卖出成功!!!");}else{Console.WriteLine("退出卖出!!!");}}else{Console.WriteLine("粮食不足,退出卖出");}}returnWhile(account, fromWhile);}//人食品public void Aliment(string account, string fromWhile){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");Console.WriteLine("当前剩余{0}单位粮食", backpackStr[2]);//购买食品if (fromWhile == "buy"){Console.WriteLine("1金等于100单位粮食 \n请输入购买金额:");int amount = new CreateID().InputDigit();if (float.Parse(attributeStr[6]) > amount)//判断背包空间{bool bo = new CreateID().IsAffirm();Console.WriteLine("是否确认购买{0}金{1}单位的粮食", amount, amount * 100);if (bo){backpackStr[0] = (float.Parse(backpackStr[0]) - amount).ToString();//金钱backpackStr[2] = (float.Parse(backpackStr[2]) + (amount * 100)).ToString();//人的事物new CreateID().backpackRefresh(backpackStr, account);new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("购买成功!!!");}else{Console.WriteLine("退出购买!!!");}}else{Console.WriteLine("背包空间不足,退出购买!");}}//卖出食品if (fromWhile == "sell"){Console.WriteLine("100单位粮食等于0.8金 \n请输入卖出粮食数量:");int amount = new CreateID().InputDigit();bool bo = new CreateID().IsAffirm();if (int.Parse(backpackStr[2]) > amount){Console.WriteLine("是否确认卖出{0}单位粮食", amount);if (bo){backpackStr[0] = (float.Parse(backpackStr[0]) + amount * 0.008f).ToString();//金钱backpackStr[2] = (float.Parse(backpackStr[2]) - amount).ToString();//人的背包--粮食new CreateID().backpackRefresh(backpackStr, account);new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("卖出成功!!!");}else{Console.WriteLine("退出卖出!!!");}}else{Console.WriteLine("粮食不足,退出卖出");}}returnWhile(account, fromWhile);}//药品public void Drug(string account, string fromWhile){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");Console.WriteLine("当前剩余{0}粒药品", backpackStr[3]);//购买食品if (fromWhile == "buy"){Console.WriteLine("5金等于1粒药品 \n请输入购买药品数目:");int amount = new CreateID().InputDigit();if (float.Parse(attributeStr[6]) > amount)//判断背包空间{bool bo = new CreateID().IsAffirm();Console.WriteLine("是否确认购买{0}金{1}单位的粮食", amount * 5, amount);if (bo){backpackStr[0] = (float.Parse(backpackStr[0]) - amount * 5).ToString();//金钱backpackStr[3] = (float.Parse(backpackStr[3]) + amount).ToString();//人的背包--药品new CreateID().backpackRefresh(backpackStr, account);new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("购买成功!!!");}else{Console.WriteLine("退出购买!!!");}}else{Console.WriteLine("背包空间不足,退出购买!");}}//卖出食品if (fromWhile == "sell"){Console.WriteLine("1粒药品等于3金 \n请输入出售药品数目:");int amount = new CreateID().InputDigit();bool bo = new CreateID().IsAffirm();if (int.Parse(backpackStr[3]) > amount){Console.WriteLine("是否确认卖出{0}粒药品", amount);if (bo){backpackStr[0] = (float.Parse(backpackStr[0]) + amount * 3).ToString();//金钱backpackStr[3] = (float.Parse(backpackStr[3]) - amount).ToString();//人的背包--药品new CreateID().backpackRefresh(backpackStr, account);new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("购买成功!!!");}else{Console.WriteLine("退出卖出!!!");}}else{Console.WriteLine("药品不足,退出卖出");}}returnWhile(account, fromWhile);}//宠物食物public void petFood(string account, string fromWhile){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");Console.WriteLine("当前剩余{0}单位宠物粮食", backpackStr[3]);//购买食品if (fromWhile == "buy"){Console.WriteLine("1金等于120单位宠物粮食 \n请输入购买金额:");int amount = new CreateID().InputDigit();if (float.Parse(attributeStr[6]) > amount)//判断背包空间{bool bo = new CreateID().IsAffirm();Console.WriteLine("是否确认购买{0}金{1}单位的宠物粮食", amount, amount * 120);if (bo){backpackStr[0] = (float.Parse(backpackStr[0]) - amount).ToString();//金钱backpackStr[4] = (float.Parse(backpackStr[4]) + (amount * 120)).ToString();//人的背包--宠物食物new CreateID().backpackRefresh(backpackStr, account);new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("购买成功!!!");}else{Console.WriteLine("退出购买!!!");}}else{Console.WriteLine("背包空间不足,退出购买!");}}//卖出食品if (fromWhile == "sell"){Console.WriteLine("100单位粮食等于0.6金 \n请输入卖出数量:");int amount = new CreateID().InputDigit();bool bo = new CreateID().IsAffirm();if (int.Parse(backpackStr[4]) > amount){Console.WriteLine("是否确认卖出{0}单位宠物粮食", amount);if (bo){backpackStr[0] = (float.Parse(backpackStr[0]) + amount * 0.006f).ToString();//金钱backpackStr[4] = (float.Parse(backpackStr[4]) - amount).ToString();//人的背包--宠物食物new CreateID().backpackRefresh(backpackStr, account);new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("卖出成功!!!");}else{Console.WriteLine("退出卖出!!!");}}else{Console.WriteLine("事物不足,退出赠送");}}returnWhile(account, fromWhile);}//判断返回到哪里public void returnWhile(string account, string fromWhile){if (fromWhile == "buy"){Commodity(account, "buy");}if (fromWhile == "sell"){Commodity(account, "sell");}if (fromWhile == "give"){GiveInter(account);}}//赠送界面public void GiveInter(string account){Console.WriteLine("************************");Console.WriteLine("*  请选择购买商品种类  *");Console.WriteLine("*        1.赠送对象    *");Console.WriteLine("*        2.玩家背包    *");Console.WriteLine("*        3.返回        *");Console.WriteLine("************************");while (true){int n = new CreateID().InputDigit();switch (n){case 1: GivingFriend(account); break;case 2: accounterPacksack(account, "give"); break;case 3: ShopMap(account, 5, 7); break;default:Console.WriteLine("输入错误");break;}}}//赠送商品public void GiveCommodity(string account, string friendAccount){Console.WriteLine("************************");Console.WriteLine("*  请选择赠送商品种类  *");Console.WriteLine("*        1.食物        *");Console.WriteLine("*        2.药品        *");Console.WriteLine("*        3.宠物        *");Console.WriteLine("*        4.宠物食物    *");Console.WriteLine("*        5.退出        *");Console.WriteLine("************************");while (true){int n = new CreateID().InputDigit();switch (n){case 1: Console.Write("食物"); GivingThing(account, friendAccount, 2); break;case 2: Console.Write("药品"); GivingThing(account, friendAccount, 3); break;case 3: GivingPet(account, friendAccount); break;case 4: Console.Write("宠物食物"); GivingThing(account, friendAccount, 4); break;case 5: GiveInter(account); break;default:Console.WriteLine("输入错误");break;}}}//赠送宠物public void GivingPet(string account, string friendAccount){string[] accountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");string[] friendStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + friendAccount + @"\backpack.txt");string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");string petStr = "姓名性别等级经验攻击防御血量品种食量价格";int n = 0;Console.WriteLine("宠物信息:");Console.WriteLine("宠物1.");for (int i = 10; i < accountStr.Length; i++){Console.Write(petStr[n]);n++;Console.Write(petStr[n] + ":");n++;Console.WriteLine(accountStr[i]);if ((i + 1) % 10 == 0){n = 0;Console.WriteLine("-------------------");Console.WriteLine("宠物{0}: ", ((i + 1) / 10) - 1);}}Console.WriteLine("请输入赠送宠物序号");while (true){int num = new CreateID().InputDigit();if ((accountStr.Length / 10) > num){for (int i = 10; i <= friendStr.Length; i += 10){if (friendStr.Length != 10 && accountStr[10 * num] == friendStr[i]){Console.WriteLine("您的朋友已有该宠物,请重新");GiveCommodity(account, friendAccount);}if (friendStr.Length == 10 || i == friendStr.Length - 10){int tmp = num * 10;//好友背包刷新for (int m = 0; m < 10; m++){File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + friendAccount + @"\backpack.txt", "\n" + accountStr[tmp + m]);//在原有文本文件上增加}//玩家自己刷新背包for (int m = 0; m < tmp; m++){if (m == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt", accountStr[m]);//在原有文本文件替换}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt", "\n" + accountStr[m]);//在原有文本文件上增加}}for (int m = tmp + 10; m < accountStr.Length; m++){File.AppendAllText(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt", "\n" + accountStr[m]);//在原有文本文件上增加}new CreateID().attributeRefresh(attributeStr, account);//刷新玩家背包空间Console.WriteLine("赠送成功");GiveCommodity(account, friendAccount);}}}else{Console.WriteLine("请重新输入");}}}//赠送食品public void GivingThing(string account, string friendAccount, int _num){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");string[] friendStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + friendAccount + @"\backpack.txt");string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");Console.WriteLine("当前剩余量为{0}", backpackStr[_num]);Console.WriteLine("请输入赠送数量");int amount = new CreateID().InputDigit();if (int.Parse(backpackStr[_num]) >= amount){bool bo = new CreateID().IsAffirm();Console.WriteLine("是否确认赠送");if (bo){if (_num == 2){backpackStr[2] = (float.Parse(backpackStr[2]) - amount).ToString();//人的背包--食物}if (_num == 3){backpackStr[3] = (float.Parse(backpackStr[3]) - amount).ToString();//人的背包--药品}if (_num == 4){backpackStr[4] = (float.Parse(backpackStr[4]) - amount).ToString();//人的背包--食物}new CreateID().backpackRefresh(backpackStr, account);new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("赠送成功!!!");}else{Console.WriteLine("退出赠送!!!");}}else{Console.WriteLine("数量不足,请重新选择");}GiveCommodity(account, friendAccount);}//判断玩家是否存在public void GivingFriend(string account){List<string> list = new CreateID().PlayerFilename();//获取所有玩家账号           Console.WriteLine("请输入对方网名");string friendAccount = Console.ReadLine();for (int i = 0; i < list.Count; i++){string[] playerID = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + list[i] + @".txt");if (friendAccount == playerID[6]){GiveCommodity(account, list[i]);}if (list.Count == i - 1){Console.WriteLine("没有该玩家");GiveInter(account);}}}}//教学楼
public class TeachingBuild
{//生成教学楼地图public void TeachingBuildMap(string account){int a = 0;int b = 0;int[,] TeachingBuildStr = new int[,]{{1,1,1,1,1,1,1,1,1,1,1,1 },{1,2,2,2,2,0,0,2,2,2,2,1 },{1,9,2,9,2,0,0,2,9,2,9,1 },{1,2,2,2,2,0,0,2,2,2,2,1 },{1,9,2,9,2,0,0,2,9,2,9,1 },{1,2,2,2,0,0,0,0,2,2,2,1 },{1,2,2,2,2,0,0,2,2,2,2,1 },{1,0,0,0,0,0,0,0,0,0,3,0 },{1,2,2,2,2,0,0,2,2,2,2,1 },{1,2,2,2,0,0,0,0,2,2,2,1 },{1,9,2,9,2,0,0,2,9,2,9,1 },{1,2,2,2,2,0,0,2,2,2,2,1 },{1,9,2,9,2,0,0,2,9,2,9,1 },{1,2,2,2,2,0,0,2,2,2,2,1 },{1,1,1,1,1,1,1,1,1,1,1,1}};string phraseStr = "学堂耐久教室教室负重幸运教室教室";int n = 0;for (int i = 0; i < TeachingBuildStr.GetLength(0); i++){for (int j = 0; j < TeachingBuildStr.GetLength(1); j++){if (TeachingBuildStr[i, j] == 0){Console.Write("  ");}if (TeachingBuildStr[i, j] == 1){Console.Write("■");}if (TeachingBuildStr[i, j] == 2){Console.Write("※");}if (TeachingBuildStr[i, j] == 3){a = i;b = j;Console.Write("★");}if (TeachingBuildStr[i, j] == 9){Console.Write(phraseStr[n]);n++;}}Console.WriteLine();}TeachingBuildRemove(account, TeachingBuildStr, a, b);}//人物在教学楼移动public void TeachingBuildRemove(string account, int[,] TeachingBuildStr, int a, int b){string phraseStr = "学堂耐久教室教室负重幸运教室教室";//string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");int x = a;int y = b;while (true){new CreateID().Adequatefood(account);//判断玩家食物以及宠物食物是否充足//获取玩家属性string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");//玩家耐久力判断,一旦达到某个值就会自动休息new CreateID().DurabilityVerdict(attributeStr, account);bool bo = false;int rpgX = 0;//控制人物上下int rpgY = 0;//控制人物左右char ch = Console.ReadKey().KeyChar;#region 判断移动方向if (ch == 'w' || ch == 'W'){rpgX = -1;}if (ch == 's' || ch == 'S'){rpgX = 1;}if (ch == 'a' || ch == 'A'){rpgY = -1;}if (ch == 'd' || ch == 'D'){rpgY = 1;}#endregionif (x + rpgX >= TeachingBuildStr.GetLength(0) || y + rpgY >= TeachingBuildStr.GetLength(1)){continue;}else if (TeachingBuildStr[x + rpgX, y + rpgY] == 1 || TeachingBuildStr[x + rpgX, y + rpgY] == 2 || TeachingBuildStr[x + rpgX, y + rpgY] == 9){continue;}else{TeachingBuildStr[x + rpgX, y + rpgY] = 3;TeachingBuildStr[x, y] = 0;new School().SchoolMapRefresh(TeachingBuildStr, phraseStr);//TeachingBuildMapRefresh(TeachingBuildStr);Console.Clear();new School().SchoolMapRefresh(TeachingBuildStr, phraseStr);//TeachingBuildMapRefresh(TeachingBuildStr);if (x + rpgX == 7 && y + rpgY == 11){Console.WriteLine("退出教学楼");new School().SchoolMap(account);}if (x + rpgX == 5 && y + rpgY == 4){Console.WriteLine("进入学堂教室");Console.WriteLine("正在提高智力,请稍后");for (int i = 0; i < 4; i++){Thread.Sleep(800);Console.Write(">");}attributeStr[2] = (float.Parse(attributeStr[2]) + 4).ToString();attributeStr[3] = (float.Parse(attributeStr[3]) + 4).ToString();Console.WriteLine("提高完成!");}if (x + rpgX == 5 && y + rpgY == 7){Console.WriteLine("进入耐久教室");Console.WriteLine("正在提高耐久力,请稍后");for (int i = 0; i < 5; i++){Thread.Sleep(800);Console.Write(">");}attributeStr[4] = (float.Parse(attributeStr[4]) + 5).ToString();attributeStr[5] = (float.Parse(attributeStr[5]) + 5).ToString();Console.WriteLine("提高完成!");}if (x + rpgX == 9 && y + rpgY == 4){Console.WriteLine("进入负重教室");Console.WriteLine("正在提高负重,请稍后");for (int i = 0; i < 4; i++){Thread.Sleep(800);Console.Write(">");}attributeStr[6] = (float.Parse(attributeStr[6]) + 4).ToString();attributeStr[7] = (float.Parse(attributeStr[7]) + 4).ToString();Console.WriteLine("提高完成!");}if (x + rpgX == 9 && y + rpgY == 7){Console.WriteLine("进入魅力教室");Console.WriteLine("正在提高魅力,请稍后");for (int i = 0; i < 2; i++){Thread.Sleep(800);Console.Write(">");}attributeStr[8] = (float.Parse(attributeStr[8]) + 2).ToString();attributeStr[9] = (float.Parse(attributeStr[9]) + 2).ToString();Console.WriteLine("提高完成!");}bo = true;}if (bo == true){x += rpgX;y += rpgY;new CreateID().attributeRefresh(attributeStr, account);new CreateID().Consume(account);//减少玩家耐久以及食物}}}}//宿舍
public class Dormitory
{//宿舍地图public void DormitoryMap(string account, int a, int b){int[,] DormitoryMapStr = new int[,]{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },{1,9,9,9,2,9,9,9,2,0,2,9,9,9,2,9,9,9,1 },{1,2,0,2,2,2,0,2,2,0,2,2,0,2,2,2,0,2,1 },{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },{1,2,0,2,2,2,0,2,2,0,2,2,0,2,2,2,0,2,1 },{1,9,9,9,2,9,9,9,2,0,2,9,9,9,2,9,9,9,1 },{1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1 }};DormitoryMapStr[a, b] = 3;string DormitoryStr = "一号寝三号寝五号寝七号寝二号寝四号寝六号寝四号寝";int n = 0;for (int i = 0; i < DormitoryMapStr.GetLength(0); i++){for (int j = 0; j < DormitoryMapStr.GetLength(1); j++){if (DormitoryMapStr[i, j] == 0){Console.Write("  ");}if (DormitoryMapStr[i, j] == 1){Console.Write("■");}if (DormitoryMapStr[i, j] == 2){Console.Write("※");}if (DormitoryMapStr[i, j] == 3){Console.Write("★");}if (DormitoryMapStr[i, j] == 9){Console.Write(DormitoryStr[n]);n++;}}Console.WriteLine();}BedNo(account);DormitoryRpgRemove(account, DormitoryMapStr, a, b);}//女生宿舍public void DormitoryWomanMap(string account, int a, int b){int[,] DormitoryMapStr = new int[,]{{1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1 },{1,9,9,9,2,9,9,9,2,0,2,9,9,9,2,9,9,9,1 },{1,2,0,2,2,2,0,2,2,0,2,2,0,2,2,2,0,2,1 },{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },{1,2,0,2,2,2,0,2,2,0,2,2,0,2,2,2,0,2,1 },{1,9,9,9,2,9,9,9,2,0,2,9,9,9,2,9,9,9,1 },{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 }};DormitoryMapStr[a, b] = 3;string DormitoryStr = "一号寝三号寝五号寝七号寝二号寝四号寝六号寝四号寝";int n = 0;for (int i = 0; i < DormitoryMapStr.GetLength(0); i++){for (int j = 0; j < DormitoryMapStr.GetLength(1); j++){if (DormitoryMapStr[i, j] == 0){Console.Write("  ");}if (DormitoryMapStr[i, j] == 1){Console.Write("■");}if (DormitoryMapStr[i, j] == 2){Console.Write("※");}if (DormitoryMapStr[i, j] == 3){Console.Write("★");}if (DormitoryMapStr[i, j] == 9){Console.Write(DormitoryStr[n]);n++;}}Console.WriteLine();}BedNo(account);DormitoryRpgRemove(account, DormitoryMapStr, a, b);}//人物在宿舍移动public void DormitoryRpgRemove(string account, int[,] DormitoryMapStr, int a, int b){string DormitoryStr = "一号寝三号寝五号寝七号寝二号寝四号寝六号寝四号寝";//string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");int x = a;int y = b;while (true){new CreateID().Adequatefood(account);//判断玩家食物以及宠物食物是否充足//获取玩家属性string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");//玩家耐久力判断,一旦达到某个值就会自动休息new CreateID().DurabilityVerdict(attributeStr, account);bool bo = false;int rpgX = 0;//控制人物上下int rpgY = 0;//控制人物左右char ch = Console.ReadKey().KeyChar;#region 判断移动方向if (ch == 'w' || ch == 'W'){rpgX = -1;}if (ch == 's' || ch == 'S'){rpgX = 1;}if (ch == 'a' || ch == 'A'){rpgY = -1;}if (ch == 'd' || ch == 'D'){rpgY = 1;}#endregionif (x + rpgX >= DormitoryMapStr.GetLength(0) || y + rpgY >= DormitoryMapStr.GetLength(1)){continue;}if (x + rpgX < 0 || x + rpgX >= DormitoryMapStr.Length){continue;}else if (DormitoryMapStr[x + rpgX, y + rpgY] == 1 || DormitoryMapStr[x + rpgX, y + rpgY] == 2 || DormitoryMapStr[x + rpgX, y + rpgY] == 9){continue;}else{DormitoryMapStr[x + rpgX, y + rpgY] = 3;DormitoryMapStr[x, y] = 0;new School().SchoolMapRefresh(DormitoryMapStr, DormitoryStr);//DormitoryMapRefresh(DormitoryMapStr);Console.Clear();new School().SchoolMapRefresh(DormitoryMapStr, DormitoryStr);//DormitoryMapRefresh(DormitoryMapStr);if ((x + rpgX == 6 && y + rpgY == 9) || (x + rpgX == 0 && y + rpgY == 9)){Console.WriteLine("退出宿舍");new School().SchoolMap(account);}if (x + rpgX == 2 && y + rpgY == 2){Console.WriteLine("进入宿舍房间");new DormitoryRoom().DormitoryRoomMap(account, 8, 3);}bo = true;}if (bo == true){x += rpgX;y += rpgY;//刷新玩家属性attributeStr[4] = (float.Parse(attributeStr[4]) - 1).ToString();new CreateID().attributeRefresh(attributeStr, account);new CreateID().Consume(account);//减少玩家耐久以及食物}}}//宿舍坐标以及成员更新public void DormitoryVection2Refresh(string account, string[] DormitoryStr){string[] accountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");string HowSex = "";if (accountStr[2] == "男"){HowSex = "DormitoryMan";}if (accountStr[2] == "女"){HowSex = "DormitoryWoman";}for (int i = 0; i < DormitoryStr.Length; i++){if (i == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\SystemMessage\" + HowSex + @"\Vection2.txt", DormitoryStr[i]);//在原有文本文件替换}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\" + HowSex + @"\Vection2.txt", "\n" + DormitoryStr[i]);//在原有文本文件上替换}}}//判断床铺号public void BedNo(string account){bool bo = false;int n = 0;string[] accountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");string HowSex = "";if (accountStr[2] == "男"){HowSex = "DormitoryMan";}if (accountStr[2] == "女"){HowSex = "DormitoryWoman";}//获取宿舍情况string[] DormitoryStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\" + HowSex + @"\Vection2.txt");//获取玩家网名string[] PlayerStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");for (int i = 0; i < DormitoryStr.Length; i += 10){for (int j = i + 3; j < i + 7; j++){if (DormitoryStr[j] == PlayerStr[6]){Console.WriteLine("{0}同学的宿舍位置是{1}号寝{2}号铺", PlayerStr[6], DormitoryStr[i + 9], n + 1);bo = true;break;}n++;}if (bo == true){break;}}}}//宿舍房间
public class DormitoryRoom
{//宿舍地图public void DormitoryRoomMap(string account, int a, int b){//获取宿舍情况string[] DormitoryStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\DormitoryMan\Vection2.txt");int[,] DormitoryRoomStr = new int[,]{{1,1,1,1,1,1,1},{1,9,2,0,2,9,1},{1,9,0,0,0,9,1},{1,9,2,0,2,9,1},{1,2,2,0,2,2,1},{1,9,2,0,2,9,1},{1,9,0,0,0,9,1},{1,9,2,0,2,9,1},{1,1,1,0,1,1,1}};DormitoryRoomStr[a, b] = 3;string RoomStr = "一二号号铺铺三四号号铺铺";int n = 0;for (int i = 0; i < DormitoryRoomStr.GetLength(0); i++){for (int j = 0; j < DormitoryRoomStr.GetLength(1); j++){if (DormitoryRoomStr[i, j] == 0){Console.Write("  ");}if (DormitoryRoomStr[i, j] == 1){Console.Write("■");}if (DormitoryRoomStr[i, j] == 2){Console.Write("※");}if (DormitoryRoomStr[i, j] == 3){Console.Write("★");}if (DormitoryRoomStr[i, j] == 9){Console.Write(RoomStr[n]);n++;}}Console.WriteLine();}DormitoryRoomRemove(account, DormitoryRoomStr, a, b);}//在宿舍房间里移动public void DormitoryRoomRemove(string account, int[,] DormitoryRoomStr, int a, int b){string RoomStr = "一二号号铺铺三四号号铺铺";string[] AccountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");int x = a;int y = b;while (true){new CreateID().Adequatefood(account);//判断玩家食物以及宠物食物是否充足//获取玩家属性string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");//玩家耐久力判断,一旦达到某个值就会自动休息new CreateID().DurabilityVerdict(attributeStr, account);bool bo = false;int rpgX = 0;//控制人物上下int rpgY = 0;//控制人物左右char ch = Console.ReadKey().KeyChar;#region 判断移动方向if (ch == 'w' || ch == 'W'){rpgX = -1;}if (ch == 's' || ch == 'S'){rpgX = 1;}if (ch == 'a' || ch == 'A'){rpgY = -1;}if (ch == 'd' || ch == 'D'){rpgY = 1;}#endregionif (x + rpgX >= DormitoryRoomStr.GetLength(0) || y + rpgY >= DormitoryRoomStr.GetLength(1)){continue;}if (DormitoryRoomStr[x + rpgX, y + rpgY] == 1 || DormitoryRoomStr[x + rpgX, y + rpgY] == 2 || DormitoryRoomStr[x + rpgX, y + rpgY] == 9){continue;}else{DormitoryRoomStr[x + rpgX, y + rpgY] = 3;DormitoryRoomStr[x, y] = 0;new School().SchoolMapRefresh(DormitoryRoomStr, RoomStr);//DormitoryMapRefresh(DormitoryMapStr);Console.Clear();new School().SchoolMapRefresh(DormitoryRoomStr, RoomStr);//DormitoryMapRefresh(DormitoryMapStr);bool bo1 = false;int n = 0;string[] accountStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");string HowSex = "";if (accountStr[2] == "男"){HowSex = "DormitoryMan";}if (accountStr[2] == "女"){HowSex = "DormitoryWoman";}//获取宿舍情况string[] DormitoryStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\" + HowSex + @"\Vection2.txt");//获取玩家网名string[] PlayerStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerData\" + account + ".txt");if (x + rpgX == 8 && y + rpgY == 3){for (int i = 0; i < DormitoryStr.Length; i += 10){for (int j = i + 3; j < i + 7; j++){if (DormitoryStr[j] == PlayerStr[6]){if (accountStr[2] == "男"){new Dormitory().DormitoryMap(account, int.Parse(DormitoryStr[0]), int.Parse(DormitoryStr[1]));}if (accountStr[2] == "女"){new Dormitory().DormitoryWomanMap(account, int.Parse(DormitoryStr[0]), int.Parse(DormitoryStr[1]));}break;}}}}int bedWhile = 0;bool bolBed = false;for (int i = 0; i < DormitoryStr.Length; i += 10){int numBed = 0;for (int j = i + 3; j < i + 7; j++){numBed++;if (DormitoryStr[j] == PlayerStr[6]){bedWhile = numBed;bolBed = true;break;}}if (bolBed == true){break;}}if (bedWhile == 1 && x + rpgX == 2 && y + rpgY == 2){RoomChange(account, x + rpgX, y + rpgY);}if (bedWhile == 2 && x + rpgX == 2 && y + rpgY == 4){RoomChange(account, x + rpgX, y + rpgY);}if (bedWhile == 3 && x + rpgX == 6 && y + rpgY == 2){RoomChange(account, x + rpgX, y + rpgY);}if (bedWhile == 4 && x + rpgX == 6 && y + rpgY == 4){RoomChange(account, x + rpgX, y + rpgY);}bo = true;}if (bo == true){x += rpgX;y += rpgY;new CreateID().attributeRefresh(attributeStr, account);new CreateID().Consume(account);//减少玩家耐久以及食物}}}//进入床铺后选项public void RoomChange(string account, int a, int b){Console.WriteLine("****************");Console.WriteLine("*  请选择操作  *");Console.WriteLine("*   1.休息     *");Console.WriteLine("*   2.贪吃蛇   *");Console.WriteLine("*   3.推箱子   *");Console.WriteLine("*   4.玩家属性 *");Console.WriteLine("*   5.退出     *");Console.WriteLine("****************");while (true){int n = new CreateID().InputDigit();switch (n){case 1: RecoverEndurance(account, a, b); break;case 2: new SnakeCoordinate().Inter(account, a, b); break;case 3: new Sokoban().Inter(account, a, b); break;case 4: new CreateID().AllInformation(account, a, b); break;case 5: DormitoryRoomMap(account, a, b); break;default:Console.WriteLine("输入错误");break;}}}//恢复耐力public void RecoverEndurance(string account, int a, int b){string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");attributeStr[4] = attributeStr[5];new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("休息中:");for (int i = 0; i < 10; i++){Thread.Sleep(800);Console.Write(">");}Console.WriteLine();Console.WriteLine("休息一下真好!!!");RoomChange(account, a, b);}}//冒险岛
public class Adventure
{//冒险岛地图public void AdventureMap(string account, int a, int b){int[,] AdventureMapStr = new int[,]{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },{1,2,0,1,0,0,0,0,0,0,0,0,0,0,0,2,1 },{1,1,0,1,0,1,0,1,1,0,1,1,1,1,1,1,1 },{1,2,0,0,0,1,0,0,1,0,1,2,1,0,0,2,1 },{1,1,1,1,1,1,1,0,1,0,1,0,1,0,1,1,1 },{1,2,0,0,0,0,0,0,1,0,0,0,0,0,1,2,1 },{1,1,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1 },{1,0,0,0,0,0,0,2,1,2,1,2,0,0,1,0,1 },{1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1 },{1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 },{1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1 }};AdventureMapStr[a, b] = 3;for (int i = 0; i < AdventureMapStr.GetLength(0); i++){for (int j = 0; j < AdventureMapStr.GetLength(1); j++){if (AdventureMapStr[i, j] == 0){Console.Write("  ");}if (AdventureMapStr[i, j] == 1){Console.Write("■");}if (AdventureMapStr[i, j] == 2){Console.Write("※");}if (AdventureMapStr[i, j] == 3){Console.Write("★");}}Console.WriteLine();}AdventureRemove(account, AdventureMapStr, a, b);}//人物移动public void AdventureRemove(string account, int[,] AdventureMapStr, int a, int b){string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");//获取玩家属性里面的幸运值int LickValue = int.Parse(attributeStr[8]) / 20;int x = a;int y = b;while (true){new CreateID().Adequatefood(account);//判断玩家食物以及宠物食物是否充足//玩家耐久力判断,一旦达到某个值就会自动休息new CreateID().DurabilityVerdict(attributeStr, account);bool boBad1 = false;bool boBad2 = false;for (int i = 0; i < AdventureMapStr.GetLength(0); i++){for (int j = 0; j < AdventureMapStr.GetLength(1); j++){if (AdventureMapStr[i, j] == 4){boBad1 = true;boBad2 = true;break;}if (i == AdventureMapStr.GetLength(0) - 1 && j == AdventureMapStr.GetLength(1) - 1){boBad1 = false;boBad2 = true;break;}}if (boBad2 == true){break;}}if (boBad1 == false){Vection2 GiftBad = RandomGiftBad(AdventureMapStr);//随机生成礼包AdventureMapStr[GiftBad.x, GiftBad.y] = 4;}没运动一次刷新玩家背包//string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");玩家属性//string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");玩家耐久力判断,一旦达到某个值就会自动休息//new CreateID().DurabilityVerdict(attributeStr, account);等级判断//new CreateID().HierarchyVerdict(attributeStr, account);bool bo = false;int rpgX = 0;//控制人物上下int rpgY = 0;//控制人物左右char ch = Console.ReadKey().KeyChar;#region 判断移动方向if (ch == 'w' || ch == 'W'){rpgX = -1;}if (ch == 's' || ch == 'S'){rpgX = 1;}if (ch == 'a' || ch == 'A'){rpgY = -1;}if (ch == 'd' || ch == 'D'){rpgY = 1;}#endregionif (AdventureMapStr[x + rpgX, y + rpgY] == 1){continue;}else{if (x + rpgX == 10 && y + rpgY == 8 || x + rpgX == 10 && y + rpgY == 10){Console.WriteLine("冒险返回");new School().SchoolMap(account);}//遇到宝物bool boGift = false;if (AdventureMapStr[x + rpgX, y + rpgY] == 4){boGift = true;}AdventureMapStr[x + rpgX, y + rpgY] = 3;AdventureMapStr[x, y] = 0;new School().SchoolMapRefresh(AdventureMapStr, "  ");Console.Clear();new School().SchoolMapRefresh(AdventureMapStr, "  ");if (boGift){string[] TreasureStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\LuckyValue.txt");Console.WriteLine("遇到宝物");Random LickRdom = new Random();GetTreasure(account, (LickRdom.Next(LickValue, TreasureStr.Length + 1)) / 2);}if (x + rpgX == 2 && y + rpgY == 9){Console.WriteLine("怪物等级偏高,请慎入!!!");}if (x + rpgX == 8 && y + rpgY == 15){Console.WriteLine("即将遇到最终大boos");}Random radMonster = new Random();//怪物1                            //怪物2                         //怪物3                            //怪物4                            //怪物5                                if (x + rpgX == 7 && y + rpgY == 7 || x + rpgX == 5 && y + rpgY == 1 || x + rpgX == 1 && y + rpgY == 1 || x + rpgX == 3 && y + rpgY == 1 || x + rpgX == 7 && y + rpgY == 7){Console.WriteLine("遭遇怪物");EncounterMonster(account, radMonster.Next(1, 6), x + rpgX, y + rpgY, rpgX, rpgY);}//怪物6--9if (x + rpgX == 1 && y + rpgY == 15 || x + rpgX == 3 && y + rpgY == 11 || x + rpgX == 3 && y + rpgY == 15 || x + rpgX == 7 && y + rpgY == 11){Console.WriteLine("遭遇怪物");EncounterMonster(account, radMonster.Next(6, 10), x + rpgX, y + rpgY, rpgX, rpgY);}//怪物10if (x + rpgX == 5 && y + rpgY == 15){Console.WriteLine("遭遇怪物");EncounterMonster(account, 10, x + rpgX, y + rpgY, rpgX, rpgY);}bo = true;}if (bo == true){x += rpgX;y += rpgY;new CreateID().Consume(account);//减少玩家耐久以及食物}}}//遭遇怪物public void EncounterMonster(string account, int MonNum, int x, int y, int RpgX, int RpgY){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");Console.WriteLine("是否战斗");bool bo = new CreateID().IsAffirm();if (bo){PetList(account);Console.WriteLine("请选择出战宠物,输入序号:");while (true){int n = new CreateID().InputDigit();if (n < (backpackStr.Length / 10) && n > 0){Random rd = new Random();int num = rd.Next(1, 3);//backpackStr[i+0],backpackStr[i + 2],backpackStr[i + 3],backpackStr[i + 4],backpackStr[i + 5]File.WriteAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\PlayerPet.txt", backpackStr[n * 10 + 0]);File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\PlayerPet.txt", "\n" + backpackStr[n * 10 + 2]);File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\PlayerPet.txt", "\n" + backpackStr[n * 10 + 4]);File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\PlayerPet.txt", "\n" + backpackStr[n * 10 + 5]);File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\PlayerPet.txt", "\n" + backpackStr[n * 10 + 6]);string[] MonsterStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\Monster.txt");for (int i = 0; i < 5; i++){if (i == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\HitOut.txt", MonsterStr[(MonNum - 1) * 5 + i]);}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\HitOut.txt", "\n" + MonsterStr[(MonNum - 1) * 5 + i]);}}Autofight(account, n, x, y);//自动战斗}else{Console.WriteLine("输入错误,请重新输入");}}}else{AdventureMap(account, x - RpgX, y - RpgY);}}//自动战斗public void Autofight(string account, int n, int x, int y){while (true){string[] playerPetStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\PlayerPet.txt");string[] enemyStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\HitOut.txt");string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");//获取玩家属性里面的幸运值if (float.Parse(playerPetStr[4]) <= 0){Console.WriteLine("宠物死亡,任务失败");Quit(account, n, x, y);}if (float.Parse(enemyStr[4]) <= 0){Console.WriteLine("宠物胜利,过关");PetWin(account, n, x, y);}Thread.Sleep(500);//玩家宠物攻击Console.WriteLine("我方宠物开始攻击-->");Random pet = new Random();int petNum = pet.Next(2, 6);if (petNum >= 4){Console.WriteLine("怪物轻飘飘闪避我方宠物攻击!");}else{if (petNum == 2){Console.WriteLine("怪物竟然反击也发起攻击");if (float.Parse(playerPetStr[2]) > float.Parse(enemyStr[2])){Console.WriteLine("我方宠物攻击力大于怪物攻击力,怪物受到{0}点伤害", (float.Parse(playerPetStr[2]) - float.Parse(enemyStr[2])));enemyStr[4] = (float.Parse(enemyStr[4]) - float.Parse(playerPetStr[2]) + float.Parse(enemyStr[2])).ToString();}else{Console.WriteLine("怪物宠物反击见效,我方宠物受到{0}点伤害", (float.Parse(enemyStr[2]) - float.Parse(playerPetStr[2])));playerPetStr[4] = (float.Parse(playerPetStr[4]) - float.Parse(enemyStr[2]) + float.Parse(playerPetStr[2])).ToString();}}if (petNum == 3){Console.WriteLine("怪物进行防御>>>");if (float.Parse(playerPetStr[2]) > float.Parse(enemyStr[3])){Console.WriteLine("我方宠物攻破怪物防御,怪物受到{0}点伤害", (float.Parse(playerPetStr[2]) - float.Parse(enemyStr[3])));enemyStr[4] = (float.Parse(enemyStr[4]) - float.Parse(playerPetStr[2]) + float.Parse(enemyStr[3])).ToString();}else{Console.WriteLine("怪物皮糙肉厚,我方宠物未攻破怪物防御!!!(*_*)");}}}Thread.Sleep(500);//怪物攻击Console.WriteLine("怪物发动攻击-->");int NumStr = int.Parse(attributeStr[2]) / 50;//智力值来让玩家宠物躲避攻击Random enemy = new Random();int enenyNum = enemy.Next(2, 5 + NumStr);if (enenyNum >= 4){Console.WriteLine("我方宠物麻溜地躲避了攻击!!!");}else{if (enenyNum == 2){Console.WriteLine("再怪物发动攻击之际,我方宠物奋起反击,也发动攻击-->");if (float.Parse(enemyStr[2]) > float.Parse(playerPetStr[2])){Console.WriteLine("我方宠物反击无效,受到了{0}点伤害", (float.Parse(enemyStr[2]) - float.Parse(playerPetStr[2])));playerPetStr[4] = (float.Parse(playerPetStr[4]) - float.Parse(enemyStr[2]) + float.Parse(playerPetStr[2])).ToString();}else{Console.WriteLine("我方宠物反击有见效,使得怪物受到{0}点伤害", (float.Parse(playerPetStr[2]) - float.Parse(enemyStr[2])));enemyStr[4] = (float.Parse(enemyStr[4]) - float.Parse(playerPetStr[2]) + float.Parse(enemyStr[2])).ToString();}}if (enenyNum == 3){Console.WriteLine("我方宠物进行防御抗揍>>>");if (float.Parse(enemyStr[2]) > float.Parse(playerPetStr[3])){Console.WriteLine("皮薄防御未见成效,受到了{0}点伤害", (float.Parse(enemyStr[2]) - float.Parse(playerPetStr[3])));playerPetStr[4] = (float.Parse(playerPetStr[4]) - float.Parse(enemyStr[2]) + float.Parse(playerPetStr[3])).ToString();}else{Console.WriteLine("我方宠物拼命护住脸,保住了脸面,未受到伤害!!!(^_^)");}}}Console.WriteLine("按F键加血,按T撤退");Thread.Sleep(1000);Console.WriteLine(">");if (Console.KeyAvailable){ConsoleKeyInfo info = Console.ReadKey(true);if (info.Key == ConsoleKey.F){playerPetStr[4] = (float.Parse(playerPetStr[4]) + 50).ToString();backpackStr[3] = (int.Parse(backpackStr[3]) - 1).ToString(); ;new CreateID().backpackRefresh(backpackStr, account);}if (info.Key == ConsoleKey.T){Console.WriteLine("战略撤退!!!");AdventureMap(account, x, y);}}Refresh(playerPetStr, "PlayerPet");Refresh(enemyStr, "HitOut");}}//宠物列表public void PetList(string account){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");int n = 0;for (int i = 10; i < backpackStr.Length; i += 10){n++;Console.WriteLine("{0}: 姓名:{1}  等级:{2}  攻击:{3}  防御:{4}  血量:{5}", n, backpackStr[i + 0], backpackStr[i + 2], backpackStr[i + 4], backpackStr[i + 5], backpackStr[i + 6]);}}//怪物信息刷新public void Refresh(string[] _str, string _name){for (int i = 0; i < _str.Length; i++){if (i == 0){File.WriteAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\" + _name + ".txt", _str[i]);}else{File.AppendAllText(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\" + _name + ".txt", "\n" + _str[i]);}}Console.WriteLine("姓名:{0}  等级:{1}  攻击:{2}  防御:{3}  血量:{4}", _str[0], _str[1], _str[2], _str[3], _str[4]);}//失败public void Quit(string account, int n, int x, int y){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");Console.WriteLine("宠物死亡,是否复活宠物,需要{0}金", (int.Parse(backpackStr[n * 10 + 9]) * 6 / 10));bool bo = new CreateID().IsAffirm();if (bo && int.Parse(backpackStr[0]) > (int.Parse(backpackStr[n * 10 + 9]) * 6 / 10)){backpackStr[0] = (int.Parse(backpackStr[0]) - (int.Parse(backpackStr[n * 10 + 9]) * 6 / 10)).ToString(); ;Console.WriteLine("{0}已经被复活", backpackStr[n * 10]);}else{if (int.Parse(backpackStr[0]) < (int.Parse(backpackStr[n * 10 + 9]) * 6 / 10)){Console.WriteLine("金钱不足,宠物死亡");}Console.WriteLine("{0}死亡", backpackStr[n * 10]);string[] backpack = new string[backpackStr.Length - 10];for (int i = 0; i < n * 10; i++){backpack[i] = backpackStr[i];}for (int i = n * 10 + 10; i < backpackStr.Length; i++){backpack[i - 10] = backpackStr[i];}new CreateID().PetVerdict(backpack, account);//刷新等级以及背包}AdventureMap(account, x, y);//Thread.Sleep(2000);//Environment.Exit(0);}//宠物胜利public void PetWin(string account, int n, int x, int y){string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");string[] enemyStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\HitOut.txt");Console.WriteLine("获得金币:{0}金,药丸:{1}粒", enemyStr[3], enemyStr[1]);backpackStr[0] = (float.Parse(backpackStr[0]) + float.Parse(enemyStr[3])).ToString(); //怪物的防御作为金币backpackStr[3] = (int.Parse(backpackStr[3]) + int.Parse(enemyStr[1])).ToString(); ;//怪物等级作为药丸量backpackStr[n * 10 + 3] = (int.Parse(backpackStr[n * 10 + 3]) + int.Parse(enemyStr[2])).ToString(); ;//怪物的攻击作经验值new CreateID().PetVerdict(backpackStr, account);//等级判断并且刷新背包new CreateID().attributeRefresh(attributeStr, account);AdventureMap(account, x, y);}//随机宝物public Vection2 RandomGiftBad(int[,] AdventureMapStr){while (true){Random rd = new Random();int x = rd.Next(0, AdventureMapStr.GetLength(0));int y = rd.Next(0, AdventureMapStr.GetLength(1));if (AdventureMapStr[x, y] == 1 || AdventureMapStr[x, y] == 3 || AdventureMapStr[x, y] == 2 || (x == 10 && y == 8) || (x == 10 && y == 10)){continue;}else{return new Vection2() { x = x, y = y };}}}//获得宝物public void GetTreasure(string account, int lickNum){string[] TreasureStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\SystemMessage\Adventure\LuckyValue.txt");string[] backpackStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\backpack.txt");Console.WriteLine("获得宝物:\n{0}粒药丸\n{1}金", TreasureStr[lickNum * 2 - 1], TreasureStr[lickNum * 2]);backpackStr[0] = (float.Parse(backpackStr[0]) + float.Parse(TreasureStr[lickNum * 2])).ToString();backpackStr[3] = (float.Parse(backpackStr[3]) + float.Parse(TreasureStr[lickNum * 2 - 1])).ToString();new CreateID().backpackRefresh(backpackStr, account);}
}//游戏
//
//贪吃蛇游戏
public class SnakeCoordinate
{public int x;public int y;public SnakeCoordinate(){}//贪吃蛇首界面public void Inter(string account, int a, int b){Console.WriteLine("**************");Console.WriteLine("*   请选择   *");Console.WriteLine("* 1.开始游戏 *");Console.WriteLine("* 2.退出     *");Console.WriteLine("**************");for (int i = 0; true; i++){string str = Console.ReadLine();int n = 0;if (int.TryParse(str, out n)){switch (n){case 1: Remove(account, a, b); break;case 2: Quit(account, a, b); break;default:Console.WriteLine("输入不正确,请重新输入");break;}}else{Console.WriteLine("输入不正确,请重新输入");}}}//游戏失败后选择public void RemoveAgain(string account, int a, int b){Console.WriteLine("**************");Console.WriteLine("*   请选择   *");Console.WriteLine("* 1.重新开始 *");Console.WriteLine("* 2.退出     *");Console.WriteLine("**************");for (int i = 0; true; i++){string str = Console.ReadLine();int n = 0;if (int.TryParse(str, out n)){switch (n){case 1: Remove(account, a, b); break;case 2: new DormitoryRoom().RoomChange(account, a, b); break;default:Console.WriteLine("输入不正确,请重新输入");break;}}else{Console.WriteLine("输入不正确,请重新输入");}}}//退出public void Quit(string account, int a, int b){Console.WriteLine("游戏失败!自动返回宿舍房间");new DormitoryRoom().RoomChange(account, a, b);//Environment.Exit(0);}//游戏通关public void GameVictory(string account, int a, int b){string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");attributeStr[4] = (float.Parse(attributeStr[4]) + 10).ToString();attributeStr[5] = (float.Parse(attributeStr[5]) + 10).ToString();new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("游戏通关,耐久力加10!自动返回宿舍房间");new DormitoryRoom().RoomChange(account, a, b);}//刷新界面public void Labyrinth(int[,] num, List<SnakeCoordinate> list){for (int i = 0; i < num.GetLength(0); i++){for (int j = 0; j < num.GetLength(1); j++){if (num[i, j] == 1){Console.Write("■");}if (num[i, j] == 0){Console.Write("  ");}if (num[i, j] == 3){Console.Write("◆");}if (i == list[list.Count - 1].x && j == list[list.Count - 1].y){Console.Write("♀");}else if (num[i, j] == 2){Console.Write("●");}}Console.WriteLine();}}//随机生成方块public SnakeCoordinate RandeDiamonds(int[,] num, List<SnakeCoordinate> list){Random tmp = new Random();Random tmps = new Random();bool bo = false;int tmp1 = 0;int tmp2 = 0;while (true){tmp1 = tmp.Next(0, num.GetLength(0));tmp2 = tmps.Next(0, num.GetLength(1));if (num[tmp1, tmp2] == 1){continue;}else{for (int k = 0; k < list.Count; k++){if (list[k].x == tmp1 && list[k].y == tmp2){break;}if (k == list.Count - 1){return new SnakeCoordinate() { x = tmp1, y = tmp2 };bo = true;}}}if (bo == true){break;}}return new SnakeCoordinate() { x = tmp1, y = tmp2 };}//是否包含方块public bool IsContains(int[,] num){for (int i = 0; i < num.GetLength(0); i++){for (int j = 0; j < num.GetLength(1); j++){if (num[i, j] == 3){return false;break;}if (i == num.GetLength(0) - 1 && j == num.GetLength(1) - 1){return true;break;}}}return true;}//是否包含蛇自己public bool IsIsContainsSelf(List<SnakeCoordinate> list, SnakeCoordinate snake){for (int i = 0; i < list.Count; i++){if (list[i].x == snake.x && list[i].y == snake.y){return false;}if (i == list.Count - 1){return true;}}return true;}//是否包含墙壁public bool ISContainsCube(int[,] num, SnakeCoordinate snake){if (num[snake.x, snake.y] == 1){return false;}else{return true;}}//移动public void Remove(string account, int x, int y){List<SnakeCoordinate> list = new List<SnakeCoordinate>();int a = 0;int b = 0;bool bo;int[,] num = new int[,]{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },{1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1 },{1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1 },{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 }};for (int i = 0; i < num.GetLength(0); i++){for (int j = 0; j < num.GetLength(1); j++){if (num[i, j] == 1){Console.Write("■");}if (num[i, j] == 0){Console.Write("  ");}if (num[i, j] == 2){list.Add(new SnakeCoordinate() { x = i, y = j });a = i;b = j;Console.Write("♀");}if (num[i, j] == 3){Console.Write("◆");}}Console.WriteLine();}while (true){if (list.Count == 10){Console.WriteLine("game over,player victory");GameVictory(account, x, y);}bo = false;if (new SnakeCoordinate().IsContains(num)){//SnakeCoordinate sna = new SnakeCoordinate().RandeDiamonds(num, list);num[new SnakeCoordinate().RandeDiamonds(num, list).x, new SnakeCoordinate().RandeDiamonds(num, list).y] = 3;}int aa = 0;int bb = 0;Console.WriteLine("按英文格式下w,s,a,d控制♀移动吃掉◆!");Console.WriteLine("    现在:{0}分", list.Count - 1);char str = Console.ReadKey().KeyChar;Console.WriteLine();if (str == 'w'){aa = -1;}if (str == 's'){aa = 1;}if (str == 'a'){bb = -1;}if (str == 'd'){bb = 1;}if (num[a + aa, b + bb] == 1){Console.WriteLine("game over,player death");RemoveAgain(account, x, y);break;}else{if (num[a + aa, b + bb] == 3){list.Add(new SnakeCoordinate() { x = a + aa, y = b + bb });num[a + aa, b + bb] = 2;new SnakeCoordinate().Labyrinth(num, list);Console.Clear();new SnakeCoordinate().Labyrinth(num, list);bo = true;}else{if (new SnakeCoordinate().IsIsContainsSelf(list, new SnakeCoordinate() { x = a + aa, y = b + bb }) == true){list.Add(new SnakeCoordinate() { x = a + aa, y = b + bb });num[a + aa, b + bb] = 2;SnakeCoordinate snake = list[0];num[snake.x, snake.y] = 0;list.RemoveAt(0);new SnakeCoordinate().Labyrinth(num, list);Console.Clear();new SnakeCoordinate().Labyrinth(num, list);bo = true;}else{Console.WriteLine("game over,player death");RemoveAgain(account, x, y);break;}}if (bo == true){a += aa;b += bb;}}}}
}//推箱子游戏
public class Sokoban
{public int x;public int y;//贪吃蛇首界面public void Inter(string account, int x, int y){Console.WriteLine("**************");Console.WriteLine("*   请选择   *");Console.WriteLine("* 1.开始游戏 *");Console.WriteLine("* 2.退出     *");Console.WriteLine("**************");for (int i = 0; true; i++){string str = Console.ReadLine();int n = 0;if (int.TryParse(str, out n)){switch (n){case 1: SokobanMap(account, x, y); break;case 2: Quit(account, x, y); break;default:Console.WriteLine("输入不正确,请重新输入");break;}}else{Console.WriteLine("输入不正确,请重新输入");}}}//游戏失败后选择public void RemoveAgain(string account, int x, int y){Console.WriteLine("**************");Console.WriteLine("*   请选择   *");Console.WriteLine("* 1.重新开始 *");Console.WriteLine("* 2.退出     *");Console.WriteLine("**************");for (int i = 0; true; i++){string str = Console.ReadLine();int n = 0;if (int.TryParse(str, out n)){switch (n){case 1: SokobanMap(account, x, y); break;case 2: new DormitoryRoom().RoomChange(account, x, y); break;default:Console.WriteLine("输入不正确,请重新输入");break;}}else{Console.WriteLine("输入不正确,请重新输入");}}}//退出public void Quit(string account, int x, int y){Console.WriteLine("游戏失败!自动返回宿舍房间");new DormitoryRoom().RoomChange(account, x, y);//Environment.Exit(0);}//游戏通关public void GameVictory(string account, int a, int b){string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");attributeStr[6] = (float.Parse(attributeStr[6]) + 6).ToString();attributeStr[7] = (float.Parse(attributeStr[7]) + 6).ToString();new CreateID().attributeRefresh(attributeStr, account);Console.WriteLine("游戏通关,负重加6!自动返回宿舍房间");new DormitoryRoom().RoomChange(account, a, b);}//推箱子地图public void SokobanMap(string account, int x, int y){int a = 0;int b = 0;int[,] num = new int[10, 10]//制作地图{{1,1,1,1,1,1,1,1,1,1 },{1,2,1,1,4,1,1,4,1,1 },{1,0,3,0,0,3,0,0,4,1 },{1,1,1,0,0,1,1,3,1,1 },{1,4,3,0,1,0,0,0,0,1 },{1,1,0,0,0,0,0,1,0,1 },{1,4,1,0,0,1,0,3,0,1 },{1,0,3,3,1,1,1,1,0,1 },{1,0,0,0,0,0,4,1,4,1 },{1,1,1,1,1,1,1,1,1,1 }};for (int i = 0; i < num.GetLength(0); i++){for (int j = 0; j < num.GetLength(1); j++){if (num[i, j] == 0){Console.Write("  ");}if (num[i, j] == 1){Console.Write("■");}if (num[i, j] == 2){a = i;b = j;Console.Write("♀");}if (num[i, j] == 3){Console.Write("◆");}if (num[i, j] == 4){Console.Write("○");}}Console.WriteLine();}Stater(num, a, b, account, x, y);}//开始控制人物移动public void Stater(int[,] num, int a, int b, string account, int x, int y){int n = 0;while (true){bool bo = false;if (IsContains4(num) == false){Console.WriteLine("Game Over,Player Victory");GameVictory(account, x, y);}if (n == 55){Console.WriteLine("游戏结束");RemoveAgain(account, x, y);}Console.WriteLine("按英文格式下w,s,a,d控制♀推◆到○处!");Console.WriteLine("还剩{0}步", 55 - n);char str = Console.ReadKey().KeyChar;//从键盘上输入键int aa = 0;int bb = 0;if (str == 'w'){aa = -1;}if (str == 's'){aa = 1;}if (str == 'a'){bb = -1;}if (str == 'd'){bb = 1;}if (num[a + aa, b + bb] == 1 || num[a + aa, b + bb] == 4)//判断任务移动坐标是否包含1和4{continue;}if (num[a + aa, b + bb] == 0){num[a + aa, b + bb] = 2;num[a, b] = 0;Remove(num);Console.Clear();Remove(num);bo = true;}if (num[a + aa, b + bb] == 3 && num[a + aa + aa, b + bb + bb] != 1 && num[a + aa + aa, b + bb + bb] != 3)//判断箱子移动坐标是否包含3和不能包含1{num[a + aa + aa, b + bb + bb] = 3;num[a + aa, b + bb] = 2;num[a, b] = 0;Remove(num);Console.Clear();Remove(num);bo = true;}if (bo == true){a += aa;b += bb;n++;}}}//刷新物体坐标public void Remove(int[,] num){for (int i = 0; i < num.GetLength(0); i++){for (int j = 0; j < num.GetLength(1); j++){if (num[i, j] == 0){Console.Write("  ");}if (num[i, j] == 1){Console.Write("■");}if (num[i, j] == 2){Console.Write("♀");}if (num[i, j] == 3){Console.Write("◆");}if (num[i, j] == 4){Console.Write("○");}}Console.WriteLine();}}//判断是否还有空地○public bool IsContains4(int[,] num){for (int i = 0; i < num.GetLength(0); i++){for (int j = 0; j < num.GetLength(1); j++){if (num[i, j] == 4){return true;}if (i == num.GetLength(0) - 1 && j == num.GetLength(1)){return false;}}}return false;}//获取箱子对应的点public List<Sokoban> Is(int[,] num){List<Sokoban> list = new List<Sokoban>();for (int i = 0; i < num.GetLength(0); i++){for (int j = 0; j < num.GetLength(1); j++){if (num[i, j] == 4){list.Add(new Sokoban() { x = i, y = j });}}}return list;}}//隐藏任务
public class SecretMissions
{//上网public void surfTheInternet(string account){string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");Console.WriteLine("愉快的逃出学校上网中(^_^)");for (int i = 0; i < 10; i++){Thread.Sleep(800);Console.WriteLine(">");}attributeStr[2] = (int.Parse(attributeStr[2]) + 10).ToString();attributeStr[3] = (int.Parse(attributeStr[3]) + 10).ToString();new CreateID().attributeRefresh(attributeStr, account);}//进入异性宿舍public void IsomerismRoom(string account){string[] attributeStr = File.ReadAllLines(@"D:\AllMyLife\DataCenter\PlayerBackpack\" + account + @"\attribute.txt");for (int i = 0; i < 10; i++){Thread.Sleep(800);Console.WriteLine(">");}attributeStr[8] = (int.Parse(attributeStr[8]) + 5).ToString();//幸运值attributeStr[9] = (int.Parse(attributeStr[9]) + 5).ToString();new CreateID().attributeRefresh(attributeStr, account);}
}class Program
{static void Main(string[] args){new CreateID().Inter();// new Adventure().AdventureMap("1369276274", 10,8);Console.ReadKey();}
}

}

//在D盘创建一个文件夹,做数据库,如下图







C#控制台简单魔塔小游戏相关推荐

  1. C\C++开发的经典魔塔小游戏--(1)图形库的使用

    最近突发奇想,想起了当年和小伙伴们一起奋斗在村里黑网吧的日子.于是乎,萌发了动手写一个小游戏的念头.这个经典的小游戏名字叫"魔塔".大致就是你是一个骑士什么的,深入魔塔拯救大妹子的 ...

  2. Python游戏开发,Pygame模块,Python从零开始带大家实现一个魔塔小游戏

    开发工具 Python版本: 3.7.4 相关模块: pygame模块: 以及一些python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 原理简介 首先, ...

  3. Python游戏开发,Pygame模块,Python从零开始带大家实现魔塔小游戏

    前言 这一期我们会带大家进一步复现我们的魔塔小游戏,主要内容包括英雄类的定义与其基础行动的实现,行动过程中触发不同层的切换等功能. 废话不多说,让我们愉快地开始吧~ 开发工具 Python版本: 3. ...

  4. C\C++开发的经典魔塔小游戏--(4)楼层控制,背景音乐,个人元素

    楼层切换是游戏中必不可少的一个元素,总不能一直待在某一层,这样就无法享受通关的快感,在原本的设想中,我打算画十层地图,并且每层地图都添加一些新的素材进去,后来发现,太过繁琐,于是这个游戏就成了一个半成 ...

  5. 童年经典回忆 | 从零开始带大家用Python撸一个魔塔小游戏呀(2)

    导语 上一期我们带大家完成了魔塔游戏每一层的初始化画面的制作: 童年经典回忆 | 从零开始带大家用Python撸一个魔塔小游戏呀(1) 这一期我们会带大家进一步复现我们的魔塔小游戏,主要内容包括英雄类 ...

  6. 童年经典回忆 | 从零开始带大家用Python撸一个魔塔小游戏呀(1)

    相关文件 相关游戏素材(图片和音频等)源于网络,侵歉删. 需要源代码的小伙伴私信小编,或者关注小编的公众号[Python日志] 开发工具 Python版本:3.7.4 相关模块: pygame模块: ...

  7. 童年经典回忆 | 从零开始带大家用Python撸一个魔塔小游戏呀(3)

    导语 上一期我们主要带大家写了勇士类,以及勇士与一些简单的地图元素接触时所触发的事件: 童年经典回忆 | 从零开始带大家用Python撸一个魔塔小游戏呀(2) 这一期我们会带大家进一步复现我们的魔塔小 ...

  8. 控制台推箱子小游戏C语言

    自己开发的C语言控制台推箱子小游戏,基于二维数组实现,功能不多但是游戏整体较为完整,因为技术有限,所以代码暂未优化且整体显得较为臃肿,整体架构简单,代码全自主设计编写,仅作交流学习,还望大佬多多指点. ...

  9. java简单通讯录的实现02person类_用java实现简单的小游戏(你一定玩过)

    用java实现简单的小游戏(你一定玩过) 对于java初学者来说,通过一些学习小游戏来对swing学习以及对java基础的学习是一个好的方法,同时也给学习带来了很多的乐趣,接下来就给大家分享一个jav ...

最新文章

  1. Linux的mount命令简介
  2. 数据中台(一)数据资源规划与获取
  3. pythonclass全局变量_python怎么使用全局变量
  4. bufferedwriter缓冲区设置多大比较合适_画册设计一般多大?宣传册设计用多大尺寸比较合适?...
  5. 前端学习(3241):react生命周期forceUpdate
  6. WordCount——MapReduce 实例入门
  7. 遇到Python中文目录名问题,未解决
  8. 群晖 上传 源文件不存在_群晖NAS配多大容量硬盘合适?
  9. IE中使用Google Chrome Frame运行HTML 5
  10. 2021超级热门引流红包裂变微信分享朋友圈广告游戏源码
  11. 基于JAVA南京传媒学院门户网计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  12. 关于域名备案后的注意事项,血淋淋的教训
  13. HTML5 Canvas自定义圆角矩形与虚线(Rounded Rectangle and Dash Line)
  14. Labplus:Scratch创作工具的替代与进步
  15. C语言编写 小企鹅表情包
  16. 面经 | 腾讯/阿里/京东/头条/旷视等20+企业计算机视觉算法岗面经吐血整理
  17. Property 'X' not found on type entity.Customer错误原因分析
  18. 一起学英语第三期,things change,people change
  19. 关于zedboard无法烧写bit流文件的解决办法
  20. selenium 键盘的操作

热门文章

  1. 人机交互论文导读——FaceSight: Enabling Hand-to-Face Gesture Interaction on ARGlasses with a Downward-Facing
  2. android监听程序被杀死,Android 监听主进程被杀
  3. 智慧园区产业链、建设内容及架构
  4. 安全态势,交互发现 —— 基于阿里云轻松搭建安全大屏
  5. Python数学建模 正态分布检验
  6. 【Axure教程】用中继器制作树形表格
  7. 【Y忍冬草】Halcon:基于卡尔曼滤波的交通监控
  8. kubevirt(五)VirtualMachine
  9. crossover mac好用吗 mac用crossover损害电脑吗
  10. PC被抓留案底,到手的Offer黄了,互联网大厂的背调到底有多严