From ae9235a4ebb7503bfbb3fa4fddbaebecc9cf3b8b Mon Sep 17 00:00:00 2001 From: Shawqeem <1004837646@qq.com> Date: Sat, 25 Mar 2023 01:41:13 +0800 Subject: [PATCH] feat: :art: improve the appearance and the function of status bars improve the appearance and the function of status bars --- logic/Client/StatusBarOfCircumstance.xaml | 15 +- logic/Client/StatusBarOfCircumstance.xaml.cs | 8 +- logic/Client/StatusBarOfHunter.xaml | 37 ++-- logic/Client/StatusBarOfHunter.xaml.cs | 191 ++++++++++++++++--- logic/Client/StatusBarOfSurvivor.xaml | 33 ++-- logic/Client/StatusBarOfSurvivor.xaml.cs | 84 ++++++-- logic/规则Logic.md | 5 +- 7 files changed, 285 insertions(+), 88 deletions(-) diff --git a/logic/Client/StatusBarOfCircumstance.xaml b/logic/Client/StatusBarOfCircumstance.xaml index 849396a..a690fb2 100644 --- a/logic/Client/StatusBarOfCircumstance.xaml +++ b/logic/Client/StatusBarOfCircumstance.xaml @@ -9,20 +9,17 @@ - - + + - - - - - - - + + + + \ No newline at end of file diff --git a/logic/Client/StatusBarOfCircumstance.xaml.cs b/logic/Client/StatusBarOfCircumstance.xaml.cs index 57b7303..2900d5e 100644 --- a/logic/Client/StatusBarOfCircumstance.xaml.cs +++ b/logic/Client/StatusBarOfCircumstance.xaml.cs @@ -31,7 +31,9 @@ namespace Client } public void SetFontSize(double fontsize) { - time.FontSize = scoresofstudents.FontSize = scoresoftrickers.FontSize = status.FontSize = prop.FontSize = fontsize; + status.FontSize = 13 * fontsize / 12; + time.FontSize = 13 * fontsize / 12; + scoresOfStudents.FontSize = scoresOfTrickers.FontSize = fontsize; } public void SetValue(MessageOfAll obj) @@ -63,8 +65,8 @@ namespace Client } status.Text += Convert.ToString(obj.StudentGraduated)+ "\n⚰️: "; status.Text += Convert.ToString(obj.StudentQuited); - scoresofstudents.Text = "Scores of Survivors: " + Convert.ToString(obj.StudentScore); - scoresoftrickers.Text = "Scores of Hunters: " + Convert.ToString(obj.TrickerScore); + scoresOfStudents.Text = "Scores of Students:" + Convert.ToString(obj.StudentScore); + scoresOfTrickers.Text = "Scores of Tricker:" + Convert.ToString(obj.TrickerScore); } } } diff --git a/logic/Client/StatusBarOfHunter.xaml b/logic/Client/StatusBarOfHunter.xaml index 583f442..8536b3a 100644 --- a/logic/Client/StatusBarOfHunter.xaml +++ b/logic/Client/StatusBarOfHunter.xaml @@ -8,21 +8,34 @@ d:DesignHeight="174" d:DesignWidth="180"> - - - - - + + + + + + + - + + + - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/logic/Client/StatusBarOfHunter.xaml.cs b/logic/Client/StatusBarOfHunter.xaml.cs index 23ced7a..23c0f93 100644 --- a/logic/Client/StatusBarOfHunter.xaml.cs +++ b/logic/Client/StatusBarOfHunter.xaml.cs @@ -36,7 +36,7 @@ namespace Client } public void SetFontSize(double fontsize) { - serial.FontSize = scores.FontSize = star.FontSize = status.FontSize = prop.FontSize = fontsize; + serial.FontSize = scores.FontSize = state.FontSize = status.FontSize=activeSkill0.FontSize = activeSkill1.FontSize = activeSkill2.FontSize = prop0.FontSize = prop1.FontSize = prop2.FontSize = prop3.FontSize = fontsize; } private void SetStaticValue(MessageOfTricker obj) @@ -44,58 +44,197 @@ namespace Client switch (obj.TrickerType) // 参数未设定 { case TrickerType.Assassin: - coolTime = 10000; - serial.Text = "👥" + Convert.ToString(1) + "👻" + Convert.ToString(obj.PlayerId) + "\n职业:TrickerType1"; + coolTime0 = coolTime1 = coolTime2 = 10000; + serial.Text = "👥" + Convert.ToString(1) + "👻" + Convert.ToString(obj.PlayerId) + "\n职业:Assassin"; break; case TrickerType._2: - coolTime = 20000; + coolTime0 = coolTime1 = coolTime2 = 20000; serial.Text = "👥" + Convert.ToString(1) + "👻" + Convert.ToString(obj.PlayerId) + "\n职业:TrickerType2"; break; case TrickerType._3: - coolTime = 30000; + coolTime0 = coolTime1 = coolTime2 = 30000; serial.Text = "👥" + Convert.ToString(1) + "👻" + Convert.ToString(obj.PlayerId) + "\n职业:TrickerType3"; break; case TrickerType._4: - coolTime = 40000; + coolTime0 = coolTime1 = coolTime2 = 40000; serial.Text = "👥" + Convert.ToString(1) + "👻" + Convert.ToString(obj.PlayerId) + "\n职业:TrickerType4"; break; case TrickerType.NullTrickerType: - coolTime = 10000; + coolTime0 = coolTime1 = coolTime2 = -1; serial.Text = "👥" + Convert.ToString(1) + "👻" + Convert.ToString(obj.PlayerId) + "\n职业:NullTrickerType"; break; } + activeSkill0.Text = "Skill0"; + activeSkill1.Text = "Skill1"; + activeSkill2.Text = "Skill2"; initialized = true; } private void SetDynamicValue(MessageOfTricker obj) { - if (obj.PlayerState==PlayerState.Stunned) + status.Text = "🏃🏿‍:"+Convert.ToString(obj.Speed); + switch (obj.PlayerState) { - skillprogress.Value = 0; - skillprogress.Background = Brushes.Gray; + case PlayerState.Idle: + state.Text = "Idle"; + break; + case PlayerState.Learning: + state.Text = "Learning"; + break; + case PlayerState.Addicted: + state.Text = "Addicted"; + break; + case PlayerState.Graduated: + state.Text = "Graduated"; + break; + case PlayerState.Quit: + state.Text = "Quit"; + break; + case PlayerState.Treated: + state.Text = "Treated"; + break; + case PlayerState.Rescued: + state.Text = "Rescued"; + break; + case PlayerState.Stunned: + state.Text = "Stunned"; + break; + case PlayerState.Treating: + state.Text = "Treating"; + break; + case PlayerState.Rescuing: + state.Text = "Rescuing"; + break; + case PlayerState.Swinging: + state.Text = "Swinging"; + break; + case PlayerState.Attacking: + state.Text = "Attacking"; + break; + case PlayerState.Locking: + state.Text = "Locking"; + break; + case PlayerState.Rummaging: + state.Text ="Rummaging"; + break; + case PlayerState.Climbing: + state.Text ="Climbing"; + break; + case PlayerState.OpeningAChest: + state.Text = "OpeningAChest"; + break; + case PlayerState.UsingSpecialSkill: + state.Text = "UsingSpecialSkill"; + break; + case PlayerState.OpeningAGate: + state.Text = "OpeningAGate"; + break; + default: + break; + } + scores.Text = "Scores:" + Convert.ToString(obj.Score); + if (obj.TimeUntilSkillAvailable[0] >= 0) + skillprogress0.Value = 100 - obj.TimeUntilSkillAvailable[0] / coolTime0 * 100; + if (obj.TimeUntilSkillAvailable[1] >= 0) + skillprogress1.Value = 100 - obj.TimeUntilSkillAvailable[1] / coolTime1 * 100; + if (obj.TimeUntilSkillAvailable[2] >= 0) + skillprogress2.Value = 100 - obj.TimeUntilSkillAvailable[2] / coolTime2 * 100; + if (obj.PlayerState == PlayerState.Quit) + { + skillprogress0.Value = skillprogress1.Value = skillprogress2.Value = 0; + skillprogress0.Background = skillprogress1.Background = skillprogress2.Background = Brushes.Gray; } else - skillprogress.Background = Brushes.White; - // star.Text = "⭐:";不知道要放什么 - status.Text = "🏹:" + Convert.ToString(1) + "\n🏃:" + Convert.ToString(obj.Speed) + "\n🤺:" + Convert.ToString(2) + "\n🗡:" + Convert.ToString(0); - scores.Text = "Scores:" + Convert.ToString(0); - foreach(var icon in obj.Prop) + skillprogress0.Background = skillprogress1.Background = skillprogress2.Background = Brushes.White; + int cnt = 0; + foreach (var icon in obj.Prop) { - switch (icon) + switch (cnt) { - case PropType.Key3: - prop.Text = "🔧"; + case 0: + switch (icon) + { + case PropType.Key3: + prop0.Text = "🔧"; + break; + case PropType.Key5: + prop0.Text = "🛡"; + break; + case PropType.Key6: + prop0.Text = "♥"; + break; + case PropType.Ptype4: + prop0.Text = "⛸"; + break; + default: + prop0.Text = " "; + break; + } + cnt++; break; - case PropType.Key5: - prop.Text = "🛡"; + case 1: + switch (icon) + { + case PropType.Key3: + prop1.Text = "🔧"; + break; + case PropType.Key5: + prop1.Text = "🛡"; + break; + case PropType.Key6: + prop1.Text = "♥"; + break; + case PropType.Ptype4: + prop1.Text = "⛸"; + break; + default: + prop1.Text = " "; + break; + } + cnt++; break; - case PropType.Key6: - prop.Text = "♥"; + case 2: + switch (icon) + { + case PropType.Key3: + prop2.Text = "🔧"; + break; + case PropType.Key5: + prop2.Text = "🛡"; + break; + case PropType.Key6: + prop2.Text = "♥"; + break; + case PropType.Ptype4: + prop2.Text = "⛸"; + break; + default: + prop2.Text = " "; + break; + } + cnt++; break; - case PropType.Ptype4: - prop.Text = "⛸"; + case 3: + switch (icon) + { + case PropType.Key3: + prop3.Text = "🔧"; + break; + case PropType.Key5: + prop3.Text = "🛡"; + break; + case PropType.Key6: + prop3.Text = "♥"; + break; + case PropType.Ptype4: + prop3.Text = "⛸"; + break; + default: + prop3.Text = " "; + break; + } + cnt++; break; default: - prop.Text = " "; break; } } @@ -106,7 +245,7 @@ namespace Client SetStaticValue(obj); SetDynamicValue(obj); } - private int coolTime; + private int coolTime0, coolTime1, coolTime2; private bool initialized; } } diff --git a/logic/Client/StatusBarOfSurvivor.xaml b/logic/Client/StatusBarOfSurvivor.xaml index 3fd8ed4..a21c559 100644 --- a/logic/Client/StatusBarOfSurvivor.xaml +++ b/logic/Client/StatusBarOfSurvivor.xaml @@ -11,9 +11,10 @@ - - - + + + + @@ -22,18 +23,18 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/logic/Client/StatusBarOfSurvivor.xaml.cs b/logic/Client/StatusBarOfSurvivor.xaml.cs index 8b35d13..d2bd725 100644 --- a/logic/Client/StatusBarOfSurvivor.xaml.cs +++ b/logic/Client/StatusBarOfSurvivor.xaml.cs @@ -35,60 +35,103 @@ namespace Client private void SetStaticValue(MessageOfStudent obj) { - switch (obj.StudentType) // 参数未设定 + switch (obj.StudentType) // coolTime参数未设定, { case StudentType.Athlete: - coolTime = 10000; - serial.Text = "👥" + Convert.ToString(2) + "🧓" + Convert.ToString(obj.PlayerId) + "\n职业:StudentType1"; + coolTime0 = coolTime1 = coolTime2 = 10000; + serial.Text = "👥" + Convert.ToString(2) + "🧓" + Convert.ToString(obj.PlayerId) + "\n职业:Athlete"; break; case StudentType._2: - coolTime = 20000; + coolTime0 = coolTime1 = coolTime2 = 20000; serial.Text = "👥" + Convert.ToString(2) + "🧓" + Convert.ToString(obj.PlayerId) + "\n职业:StudentType2"; break; case StudentType._3: - coolTime = 30000; + coolTime0 = coolTime1 = coolTime2 = 30000; serial.Text = "👥" + Convert.ToString(2) + "🧓" + Convert.ToString(obj.PlayerId) + "\n职业:StudentType3"; break; case StudentType._4: - coolTime = 40000; + coolTime0 = coolTime1 = coolTime2 = 40000; serial.Text = "👥" + Convert.ToString(2) + "🧓" + Convert.ToString(obj.PlayerId) + "\n职业:StudentType4"; break; case StudentType.NullStudentType: - coolTime = 10000; + coolTime0 = coolTime1 = coolTime2 = -1; serial.Text = "👥" + Convert.ToString(2) + "🧓" + Convert.ToString(obj.PlayerId) + "\n职业:NullStudentType"; break; } + activeSkill0.Text = "Skill0"; + activeSkill1.Text = "Skill1"; + activeSkill2.Text = "Skill2"; initialized = true; } private void SetDynamicValue(MessageOfStudent obj) { - int life; + int life= obj.Determination,death=obj.Addiction; switch(obj.PlayerState) { case PlayerState.Idle: - life = obj.Determination; - status.Text = "♥:" + Convert.ToString(life); + status.Text = "♥:" + Convert.ToString(life)+"\nIdle"; + break; + case PlayerState.Learning: + status.Text = "♥:" + Convert.ToString(life)+ "\nLearning"; break; case PlayerState.Addicted: - life = obj.Addiction; - status.Text = "💀:" + Convert.ToString(life); + status.Text = "💀:" + Convert.ToString(death)+ "\nAddicted"; break; case PlayerState.Graduated: - status.Text = "Graduated"; + status.Text = status.Text = "♥" + "\nGraduated"; break; case PlayerState.Quit: - status.Text = "Quit"; + status.Text = "💀"+"\nQuit"; + break; + case PlayerState.Treated: + status.Text = "♥:" + Convert.ToString(life) + "\nTreated"; + break; + case PlayerState.Rescued: + status.Text = "💀:" + Convert.ToString(death)+ "\nRescued"; + break; + case PlayerState.Stunned: + status.Text = "♥:" + Convert.ToString(life) + "\nStunned"; + break; + case PlayerState.Treating: + status.Text = "♥:" + Convert.ToString(life) + "\nTreating"; + break; + case PlayerState.Rescuing: + status.Text = "♥:" + Convert.ToString(life) + "\nRescuing"; + break; + case PlayerState.Swinging: + status.Text = "♥:" + Convert.ToString(life) + "\nSwinging"; + break; + case PlayerState.Attacking: + status.Text = "♥:" + Convert.ToString(life) + "\nAttacking"; + break; + case PlayerState.Locking: + status.Text = "♥:" + Convert.ToString(life) + "\nLocking"; + break; + case PlayerState.Rummaging: + status.Text = "♥:" + Convert.ToString(life) + "\nRummaging"; + break; + case PlayerState.Climbing: + status.Text = "♥:" + Convert.ToString(life) + "\nClimbing"; + break; + case PlayerState.OpeningAChest: + status.Text = "♥:" + Convert.ToString(life) + "\nOpeningAChest"; + break; + case PlayerState.UsingSpecialSkill: + status.Text = "♥:" + Convert.ToString(life) + "\nUsingSpecialSkill"; + break; + case PlayerState.OpeningAGate: + status.Text = "♥:" + Convert.ToString(life) + "\nOpeningAGate"; break; default: break; - }//不完全 + } scores.Text = "Scores:" + obj.Score; if (obj.TimeUntilSkillAvailable[0]>=0) - skillprogress0.Value = 100 - obj.TimeUntilSkillAvailable[0] / coolTime * 100; + skillprogress0.Value = 100 - obj.TimeUntilSkillAvailable[0] / coolTime0 * 100; if(obj.TimeUntilSkillAvailable[1] >= 0) - skillprogress1.Value = 100 - obj.TimeUntilSkillAvailable[1] / coolTime * 100; + skillprogress1.Value = 100 - obj.TimeUntilSkillAvailable[1] / coolTime1 * 100; if(obj.TimeUntilSkillAvailable[2] >= 0) - skillprogress2.Value = 100 - obj.TimeUntilSkillAvailable[2] / coolTime * 100; + skillprogress2.Value = 100 - obj.TimeUntilSkillAvailable[2] / coolTime2 * 100; if (obj.PlayerState == PlayerState.Quit) { skillprogress0.Value = skillprogress1.Value = skillprogress2.Value = 0; @@ -187,8 +230,7 @@ namespace Client break; default: break; - } - + } } } public void SetValue(MessageOfStudent obj) @@ -197,7 +239,7 @@ namespace Client SetStaticValue(obj); SetDynamicValue(obj); } - private int coolTime; + private int coolTime0, coolTime1, coolTime2; private bool initialized; } } diff --git a/logic/规则Logic.md b/logic/规则Logic.md index 2a8004c..27a8fee 100644 --- a/logic/规则Logic.md +++ b/logic/规则Logic.md @@ -304,7 +304,10 @@ #### 伤害得分 [Tricker对Student造成伤害时,得伤害*100/基本伤害(1500000)分。] -#### *[使用道具/技能得分——需要造成一定效果才能获取分数,仅使用不得分]* +#### *[使用道具/技能得分]* + +——需要造成一定效果才能获取分数,仅使用不得分 + - 不同道具/技能有不同得分 #### 沉迷