GitHub主页:https://github.com/ZZhuYYanjiang/UWPTeamWork
目前上传的部分:
本地没有上传的C#文件:
首先是本组张凌峰所做的构思及逻辑部分:
一.确定玩家扮演的角色,创建Knight类:
人物属性上不需要太复杂,分为生命值、攻击、速度三项,另外有一个可选技能。可以自行设定,也可随机生成。
classKnight
{
publicstring Name = "NewPlayer";
publicint Hp = 1;//生命值
publicint Atk = 1;//攻击
publicint Speed = 1;//速度
publicint Skill = 1;//携带的技能
}
二.存档读档
在开始时,我试着用.txt记录玩家扮演的角色信息,于是有了
Save(),Get()两个函数用来存档、读档,但是使用起来非常麻烦,在请教同学后,他给我推荐使用XML进行数据处理,于是有了:
classUsingxml
{
//初始化
privatevoid creatnew()
{
//创建一个XML文档
XmlDataDocument doc = new XmlDataDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);//写第一行数据
doc.AppendChild(dec);
//创建根节点 knights
XmlElement knights = doc.CreateElement("Knights");
doc.AppendChild(knights);
XmlElement knight = doc.CreateElement("Knight");
knights.AppendChild(knight);
//根节点下创建子节点 knightname knighthp...
XmlElement knightname1 = doc.CreateElement("Knightname");
knightname1.InnerText = "Saber";
knight.AppendChild(knightname1);
XmlElement knighthp1 = doc.CreateElement("KnightHp");
knighthp1.InnerText = "1";
knight.AppendChild(knighthp1);
XmlElement knightatk1 = doc.CreateElement("KnightAtk");
knightatk1.InnerText = "1";
knight.AppendChild(knightatk1);
XmlElement knightspeed1 = doc.CreateElement("Knightspeed");
knightspeed1.InnerText = "1";
knight.AppendChild(knightspeed1);
doc.Save("Knights.xml");
XmlElement knightskill1 = doc.CreateElement("Knightskill");
knightskill1.InnerText = "1";
knight.AppendChild(knightskill1);
//节点创建完毕
doc.Save("Knights.xml");
}
//新增人物,后略
privatevoid append()
{ }
//删除人物
privatevoid remove()
{}
//读取当前文档中的所有人物信息
privatevoid read()
{}
//将人物信息加载到Knight类,创建一个对象
public Knight get(Knight knight)
{}
//界面
publicvoid set(Knight knight)
{}
}
由于之前的尝试基本上都推到重来,包括人物的设置、保存、战斗等等功能全都重做了。这一过程耗费了不少时间,但是也是我收获最大的部分。
三.随机生成的地图
根据生成的地图长度和路径终点情况,确定怪物总数以及分布情况。很难生成一个有趣的地图,更多情况下会得到一个莫名其妙的迷宫,还要改进。
classMap
{
privateint Long = 0;//道路总长
privateint[,] Road = newint[2, 10];//分支路数量<=10
privateint m = 0;//第m条路径通向终点
privateint MonsterNum;//怪物总数
publicvoid Create()//随机生成所有private型的值
}
四.战斗
战斗的演示交给其他组员,调用的函数是:
publicstatic Knight Fightwith(Knight knight, Monster monster)
{
}
本组霍玺闻负责技能及具体优化
(因电脑出了一点问题,所以工作这次没有展出)
接着是本组朱言江所构思的界面设计:
基础的构思就是利用Frame来进行页面跳转,战斗界面等。
目前初步是一个主界面和三个子界面交互,后期可能会遇到画面的流畅等问题,在接下来的时间会好好解决。同时会优化界面,使其更能让人身临其境。
MainPage.xaml
MainPage.xaml.cs
Page3.xaml
Page1.xaml
Page3.xaml.cs
Page2.xaml.cs
Page1.xaml.cs
Page1.xaml