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

 

 

posted on 2018-04-27 14:51  as_hxw  阅读(219)  评论(0编辑  收藏  举报