[Picross-commit] SF.net SVN: picross: [36] trunk
Status: Pre-Alpha
Brought to you by:
yvan_norsa
From: <yva...@us...> - 2007-06-13 18:20:42
|
Revision: 36 http://picross.svn.sourceforge.net/picross/?rev=36&view=rev Author: yvan_norsa Date: 2007-06-13 11:20:44 -0700 (Wed, 13 Jun 2007) Log Message: ----------- random game, bigger applet Modified Paths: -------------- trunk/applet/index.html trunk/bugsFilter.xml trunk/src/picross/PicrossController.java trunk/src/picross/PicrossMediator.java trunk/src/picross/applet/MainMenuAppletUI.java trunk/src/picross/applet/PicrossApplet.java trunk/src/picross/grid/GridUI.java trunk/src/picross/menus/MainMenuController.java trunk/src/picross/menus/MainMenuUI.java trunk/src/picross/properties/messages_picross.properties trunk/src/picross/properties/messages_picross_fr.properties Added Paths: ----------- trunk/applet/log4j.properties trunk/src/picross/AbstractPicrossModel.java trunk/src/picross/PicrossGrid.java trunk/src/picross/game/ trunk/src/picross/game/GameMediator.java trunk/src/picross/game/GameUI.java trunk/src/picross/game/package.html trunk/src/picross/game/random/ trunk/src/picross/game/random/RandomGameController.java trunk/src/picross/game/random/RandomGameMediator.java trunk/src/picross/game/random/RandomGameUI.java trunk/src/picross/game/random/RandomPicrossModel.java trunk/src/picross/game/random/package.html Removed Paths: ------------- trunk/src/picross/PicrossModel.java Modified: trunk/applet/index.html =================================================================== --- trunk/applet/index.html 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/applet/index.html 2007-06-13 18:20:44 UTC (rev 36) @@ -24,17 +24,17 @@ </comment> <script language="JavaScript" type="text/javascript"><!-- - if (_ie == true) document.writeln('<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = "550" HEIGHT = "400" codebase="http://java.sun.com/update/1.5.0/jinstall-1_5-windows-i586.cab#Version=5,0,0,3"><noembed><xmp>'); + if (_ie == true) document.writeln('<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = "900" HEIGHT = "900" codebase="http://java.sun.com/update/1.5.0/jinstall-1_5-windows-i586.cab#Version=5,0,0,3"><noembed><xmp>'); else if (_ns == true && _ns6 == false) document.writeln('<embed ' + 'type="application/x-java-applet;version=1.5" \ CODE = "picross.applet.PicrossApplet" \ ARCHIVE = "picross.jar,bundleHelper.jar,log4j.jar,mmvcs.jar" \ - WIDTH = "550" \ - HEIGHT = "400" ' + + WIDTH = "900" \ + HEIGHT = "900" ' + 'scriptable=false ' + 'pluginspage="http://java.sun.com/products/plugin/index.html#download"><noembed><xmp>'); //--></script> -<applet CODE = "picross.applet.PicrossApplet" ARCHIVE = "picross.jar,bundleHelper.jar,log4j.jar,mmvcs.jar" WIDTH = "550" HEIGHT = "400"></xmp> +<applet CODE = "picross.applet.PicrossApplet" ARCHIVE = "picross.jar,bundleHelper.jar,log4j.jar,mmvcs.jar" WIDTH = "900" HEIGHT = "900"></xmp> <PARAM NAME = CODE VALUE = "picross.applet.PicrossApplet" > <PARAM NAME = ARCHIVE VALUE = "picross.jar,bundleHelper.jar,log4j.jar,mmvcs.jar" > <param name="type" value="application/x-java-applet;version=1.5"> @@ -46,7 +46,7 @@ </embed> </object> <!-- -<APPLET CODE = "picross.applet.PicrossApplet" ARCHIVE = "picross.jar,bundleHelper.jar,log4j.jar,mmvcs.jar" WIDTH = "550" HEIGHT = "400"> +<APPLET CODE = "picross.applet.PicrossApplet" ARCHIVE = "picross.jar,bundleHelper.jar,log4j.jar,mmvcs.jar" WIDTH = "900" HEIGHT = "900"> </APPLET> Added: trunk/applet/log4j.properties =================================================================== --- trunk/applet/log4j.properties (rev 0) +++ trunk/applet/log4j.properties 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,3 @@ +log4j.rootCategory=off + + Property changes on: trunk/applet/log4j.properties ___________________________________________________________________ Name: svn:keywords + Id Modified: trunk/bugsFilter.xml =================================================================== --- trunk/bugsFilter.xml 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/bugsFilter.xml 2007-06-13 18:20:44 UTC (rev 36) @@ -1,5 +1,5 @@ <FindBugsFilter> <Match classregex=".*"> - <Bug pattern="DM_CONVERT_CASE,LSC_LITERAL_STRING_COMPARISON,CLI_CONSTANT_LIST_INDEX,S508C_SET_COMP_COLOR" /> + <Bug pattern="DM_CONVERT_CASE,LSC_LITERAL_STRING_COMPARISON,CLI_CONSTANT_LIST_INDEX,S508C_SET_COMP_COLOR,S508C_NO_SETLABELFOR" /> </Match> </FindBugsFilter> Copied: trunk/src/picross/AbstractPicrossModel.java (from rev 32, trunk/src/picross/PicrossModel.java) =================================================================== --- trunk/src/picross/AbstractPicrossModel.java (rev 0) +++ trunk/src/picross/AbstractPicrossModel.java 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,268 @@ +/* + * $Id$ + * + * Copyright (c) 2007 + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + +package picross; + +/** + * Model handling the puzzle data. + * + * @author Y. Norsa + */ +public class AbstractPicrossModel implements PicrossGrid { + /*** Fields ***/ + + /** Grid width. */ + protected int width; + + /** Grid height. */ + protected int height; + + /** Grid content. */ + protected boolean[][] data; + + /*** Constructor ***/ + + /** Constructor. */ + /* + PicrossModel() { + this.width = 19; + this.height = 14; + + this.data = new boolean[this.width][this.height]; + + this.data[0][7] = true; + this.data[0][8] = true; + this.data[0][13] = true; + + this.data[1][6] = true; + this.data[1][7] = true; + this.data[1][8] = true; + this.data[1][9] = true; + this.data[1][12] = true; + this.data[1][13] = true; + + this.data[2][6] = true; + this.data[2][7] = true; + this.data[2][8] = true; + this.data[2][9] = true; + this.data[2][12] = true; + this.data[2][13] = true; + + this.data[3][5] = true; + this.data[3][6] = true; + this.data[3][8] = true; + this.data[3][9] = true; + this.data[3][10] = true; + this.data[3][11] = true; + this.data[3][12] = true; + this.data[3][13] = true; + + this.data[4][5] = true; + this.data[4][6] = true; + this.data[4][7] = true; + this.data[4][8] = true; + this.data[4][9] = true; + this.data[4][10] = true; + this.data[4][11] = true; + this.data[4][12] = true; + this.data[4][13] = true; + + this.data[5][0] = true; + this.data[5][1] = true; + this.data[5][2] = true; + this.data[5][3] = true; + this.data[5][4] = true; + this.data[5][5] = true; + this.data[5][6] = true; + this.data[5][7] = true; + this.data[5][8] = true; + this.data[5][9] = true; + this.data[5][10] = true; + this.data[5][11] = true; + this.data[5][12] = true; + this.data[5][13] = true; + + this.data[6][0] = true; + this.data[6][1] = true; + this.data[6][2] = true; + this.data[6][3] = true; + this.data[6][4] = true; + this.data[6][5] = true; + this.data[6][6] = true; + this.data[6][7] = true; + this.data[6][8] = true; + this.data[6][9] = true; + this.data[6][10] = true; + this.data[6][11] = true; + this.data[6][12] = true; + this.data[6][13] = true; + + this.data[7][1] = true; + this.data[7][2] = true; + this.data[7][3] = true; + this.data[7][4] = true; + this.data[7][5] = true; + this.data[7][6] = true; + this.data[7][7] = true; + this.data[7][8] = true; + this.data[7][9] = true; + this.data[7][10] = true; + this.data[7][11] = true; + this.data[7][12] = true; + this.data[7][13] = true; + + this.data[8][8] = true; + this.data[8][9] = true; + this.data[8][10] = true; + this.data[8][11] = true; + this.data[8][12] = true; + this.data[8][13] = true; + + this.data[9][7] = true; + this.data[9][8] = true; + this.data[9][9] = true; + this.data[9][10] = true; + this.data[9][11] = true; + this.data[9][12] = true; + this.data[9][13] = true; + + this.data[10][7] = true; + this.data[10][8] = true; + this.data[10][9] = true; + this.data[10][10] = true; + this.data[10][11] = true; + this.data[10][12] = true; + this.data[10][13] = true; + + this.data[11][6] = true; + this.data[11][7] = true; + this.data[11][8] = true; + this.data[11][9] = true; + this.data[11][10] = true; + this.data[11][11] = true; + this.data[11][12] = true; + this.data[11][13] = true; + + this.data[12][6] = true; + this.data[12][7] = true; + this.data[12][8] = true; + this.data[12][9] = true; + this.data[12][10] = true; + this.data[12][11] = true; + this.data[12][12] = true; + this.data[12][13] = true; + + this.data[13][6] = true; + this.data[13][7] = true; + this.data[13][8] = true; + this.data[13][9] = true; + this.data[13][10] = true; + this.data[13][11] = true; + this.data[13][12] = true; + this.data[13][13] = true; + + this.data[14][6] = true; + this.data[14][7] = true; + this.data[14][8] = true; + this.data[14][9] = true; + this.data[14][10] = true; + this.data[14][11] = true; + this.data[14][12] = true; + this.data[14][13] = true; + + this.data[15][7] = true; + this.data[15][8] = true; + this.data[15][9] = true; + this.data[15][10] = true; + this.data[15][11] = true; + this.data[15][12] = true; + this.data[15][13] = true; + + this.data[16][9] = true; + this.data[16][10] = true; + this.data[16][11] = true; + this.data[16][12] = true; + this.data[16][13] = true; + + this.data[17][8] = true; + this.data[17][9] = true; + this.data[17][10] = true; + this.data[17][11] = true; + this.data[17][12] = true; + this.data[17][13] = true; + + this.data[18][9] = true; + this.data[18][10] = true; + this.data[18][11] = true; + this.data[18][12] = true; + } + */ + /*** Accessors ***/ + + /** + * Returns the width. + * + * @return grid width + */ + public final int getWidth() { + return this.width; + } + + /** + * Returns the height. + * + * @return grid height + */ + public final int getHeight() { + return this.height; + } + + /** + * Returns the content. + * + * @return grid content + */ + public final boolean[][] getData() { + boolean[][] dataCopy = new boolean[this.data.length][]; + + for (int i = 0; i < this.data.length; i++) { + dataCopy[i] = new boolean[this.data[i].length]; + System.arraycopy(this.data[i], 0, + dataCopy[i], 0, + this.data[i].length); + } + + return dataCopy; + } +} + Modified: trunk/src/picross/PicrossController.java =================================================================== --- trunk/src/picross/PicrossController.java 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/src/picross/PicrossController.java 2007-06-13 18:20:44 UTC (rev 36) @@ -43,7 +43,12 @@ * * @author Y. Norsa */ -final class PicrossController extends Controller { +public final class PicrossController extends Controller { + /*** Constant ***/ + + /** Play command. */ + public static final String PLAY_CMD = "PLAY_CMD"; + /*** Static field ***/ /** The class's logger. */ Added: trunk/src/picross/PicrossGrid.java =================================================================== --- trunk/src/picross/PicrossGrid.java (rev 0) +++ trunk/src/picross/PicrossGrid.java 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,62 @@ +/* + * $Id$ + * + * Copyright (c) 2007 + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + +package picross; + +/** + * Interface for classes able to provide a grid. + * + * @author Y. Norsa + */ +public interface PicrossGrid { + /** + * Returns the width. + * + * @return grid width + */ + int getWidth(); + + /** + * Returns the height. + * + * @return grid height + */ + int getHeight(); + + /** + * Returns the content. + * + * @return grid content + */ + boolean[][] getData(); +} Property changes on: trunk/src/picross/PicrossGrid.java ___________________________________________________________________ Name: svn:keywords + Id Modified: trunk/src/picross/PicrossMediator.java =================================================================== --- trunk/src/picross/PicrossMediator.java 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/src/picross/PicrossMediator.java 2007-06-13 18:20:44 UTC (rev 36) @@ -40,8 +40,9 @@ //import org.apache.log4j.Logger; +import picross.game.GameMediator; + import picross.grid.GridController; -import picross.grid.GridMediator; import picross.menus.MainMenuController; import picross.menus.MainMenuMediator; @@ -101,16 +102,13 @@ String cmd = e.getCommandName(); - if (cmd.equals(MainMenuController.PLAY_CMD)) { - PicrossModel model = new PicrossModel(); + if (cmd.equals(PicrossController.PLAY_CMD)) { + //this.view.setContent(grid.getView()); - GridMediator grid = new GridMediator(model.getWidth(), - model.getHeight(), - model.getData()); - grid.addSimpleListener(this); + GameMediator game = new picross.game.random.RandomGameMediator(); + game.addSimpleListener(this); + this.view.setContent(game.getView()); - this.view.setContent(grid.getView()); - return; } @@ -121,7 +119,8 @@ if (cmd.equals(GridController.GRID_FILLED_CMD)) { this.fireEventPerformed(PicrossController.MESSAGE_CMD, - BundleHelper.getString(this, "victory")); + BundleHelper.getString(this, "victory") + + " !"); return; } } Deleted: trunk/src/picross/PicrossModel.java =================================================================== --- trunk/src/picross/PicrossModel.java 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/src/picross/PicrossModel.java 2007-06-13 18:20:44 UTC (rev 36) @@ -1,258 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2007 - * - * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, - * modify and/ or redistribute the software under the terms of the CeCILL - * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * - * As a counterpart to the access to the source code and rights to copy, - * modify and redistribute granted by the license, users are provided only - * with a limited warranty and the software's author, the holder of the - * economic rights, and the successive licensors have only limited - * liability. - * - * In this respect, the user's attention is drawn to the risks associated - * with loading, using, modifying and/or developing or reproducing the - * software by the user in light of its specific status of free software, - * that may mean that it is complicated to manipulate, and that also - * therefore means that it is reserved for developers and experienced - * professionals having in-depth computer knowledge. Users are therefore - * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * - * The fact that you are presently reading this means that you have had - * knowledge of the CeCILL license and that you accept its terms. - */ - - -package picross; - -/** - * Model handling the puzzle data. - * - * @author Y. Norsa - */ -final class PicrossModel { - /*** Fields ***/ - - /** Grid width. */ - private int width; - - /** Grid height. */ - private int height; - - /** Grid content. */ - private boolean[][] data; - - /*** Constructor ***/ - - /** Constructor. */ - PicrossModel() { - this.width = 19; - this.height = 14; - - this.data = new boolean[this.width][this.height]; - - this.data[0][7] = true; - this.data[0][8] = true; - this.data[0][13] = true; - - this.data[1][6] = true; - this.data[1][7] = true; - this.data[1][8] = true; - this.data[1][9] = true; - this.data[1][12] = true; - this.data[1][13] = true; - - this.data[2][6] = true; - this.data[2][7] = true; - this.data[2][8] = true; - this.data[2][9] = true; - this.data[2][12] = true; - this.data[2][13] = true; - - this.data[3][5] = true; - this.data[3][6] = true; - this.data[3][8] = true; - this.data[3][9] = true; - this.data[3][10] = true; - this.data[3][11] = true; - this.data[3][12] = true; - this.data[3][13] = true; - - this.data[4][5] = true; - this.data[4][6] = true; - this.data[4][7] = true; - this.data[4][8] = true; - this.data[4][9] = true; - this.data[4][10] = true; - this.data[4][11] = true; - this.data[4][12] = true; - this.data[4][13] = true; - - this.data[5][0] = true; - this.data[5][1] = true; - this.data[5][2] = true; - this.data[5][3] = true; - this.data[5][4] = true; - this.data[5][5] = true; - this.data[5][6] = true; - this.data[5][7] = true; - this.data[5][8] = true; - this.data[5][9] = true; - this.data[5][10] = true; - this.data[5][11] = true; - this.data[5][12] = true; - this.data[5][13] = true; - - this.data[6][0] = true; - this.data[6][1] = true; - this.data[6][2] = true; - this.data[6][3] = true; - this.data[6][4] = true; - this.data[6][5] = true; - this.data[6][6] = true; - this.data[6][7] = true; - this.data[6][8] = true; - this.data[6][9] = true; - this.data[6][10] = true; - this.data[6][11] = true; - this.data[6][12] = true; - this.data[6][13] = true; - - this.data[7][1] = true; - this.data[7][2] = true; - this.data[7][3] = true; - this.data[7][4] = true; - this.data[7][5] = true; - this.data[7][6] = true; - this.data[7][7] = true; - this.data[7][8] = true; - this.data[7][9] = true; - this.data[7][10] = true; - this.data[7][11] = true; - this.data[7][12] = true; - this.data[7][13] = true; - - this.data[8][8] = true; - this.data[8][9] = true; - this.data[8][10] = true; - this.data[8][11] = true; - this.data[8][12] = true; - this.data[8][13] = true; - - this.data[9][7] = true; - this.data[9][8] = true; - this.data[9][9] = true; - this.data[9][10] = true; - this.data[9][11] = true; - this.data[9][12] = true; - this.data[9][13] = true; - - this.data[10][7] = true; - this.data[10][8] = true; - this.data[10][9] = true; - this.data[10][10] = true; - this.data[10][11] = true; - this.data[10][12] = true; - this.data[10][13] = true; - - this.data[11][6] = true; - this.data[11][7] = true; - this.data[11][8] = true; - this.data[11][9] = true; - this.data[11][10] = true; - this.data[11][11] = true; - this.data[11][12] = true; - this.data[11][13] = true; - - this.data[12][6] = true; - this.data[12][7] = true; - this.data[12][8] = true; - this.data[12][9] = true; - this.data[12][10] = true; - this.data[12][11] = true; - this.data[12][12] = true; - this.data[12][13] = true; - - this.data[13][6] = true; - this.data[13][7] = true; - this.data[13][8] = true; - this.data[13][9] = true; - this.data[13][10] = true; - this.data[13][11] = true; - this.data[13][12] = true; - this.data[13][13] = true; - - this.data[14][6] = true; - this.data[14][7] = true; - this.data[14][8] = true; - this.data[14][9] = true; - this.data[14][10] = true; - this.data[14][11] = true; - this.data[14][12] = true; - this.data[14][13] = true; - - this.data[15][7] = true; - this.data[15][8] = true; - this.data[15][9] = true; - this.data[15][10] = true; - this.data[15][11] = true; - this.data[15][12] = true; - this.data[15][13] = true; - - this.data[16][9] = true; - this.data[16][10] = true; - this.data[16][11] = true; - this.data[16][12] = true; - this.data[16][13] = true; - - this.data[17][8] = true; - this.data[17][9] = true; - this.data[17][10] = true; - this.data[17][11] = true; - this.data[17][12] = true; - this.data[17][13] = true; - - this.data[18][9] = true; - this.data[18][10] = true; - this.data[18][11] = true; - this.data[18][12] = true; - } - - /*** Accessors ***/ - - /** - * Returns the width. - * - * @return grid width - */ - int getWidth() { - return this.width; - } - - /** - * Returns the height. - * - * @return grid height - */ - int getHeight() { - return this.height; - } - - /** - * Returns the content. - * - * @return grid content - */ - boolean[][] getData() { - return this.data; - } -} - Modified: trunk/src/picross/applet/MainMenuAppletUI.java =================================================================== --- trunk/src/picross/applet/MainMenuAppletUI.java 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/src/picross/applet/MainMenuAppletUI.java 2007-06-13 18:20:44 UTC (rev 36) @@ -1,50 +1,40 @@ /* * $Id$ - * \xC9crit le 07/06/2007 par Y. Norsa * * Copyright (c) 2007 - * Projet Carte Lorraine de l'Etudiant (CLE) * - * Universit\xE9 Henri Poincar\xE9, Nancy - * Universit\xE9 Nancy2 - * Institut National Polytechnique de Lorraine - * Universit\xE9 Paul Verlaine, Metz + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". * - * Ce projet regroupe les d\xE9veloppements concernant la production - * et l'exploitation de la Carte Lorraine de l'Etudiant - * (carte \xE0 puce sans contact Mifare). + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. * - * Ce logiciel est r\xE9gi par la licence CeCILL soumise au droit fran\xE7ais et - * respectant les principes de diffusion des logiciels libres. Vous pouvez - * utiliser, modifier et/ou redistribuer ce programme sous les conditions - * de la licence CeCILL telle que diffus\xE9e par le CEA, le CNRS et l'INRIA - * sur le site "http://www.cecill.info". + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. * - * En contrepartie de l'accessibilit\xE9 au code source et des droits de copie, - * de modification et de redistribution accord\xE9s par cette licence, il n'est - * offert aux utilisateurs qu'une garantie limit\xE9e. Pour les m\xEAmes raisons, - * seule une responsabilit\xE9 restreinte p\xE8se sur l'auteur du programme, le - * titulaire des droits patrimoniaux et les conc\xE9dants successifs. - * - * A cet \xE9gard l'attention de l'utilisateur est attir\xE9e sur les risques - * associ\xE9s au chargement, \xE0 l'utilisation, \xE0 la modification et/ou au - * d\xE9veloppement et \xE0 la reproduction du logiciel par l'utilisateur \xE9tant - * donn\xE9 sa sp\xE9cificit\xE9 de logiciel libre, qui peut le rendre complexe \xE0 - * manipuler et qui le r\xE9serve donc \xE0 des d\xE9veloppeurs et des professionnels - * avertis poss\xE9dant des connaissances informatiques approfondies. Les - * utilisateurs sont donc invit\xE9s \xE0 charger et tester l'ad\xE9quation du - * logiciel \xE0 leurs besoins dans des conditions permettant d'assurer la - * s\xE9curit\xE9 de leurs syst\xE8mes et ou de leurs donn\xE9es et, plus g\xE9n\xE9ralement, - * \xE0 l'utiliser et l'exploiter dans les m\xEAmes conditions de s\xE9curit\xE9. - * - * Le fait que vous puissiez acc\xE9der \xE0 cet en-t\xEAte signifie que vous avez - * pris connaissance de la licence CeCILL, et que vous en avez accept\xE9 les - * termes. + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. */ package picross.applet; +import java.awt.Color; + import java.awt.event.ActionListener; import picross.menus.MainMenuUI; @@ -75,6 +65,8 @@ */ public MainMenuAppletUI(ActionListener controller) { super(controller); + + this.setBackground(Color.WHITE); } /*** Methods inherited from the class MainMenuUI ***/ Modified: trunk/src/picross/applet/PicrossApplet.java =================================================================== --- trunk/src/picross/applet/PicrossApplet.java 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/src/picross/applet/PicrossApplet.java 2007-06-13 18:20:44 UTC (rev 36) @@ -33,8 +33,6 @@ package picross.applet; -import java.awt.Color; - import javax.swing.JApplet; import javax.swing.JOptionPane; import javax.swing.JPanel; Added: trunk/src/picross/game/GameMediator.java =================================================================== --- trunk/src/picross/game/GameMediator.java (rev 0) +++ trunk/src/picross/game/GameMediator.java 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,116 @@ +/* + * $Id$ + * + * Copyright (c) 2007 + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + +package picross.game; + +import fr.cle.mmvcs.Mediateur; +import fr.cle.mmvcs.SimpleEvent; + +import javax.swing.JPanel; + +import org.apache.log4j.Logger; + +import picross.PicrossGrid; + +import picross.grid.GridMediator; + +/** + * Handles a game. + * + * @author Y. Norsa + */ +public abstract class GameMediator extends Mediateur { + /*** Static field ***/ + + /** The class' logger. */ + private static Logger log = Logger.getLogger(GameMediator.class); + + /*** Field ***/ + + /** The game view. */ + private GameUI view; + + /*** Constructor ***/ + + /** Constructor. */ + public GameMediator() { + PicrossGrid model = this.initModel(); + + GridMediator grid = new GridMediator(model.getWidth(), + model.getHeight(), + model.getData()); + grid.addSimpleListener(this); + + this.view = + this.initView(model.getWidth(), model.getHeight(), grid.getView()); + } + + /*** Abstract methods ***/ + + /** + * Creates the view. + * + * @param width the grid width + * @param height the grid height + * @param gridView the grid itself + * @return view containing the grid + */ + protected abstract GameUI initView(int width, int height, JPanel gridView); + + /** + * Creates the model. + * + * @return grid model + */ + protected abstract PicrossGrid initModel(); + + /*** Method overloaded from the class Mediator ***/ + + /** {@inheritDoc} */ + public void eventPerformed(SimpleEvent e) { + GameMediator.log.debug("eventPerformed(" + e + ")"); + + this.fireEventPerformed(e); + } + + /*** Method ***/ + + /** + * Returns the game view. + * + * @return the view + */ + public JPanel getView() { + return this.view; + } +} Property changes on: trunk/src/picross/game/GameMediator.java ___________________________________________________________________ Name: svn:keywords + Id Added: trunk/src/picross/game/GameUI.java =================================================================== --- trunk/src/picross/game/GameUI.java (rev 0) +++ trunk/src/picross/game/GameUI.java 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,91 @@ +/* + * $Id$ + * + * Copyright (c) 2007 + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + +package picross.game; + +import bundleHelper.BundleHelper; + +import java.awt.BorderLayout; +import java.awt.Color; + +import javax.swing.BoxLayout; +import javax.swing.JLabel; +import javax.swing.JPanel; + +import picross.Picross; + +/** + * The game UI. + * + * @author Y. Norsa + */ +public class GameUI extends JPanel { + /*** Constant ***/ + + /** Serialisation ID. */ + private static final long serialVersionUID = 5888877041010228476L; + + /*** Field ***/ + + /** Displays informations about the current game. */ + protected JPanel infosPanel; + + /*** Constructor ***/ + + /** + * Constructor. + * + * @param width the grid width + * @param height the grid height + * @param grid the grid + */ + public GameUI(int width, int height, JPanel grid) { + super(); + + this.setLayout(new BorderLayout()); + + this.infosPanel = new JPanel(); + this.infosPanel.setBackground(Color.WHITE); + this.infosPanel.setLayout(new BoxLayout(this.infosPanel, + BoxLayout.Y_AXIS)); + + // FIXME "this" should be usable instead of "Picross.class" + JLabel infos = new JLabel(BundleHelper.getString(Picross.class, + "gridSize") + + " : " + width + "*" + height); + this.infosPanel.add(infos); + + this.add(this.infosPanel, BorderLayout.NORTH); + this.add(grid, BorderLayout.CENTER); + } +} Property changes on: trunk/src/picross/game/GameUI.java ___________________________________________________________________ Name: svn:keywords + Id Added: trunk/src/picross/game/package.html =================================================================== --- trunk/src/picross/game/package.html (rev 0) +++ trunk/src/picross/game/package.html 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,12 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> + <head> + <!-- + $Id$ + --> + </head> + + <body bgcolor="white"> + Classes relative to a game. + </body> +</html> Property changes on: trunk/src/picross/game/package.html ___________________________________________________________________ Name: svn:keywords + Id Added: trunk/src/picross/game/random/RandomGameController.java =================================================================== --- trunk/src/picross/game/random/RandomGameController.java (rev 0) +++ trunk/src/picross/game/random/RandomGameController.java 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,79 @@ +/* + * $Id$ + * + * Copyright (c) 2007 + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + +package picross.game.random; + +import fr.cle.mmvcs.Controller; +import fr.cle.mmvcs.SimpleEvent; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import org.apache.log4j.Logger; + +/** + * Controller for the random game UI. + * + * @author Y. Norsa + */ +final class RandomGameController extends Controller implements ActionListener { + /*** Constant ***/ + + /** Command asking to create another grid. */ + static final String NEXT_CMD = "NEXT_CMD"; + + /*** Static field ***/ + + /** The class' logger. */ + private static Logger log = Logger.getLogger(RandomGameController.class); + + /*** Method overloaded from the class Controller ***/ + + /** {@inheritDoc} */ + public void eventPerformed(SimpleEvent e) { + RandomGameController.log.debug("eventPerformed(" + e + ")"); + } + + /*** Method implanted from the interface ActionListener ***/ + + /** {@inheritDoc} */ + public void actionPerformed(ActionEvent e) { + RandomGameController.log.debug("actionPerformed(" + e + ")"); + + String cmd = e.getActionCommand(); + + if (cmd.equals(RandomGameController.NEXT_CMD)) { + this.fireEventPerformed(cmd); + } + } +} Property changes on: trunk/src/picross/game/random/RandomGameController.java ___________________________________________________________________ Name: svn:keywords + Id Added: trunk/src/picross/game/random/RandomGameMediator.java =================================================================== --- trunk/src/picross/game/random/RandomGameMediator.java (rev 0) +++ trunk/src/picross/game/random/RandomGameMediator.java 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,89 @@ +/* + * $Id$ + * + * Copyright (c) 2007 + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + +package picross.game.random; + +import fr.cle.mmvcs.SimpleEvent; + +import javax.swing.JPanel; + +import org.apache.log4j.Logger; + +import picross.PicrossController; +import picross.PicrossGrid; + +import picross.game.GameMediator; +import picross.game.GameUI; + +/** + * This object handles a random grid game. + * + * @author Y. Norsa + */ +public final class RandomGameMediator extends GameMediator { + /*** Static field ***/ + + /** The class' logger. */ + private static Logger log = Logger.getLogger(RandomGameMediator.class); + + /*** Methods overloaded from the class GameMediator ***/ + + /** {@inheritDoc} */ + protected GameUI initView(int width, int height, JPanel gridView) { + RandomGameController controller = new RandomGameController(); + controller.addSimpleListener(this); + + return new RandomGameUI(width, height, gridView, + controller); + } + + /** {@inheritDoc} */ + protected PicrossGrid initModel() { + return new RandomPicrossModel(); + } + + /** {@inheritDoc} */ + public void eventPerformed(SimpleEvent e) { + RandomGameMediator.log.debug("eventPerformed(" + e + ")"); + + String cmd = e.getCommandName(); + + if (cmd.equals(RandomGameController.NEXT_CMD)) { + this.fireEventPerformed(PicrossController.PLAY_CMD); + return; + } + + // We want to relay other events, such as GRID_FILLED_CMD + super.eventPerformed(e); + } +} Property changes on: trunk/src/picross/game/random/RandomGameMediator.java ___________________________________________________________________ Name: svn:keywords + Id Added: trunk/src/picross/game/random/RandomGameUI.java =================================================================== --- trunk/src/picross/game/random/RandomGameUI.java (rev 0) +++ trunk/src/picross/game/random/RandomGameUI.java 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,82 @@ +/* + * $Id$ + * + * Copyright (c) 2007 + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + +package picross.game.random; + +import bundleHelper.BundleHelper; + +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JPanel; + +import picross.Picross; + +import picross.game.GameUI; + +/** + * UI modifications for a random game. + * + * @author Y. Norsa + */ +final class RandomGameUI extends GameUI { + /*** Constant ***/ + + /** Serialisation ID. */ + private static final long serialVersionUID = -5378941563835370491L; + + /*** Constructor ***/ + + /** + * Constructor. + * + * @param width the grid width + * @param height the grid height + * @param grid the grid + * @param controller the UI controller + */ + RandomGameUI(int width, int height, JPanel grid, + ActionListener controller) { + super(width, height, grid); + + JButton nextButton = + new JButton(BundleHelper.getString(Picross.class, "anotherGrid")); + nextButton.addActionListener(controller); + nextButton.setActionCommand(RandomGameController.NEXT_CMD); + + this.infosPanel.add(nextButton); + + // FIXME this should not be here + this.infosPanel.add(new javax.swing.JSeparator()); + } +} Property changes on: trunk/src/picross/game/random/RandomGameUI.java ___________________________________________________________________ Name: svn:keywords + Id Added: trunk/src/picross/game/random/RandomPicrossModel.java =================================================================== --- trunk/src/picross/game/random/RandomPicrossModel.java (rev 0) +++ trunk/src/picross/game/random/RandomPicrossModel.java 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,78 @@ +/* + * $Id$ + * + * Copyright (c) 2007 + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + +package picross.game.random; + +import java.util.Random; + +import org.apache.log4j.Logger; + +import picross.AbstractPicrossModel; + +/** + * This class provides a random grid. + * + * @author Y. Norsa + */ +final class RandomPicrossModel extends AbstractPicrossModel { + /*** Static field ***/ + + /** The class' logger. */ + private static Logger log = Logger.getLogger(RandomPicrossModel.class); + + /*** Constructor ***/ + + /** Constructor. */ + RandomPicrossModel() { + Random rand = new Random(); + + while (this.width == 0) { + this.width = rand.nextInt(25); + } + + while (this.height == 0) { + this.height = rand.nextInt(25); + } + + RandomPicrossModel.log.debug("this.width = " + this.width + + ", this.height = " + this.height); + + this.data = new boolean[this.width][this.height]; + + for (int i = 0; i < this.width; i++) { + for (int j = 0; j < this.height; j++) { + this.data[i][j] = rand.nextBoolean(); + } + } + } +} Property changes on: trunk/src/picross/game/random/RandomPicrossModel.java ___________________________________________________________________ Name: svn:keywords + Id Added: trunk/src/picross/game/random/package.html =================================================================== --- trunk/src/picross/game/random/package.html (rev 0) +++ trunk/src/picross/game/random/package.html 2007-06-13 18:20:44 UTC (rev 36) @@ -0,0 +1,12 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> + <head> + <!-- + $Id$ + --> + </head> + + <body bgcolor="white"> + Random grid game. + </body> +</html> Property changes on: trunk/src/picross/game/random/package.html ___________________________________________________________________ Name: svn:keywords + Id Modified: trunk/src/picross/grid/GridUI.java =================================================================== --- trunk/src/picross/grid/GridUI.java 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/src/picross/grid/GridUI.java 2007-06-13 18:20:44 UTC (rev 36) @@ -219,8 +219,8 @@ this.addMouseListener(this.controller); this.addMouseMotionListener(this.controller); + this.setBackground(Color.WHITE); this.setOpaque(true); - this.setBackground(Color.WHITE); this.width = width; this.height = height; @@ -253,13 +253,13 @@ // Now computes the grid boundaries this.leftBoundary = GridUI.LEFT_HINTS - + (this.rowData[0].length * leftHintsDecal); + + (this.rowData[0].length * this.leftHintsDecal); this.rightBoundary = this.leftBoundary + (this.width * GridUI.BOX_WIDTH); this.topBoundary = GridUI.TOP_HINTS - + (this.colData[0].length * topHintsDecal); + + (this.colData[0].length * this.topHintsDecal); this.bottomBoundary = this.topBoundary + (this.height * GridUI.BOX_HEIGHT); Modified: trunk/src/picross/menus/MainMenuController.java =================================================================== --- trunk/src/picross/menus/MainMenuController.java 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/src/picross/menus/MainMenuController.java 2007-06-13 18:20:44 UTC (rev 36) @@ -41,17 +41,16 @@ import org.apache.log4j.Logger; +import picross.PicrossController; + /** * Controller for the main menu. * * @author Y. Norsa */ public class MainMenuController extends Controller implements ActionListener { - /*** Constants ***/ + /*** Constant ***/ - /** Play command. */ - public static final String PLAY_CMD = "PLAY_CMD"; - /** Exit command. */ public static final String EXIT_CMD = "EXIT_CMD"; @@ -77,7 +76,7 @@ //javax.swing.JOptionPane.showMessageDialog(null, "click : " + cmd); - if (cmd.equals(MainMenuController.PLAY_CMD) + if (cmd.equals(PicrossController.PLAY_CMD) || cmd.equals(MainMenuController.EXIT_CMD)) { this.fireEventPerformed(cmd); Modified: trunk/src/picross/menus/MainMenuUI.java =================================================================== --- trunk/src/picross/menus/MainMenuUI.java 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/src/picross/menus/MainMenuUI.java 2007-06-13 18:20:44 UTC (rev 36) @@ -44,6 +44,7 @@ import javax.swing.JPanel; import picross.Picross; +import picross.PicrossController; /** * UI for the main menu. @@ -85,7 +86,7 @@ ImageIcon playIcon = Picross.getLocalizedImage(MainMenuUI.PLAY_BUTTON_IMAGE); JButton playButton = new JButton(playIcon); - playButton.setActionCommand(MainMenuController.PLAY_CMD); + playButton.setActionCommand(PicrossController.PLAY_CMD); playButton.addActionListener(controller); playButton.setBorder(null); playButton.setBounds(this.getPlayButtonX(), this.getPlayButtonY(), Modified: trunk/src/picross/properties/messages_picross.properties =================================================================== --- trunk/src/picross/properties/messages_picross.properties 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/src/picross/properties/messages_picross.properties 2007-06-13 18:20:44 UTC (rev 36) @@ -1 +1,8 @@ -victory = Congratulations ! +# picross.PicrossMediator +victory = Congratulations + +# picross.game.GameUI +gridSize = Size + +# picross.game.random.RandomGameUI +anotherGrid = Another grid Modified: trunk/src/picross/properties/messages_picross_fr.properties =================================================================== --- trunk/src/picross/properties/messages_picross_fr.properties 2007-06-13 18:01:08 UTC (rev 35) +++ trunk/src/picross/properties/messages_picross_fr.properties 2007-06-13 18:20:44 UTC (rev 36) @@ -1,2 +1,9 @@ # picross.PicrossMediator -victory = F\xE9licitations ! +victory = F\xE9licitations + +# picross.game.GameUI +gridSize = Taille + +# picross.game.random.RandomGameUI +anotherGrid = Une autre grille + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |