summaryrefslogtreecommitdiffhomepage
path: root/digital
diff options
context:
space:
mode:
authorJerome Jutteau2013-04-07 23:32:33 +0200
committerJerome Jutteau2013-04-07 23:32:33 +0200
commit84c1c892452971953c4a243ac8bcec33ba342988 (patch)
tree2888382f03442833804748ab223d29b8b3addf98 /digital
parent53bcdb45a7d86ad589d245e3c39e8546f25b37ca (diff)
digital/io-hub/src/apbirthday: fix candle color deduce
Diffstat (limited to 'digital')
-rw-r--r--digital/io-hub/src/apbirthday/candles.cc30
1 files changed, 15 insertions, 15 deletions
diff --git a/digital/io-hub/src/apbirthday/candles.cc b/digital/io-hub/src/apbirthday/candles.cc
index cd2bf678..300adfb3 100644
--- a/digital/io-hub/src/apbirthday/candles.cc
+++ b/digital/io-hub/src/apbirthday/candles.cc
@@ -70,29 +70,29 @@ void Candles::deduce ()
int i;
// Far.
for (i = 1; i < 4; i++)
- if (color[i] != color[i + 3])
+ if ((color[i] == UNKNOWN) ^ (color[7 - i] == UNKNOWN))
{
if (color[i] == RED)
- color[i + 3] = BLUE;
+ color[7 - i] = BLUE;
else if (color[i] == BLUE)
- color[i + 3] = RED;
- else if (color[i + 3] == RED)
+ color[7 - i] = RED;
+ else if (color[7 - i] == RED)
color[i] = BLUE;
- else if (color[i + 3] == BLUE)
+ else if (color[7 + i] == BLUE)
color[i] = RED;
}
// Near.
- for (i = 9; i < 14; i++)
- if (color[i] != color[i + 5])
+ for (i = 1; i < 6; i++)
+ if ((color[8 + i] == UNKNOWN) ^ (color[19 - i] == UNKNOWN))
{
- if (color[i] == RED)
- color[i + 5] = BLUE;
- else if (color[i] == BLUE)
- color[i + 5] = RED;
- else if (color[i + 5] == RED)
- color[i] = BLUE;
- else if (color[i + 5] == BLUE)
- color[i] = RED;
+ if (color[8 + i] == RED)
+ color[19 - i] = BLUE;
+ else if (color[8 + i] == BLUE)
+ color[19 - i] = RED;
+ else if (color[19 - i] == RED)
+ color[8 + i] = BLUE;
+ else if (color[19 - i] == BLUE)
+ color[8 + i] = RED;
}
}