java: public boolean eat(Row in, int remap[]) {int sum = 0;for (Iterator<Cell> i = in.cells.values().iterator(); i.hasNext();) {Cell c = i.next();sum += c.cnt;if (c.ref >= 0) {if (remap[c.ref] == 0) {c.ref = -1;}}}int frame = sum / 10;boolean live = false;for (Iterator<Cell> i = in.cells.values().iterator(); i.hasNext();) {Cell c = i.next();if (c.cnt < frame && c.cmd >= 0) {c.cnt = 0;c.cmd = -1;}if (c.cmd >= 0 || c.ref >= 0) {live |= true;}}return !live;}
C#: public bool Eat(Row @in, int[] remap){int sum = 0;foreach (Cell c in @in.cells.Values){sum += c.cnt;if (c.@ref >= 0){if (remap[c.@ref] == 0){c.@ref = -1;}}}int frame = sum / 10;bool live = false;foreach (Cell c in @in.cells.Values){if (c.cnt < frame && c.cmd >= 0){c.cnt = 0;c.cmd = -1;}if (c.cmd >= 0 || c.@ref >= 0){live |= true;}}return !live;}