// Path: src/main/java/it/paspiz85/nanobot/util/Pixel.java
// public class Pixel extends Point {
// 
//     private final Color color;
// 
//     public Pixel(final int x, final int y, final Color color) {
//         super(x, y);
//         if (color == null) {
//             throw new NullPointerException("null color");
//         }
//         this.color = color;
//     }
// 
//     public Color getColor() {
//         return color;
//     }
// }
// 
// Path: src/main/java/it/paspiz85/nanobot/util/Point.java
// public class Point implements Comparable<Point> {
// 
//     private final int x;
// 
//     private final int y;
// 
//     public Point(final int x, final int y) {
//         this.x = x;
//         this.y = y;
//     }
// 
//     @Override
//     public int compareTo(final Point o) {
//         return this.x != o.x ? this.x - o.x : this.y - o.y;
//     }
// 
//     @Override
//     public boolean equals(final Object obj) {
//         if (this == obj) {
//             return true;
//         }
//         if (obj == null) {
//             return false;
//         }
//         if (getClass() != obj.getClass()) {
//             return false;
//         }
//         final Point other = (Point) obj;
//         if (x != other.x) {
//             return false;
//         }
//         if (y != other.y) {
//             return false;
//         }
//         return true;
//     }
// 
//     @Override
//     public int hashCode() {
//         final int prime = 31;
//         int result = 1;
//         result = prime * result + x;
//         result = prime * result + y;
//         return result;
//     }
// 
//     @Override
//     public String toString() {
//         return "[" + x + "," + y + "]";
//     }
// 
//     public int x() {
//         return x;
//     }
// 
//     public int y() {
//         return y;
//     }
// }


import it.paspiz85.nanobot.util.Pixel;
import it.paspiz85.nanobot.util.Point;
import java.awt.Color;
import java.util.logging.Level;
package it.paspiz85.nanobot.game;



/**
 * Attack mode screen.
 *
 * @author paspiz85
 *
 */
public class BattleEndScreen extends Screen {

    private static final Point BUTTON_RETURN_HOME = getPoint("point.button.end_battle.return_home");

    private static final int[] BUTTON_RETURN_HOME_COLORS = getRGBs("point.button.end_battle.return_home.color");

    private static final int[][] BUTTON_RETURN_HOME_OFFSET = getOffset("point.button.end_battle.return_home.offset");

    BattleEndScreen() {
    }

    public Point getButtonReturnHome() {
        return BUTTON_RETURN_HOME;
    }

    @Override
    public boolean isDisplayed() {
        return searchButtonReturnHome() != null;
    }

    private Point searchButtonReturnHome() {
        logger.log(Level.FINE, "search button EndBattle-ReturnHome");
        Point result = BUTTON_RETURN_HOME;
        for (int i = 0; i < BUTTON_RETURN_HOME_OFFSET.length; i++) {
            final int[] coords = BUTTON_RETURN_HOME_OFFSET[i];
            final int rgb = BUTTON_RETURN_HOME_COLORS[i];
            final Pixel point = new Pixel(coords[0], coords[1], new Color(rgb));
            if (!platform.matchColoredPoint(point)) {
                result = null;
// Path: src/main/java/it/paspiz85/nanobot/util/Pixel.java
// public class Pixel extends Point {
// 
//     private final Color color;
// 
//     public Pixel(final int x, final int y, final Color color) {
//         super(x, y);
//         if (color == null) {
//             throw new NullPointerException("null color");
//         }
//         this.color = color;
//     }
// 
//     public Color getColor() {
//         return color;
//     }
// }
// 
// Path: src/main/java/it/paspiz85/nanobot/util/Point.java
// public class Point implements Comparable<Point> {
// 
//     private final int x;
// 
//     private final int y;
// 
//     public Point(final int x, final int y) {
//         this.x = x;
//         this.y = y;
//     }
// 
//     @Override
//     public int compareTo(final Point o) {
//         return this.x != o.x ? this.x - o.x : this.y - o.y;
//     }
// 
//     @Override
//     public boolean equals(final Object obj) {
//         if (this == obj) {
//             return true;
//         }
//         if (obj == null) {
//             return false;
//         }
//         if (getClass() != obj.getClass()) {
//             return false;
//         }
//         final Point other = (Point) obj;
//         if (x != other.x) {
//             return false;
//         }
//         if (y != other.y) {
//             return false;
//         }
//         return true;
//     }
// 
//     @Override
//     public int hashCode() {
//         final int prime = 31;
//         int result = 1;
//         result = prime * result + x;
//         result = prime * result + y;
//         return result;
//     }
// 
//     @Override
//     public String toString() {
//         return "[" + x + "," + y + "]";
//     }
// 
//     public int x() {
//         return x;
//     }
// 
//     public int y() {
//         return y;
//     }
// }


// Path: src/main/java/it/paspiz85/nanobot/game/BattleEndScreen.java
import it.paspiz85.nanobot.util.Pixel;
import it.paspiz85.nanobot.util.Point;
import java.awt.Color;
import java.util.logging.Level;

package it.paspiz85.nanobot.game;



/**
 * Attack mode screen.
 *
 * @author paspiz85
 *
 */
public class BattleEndScreen extends Screen {

    private static final Point BUTTON_RETURN_HOME = getPoint("point.button.end_battle.return_home");

    private static final int[] BUTTON_RETURN_HOME_COLORS = getRGBs("point.button.end_battle.return_home.color");

    private static final int[][] BUTTON_RETURN_HOME_OFFSET = getOffset("point.button.end_battle.return_home.offset");

    BattleEndScreen() {
    }

    public Point getButtonReturnHome() {
        return BUTTON_RETURN_HOME;
    }

    @Override
    public boolean isDisplayed() {
        return searchButtonReturnHome() != null;
    }

    private Point searchButtonReturnHome() {
        logger.log(Level.FINE, "search button EndBattle-ReturnHome");
        Point result = BUTTON_RETURN_HOME;
        for (int i = 0; i < BUTTON_RETURN_HOME_OFFSET.length; i++) {
            final int[] coords = BUTTON_RETURN_HOME_OFFSET[i];
            final int rgb = BUTTON_RETURN_HOME_COLORS[i];
            final Pixel point = new Pixel(coords[0], coords[1], new Color(rgb));
            if (!platform.matchColoredPoint(point)) {
                result = null;
                break;