【问题标题】:C# Spintax Coloring [closed]C# Spintax 着色
【发布时间】:2014-08-23 00:14:52
【问题描述】:

Spintax 用于从一个内容中获取多个内容,例如: Spintax:{dog|cat} {ran|jumped} 非常 {quietly|far {ahead|away}}。 这将返回如下句子:
狗跑得很安静。
猫跳得很安静。
狗跳得很远。
猫跑得很远。

我想出了如何将 spintax 变成随机的不同句子,但我现在想用颜色显示 spintax(在富文本框中)。我的意思是 {} 和 {} 本身之间的一切都是不同的颜色(蓝色)。当其他 {} 中有 {} 时,它将是另一种颜色(绿色)。在生成句子时,我从最深的括号(其中没有任何其他 {} 的 {})开始。我认为对于着色我必须从外面开始,但我不知道如何。谁能帮帮我?

【问题讨论】:

    标签: c# winforms colors spinning spintax


    【解决方案1】:

    你可以这样做:

    var input = "hello {one {two}} there";
    var depth = 0;
    for (int index = 0; index < input.Length; index++)
    {
        if (input[index]==('{'))
            depth++;
        else if (input[index]==('}'))
            depth--;
    
        // depending on your depth, use whatever color you want
        // maybe have an array of colors "color_array", and just
        // use color_array[depth] to get your color
    }
    

    你必须看看你的最终情况以及你如何处理{}的颜色,但你应该可以从这里继续。

    【讨论】:

    • 不知道为什么你说它必须以黑色开头......(除非你的意思是如果你想要“默认”颜色(深度 = 0)是黑色......是的......: )
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    相关资源
    最近更新 更多