关于设置player.playerHealth字符串颜色的快速问题,我无法显示我想要的方式。我希望它是绿色的,如果它大约50,黄色,如果它高于20和红色的任何下面。
我尝试了多种不同的解决方案,没有任何工作,所以我把它带到了这里。
我也是代码新手,这对我的班级来说只是一个小游戏。
提前致谢!
public static void redKeeperBattle()
{
if (player.playerHealth > 50) {
Console.ForegroundColor = ConsoleColor.Green;
} else if (player.playerHealth > 20) {
Console.ForegroundColor = ConsoleColor.Yellow;
} else {
Console.ForegroundColor = ConsoleColor.Red;
}
Console.Clear ();
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine ("--------------------------------------------------------------------------------");
Console.WriteLine ("");
Console.WriteLine ("THE RED KEEPER: {0} HP", boss.redKeeperHealth);
Console.ResetColor ();
Console.WriteLine ("");
Console.WriteLine ("{0}: {1} HP", player.playerName, player.playerHealth);
Console.WriteLine ("");
Console.WriteLine ("");
Console.WriteLine ("");
Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine ("What would you like to do?");
Console.WriteLine ("1) Attack");
Console.WriteLine ("2) Dodge");
Console.ResetColor ();
Console.ReadLine();
}
答案 0 :(得分:0)
如果要更改每行的颜色,请在声明Console.WriteLine之前输入if-else语句:
Console.Clear ();
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine ("--------------------------------------------------------------------------------");
Console.WriteLine ("");
Console.WriteLine ("THE RED KEEPER: {0} HP", boss.redKeeperHealth);
Console.ResetColor ();
Console.WriteLine ("");
Console.Write("{0}: ", player.playerName);
//Put your condition here so that the color will reflect:
if (player.playerHealth > 50) {
Console.ForegroundColor = ConsoleColor.Green;
} else if (player.playerHealth > 20) {
Console.ForegroundColor = ConsoleColor.Yellow;
} else {
Console.ForegroundColor = ConsoleColor.Red;
}
Console.Write ("{0} HP", player.playerHealth);
答案 1 :(得分:0)
您正在使用
行覆盖前景色 Console.ForegroundColor = ConsoleColor.Red;
因此,将此条件剪切并粘贴到此行下方,
public static void redKeeperBattle()
{
Console.Clear ();
Console.ForegroundColor = ConsoleColor.Red;
// Write your condition here like this.
//The last else condition is not needed as the default colour is mention as red by above line
if (player.playerHealth > 50) {
Console.ForegroundColor = ConsoleColor.Green;
} else if (player.playerHealth > 20) {
Console.ForegroundColor = ConsoleColor.Yellow;
}
Console.WriteLine ("--------------------------------------------------------------------------------");
Console.WriteLine ("");
Console.WriteLine ("THE RED KEEPER: {0} HP", boss.redKeeperHealth);
Console.ResetColor ();
Console.WriteLine ("");
Console.WriteLine ("{0}: {1} HP", player.playerName, player.playerHealth);
Console.WriteLine ("");
Console.WriteLine ("");
Console.WriteLine ("");
Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine ("What would you like to do?");
Console.WriteLine ("1) Attack");
Console.WriteLine ("2) Dodge");
Console.ResetColor ();
Console.ReadLine();
}