public void reset(Graphics g) {
        check();
        g.setColor(Colors.lightgrey);
        g.fillRect(scale, scale, length * scale, width * scale);
        g.drawImage(field, scale, scale, length * scale, width * scale, board);

        for (int x = 0; x < width; x++) {
            for (int y = 0; y < length; y++) {
                if (tiles[x][y] != null) {
                    g.setColor(tiles[x][y].isExhausted()
                            ? (tiles[x][y].getTeam() ? Colors.blue : Colors.purple)
                            : (tiles[x][y].getTeam() ? Colors.lightblue : Colors.lightpurple));
                    g.fillRect(scale * (x + 1), scale * (length - y), scale, scale);

                    if (tiles[x][y] instanceof Buff) {
                        g.drawImage(tiles[x][y].getIcon(), scale * (x + 1), scale * (length - y), scale, scale, board);
                    }

                    if (tiles[x][y] instanceof Healer) {
                        g.drawImage(tiles[x][y].getIcon(), scale * (x + 1), scale * (length - y), scale, scale, board);
                    }

                    g.setColor(Colors.green);
                    g.fillRect(scale * (x + 1), scale * (length - y), scale / 7, scale);

                    g.setColor(Colors.black);

                    double percent = 1 - (double) tiles[x][y].getHealth() / tiles[x][y].getMaxHealth();
                    g.fillRect(scale * (x + 1), scale * (length - y), scale / 7, (int) (scale * percent));
                }
            }
        }
        g.setColor(Colors.black);
        for (int i = 1; i <= width + 1; i++) {
            g.drawLine(scale, scale * i, scale * (width + 1), scale * i);
            g.drawLine(scale * i, scale, scale * i, scale * (length + 1));
        }
    }