GitHub主頁:https://github.com/ZZhuYYanjiang/UWPTeamWork
目前上傳的部分:

本地沒有上傳的C#文件:




首先是本組張凌峰所做的構思及邏輯部分:
一.確定玩家扮演的角色,創建Knight類:
人物屬性上不需要太復雜,分為生命值、攻擊、速度三項,另外有一個可選技能??梢宰孕性O定,也可隨機生成。
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

浙公網安備 33010602011771號