package org.ggp.base.apps.kiosk.games; import java.awt.Color; import java.awt.Graphics; import java.util.Set; import org.ggp.base.apps.kiosk.templates.CommonGraphics; import org.ggp.base.apps.kiosk.templates.GameCanvas_Chessboard; public class ConnectFiveCanvas extends GameCanvas_Chessboard { public static final long serialVersionUID = 0x1; @Override public String getGameName() { return "Connect Five"; } @Override protected String getGameKey() { return "connect5"; } @Override protected Set<String> getFactsAboutCell(int xCell, int yCell) { String xLetter = coordinateToLetter(xCell); String yLetter = coordinateToLetter(yCell); return gameStateHasFactsMatching("\\( cell " + xLetter + " " + yLetter + " (.*) \\)"); } @Override protected Set<String> getLegalMovesForCell(int xCell, int yCell) { String xLetter = coordinateToLetter(xCell); String yLetter = coordinateToLetter(yCell); return gameStateHasLegalMovesMatching("\\( mark " + xLetter + " " + yLetter + " \\)"); } @Override protected void renderCellContent(Graphics g, String theFact) { String[] cellFacts = theFact.split(" "); if(cellFacts[4].equals("b")) return; g.setColor(Color.BLACK); CommonGraphics.fillWithString(g, cellFacts[4].toUpperCase(), 1.2); } }