public void draw(System.Drawing.Graphics g, int scale, bool drawTeleArrows) { if (b == null) { return; } lock (drawLock) { b.draw(g, scale, drawTeleArrows); HashSet <Board.Position> pps = new HashSet <Board.Position>(); foreach (Specimen s in specimens) { Board.Position p = s.pos; if (pps.Contains(p)) { continue; } pps.Add(p); System.Drawing.Brush brsh = consts.specimenBrush; // too much fun //brsh = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(255, 0, 255 - (int)(255.0 / (1.0 + (double)s.fitness / 50.0)), 100)); g.FillRectangle(brsh, p.x * scale + 1, p.y * scale + 1, scale - 2, scale - 2); } } }
public void see(Board.Position pos, Board brd) { for (int i = -xd; i <= xd; i++) { for (int j = -yd; j <= yd; j++) { colors[i + xd, j + yd] = brd.getColor(i + pos.x, j + pos.y).n; } } }