用C#语言生成一个带颜色的圣诞树
时间: 2024-09-07 19:06:43 浏览: 95
在C#中,我们可以使用控制台应用程序结合ASCII艺术的方式来创建一个简单的带颜色的圣诞树。以下是一个基础的例子,展示了如何通过颜色控制符打印出绿色的树干、白色的雪花以及彩色的星星:
```csharp
using System;
class Program
{
static void Main()
{
Console.ForegroundColor = ConsoleColor.DarkGreen; // 设置树干的颜色
for (int i = 0; i < 5; i++) // 树的高度
{
string row = BuildRow(i); // 构建每一行
Console.WriteLine(row);
}
Console.ForegroundColor = ConsoleColor.White; // 回到白色背景
for (int j = 0; j <= 7; j++) // 雪花部分
{
string snowflake = BuildSnowflake(j);
Console.WriteLine(snowflake);
}
Console.ForegroundColor = ConsoleColor.Yellow; // 设置星星的颜色
PrintStars(); // 打印星星
Console.ReadLine();
}
private static string BuildRow(int level)
{
if (level == 0) return " *"; // 树顶
else if (level == 1) return " ***";
else
{
var spaces = 2 * (level - 1) + 1;
var stars = new string(' ', spaces) + "*".PadLeft(4 - spaces) + new string(' ', spaces);
return stars + "\n" + stars;
}
}
private static string BuildSnowflake(int level)
{
char[] pattern = { '*', '/', '\\', '-' };
int index = level % pattern.Length;
return new string(pattern[index]);
}
private static void PrintStars()
{
for (int k = 0; k < 5; k++)
{
string starRow = new string('.', 2 * k + 1) + "*" + new string('.', 2 * k + 1);
Console.WriteLine(starRow);
}
}
}
```
阅读全文