如何实现这个逻辑流程?

时间:2011-05-16 12:09:24

标签: logic

好的,这是故事...

我有3个文本字段供用户选择....

[textfield A] [textfield B] [textfield C]

和确认按钮,用户需要添加三个文本字段,之后,用户需要单击确认按钮....但根据不同的选择顺序,结果不同,例如: A> B> C,我将显示红色。 当用户按此顺序选择时: B> A> C我将显示绿色。 当用户按此顺序选择时: C> B> A我将显示蓝色......

根据不同的用户选择顺序,它会显示不同的颜色.... 但问题是,当我添加越来越多的文本字段时,我该如何实现这个逻辑呢? 首先,我设计了一个数组,当用户选择一个文本字段时,我将textfield id存储到数组中,当用户选择第二个时,我将存储在数组中,直到用户点击确认,我读回数组到显示颜色.... 但我认为它会变得非常大而且当添加越来越多的文本字段时,任何更好的想法都会变得凌乱吗?谢谢。

1 个答案:

答案 0 :(得分:2)

这有点像黑客,但我倾向于将选择存储在每次附加的字符串中(当然是从空字符串开始),修剪到最右边的x个字符。然后你可以做一个简单的开关/ case语句来确定颜色。例如(C#片段,类别):

string selectStr = string.Empty;

void Select(string btn) {
  selectStr += btn;
  selectStr = selectStr.Remove(0, btn.Length - 3);
}

void Confirm() {
  switch (selectStr) {
    case "ABC" : /* make red */ break;
    case "BAC" : /* make green */ break;
    // etc.
  }
}