aboutsummaryrefslogtreecommitdiff
path: root/PuzzleApplet.java
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2008-06-26 19:09:07 +0000
committerSimon Tatham <anakin@pobox.com>2008-06-26 19:09:07 +0000
commit0c88256a22bc27737ff0a50ab5a42425534dba3b (patch)
treeda48c8e55c266093edd699f4e29d3c4ea338e4fd /PuzzleApplet.java
parent82b6a6fd39fc49ab511b3b4d748b415eb6af704a (diff)
downloadpuzzles-0c88256a22bc27737ff0a50ab5a42425534dba3b.zip
puzzles-0c88256a22bc27737ff0a50ab5a42425534dba3b.tar.gz
puzzles-0c88256a22bc27737ff0a50ab5a42425534dba3b.tar.bz2
puzzles-0c88256a22bc27737ff0a50ab5a42425534dba3b.tar.xz
Handle a <param name="game_id"> by passing it in to the C side as
argv[1], which in turn feeds it into the midend as a game ID. This can of course take any of the forms supported by the native C puzzles: a pure game parameter string, a params:description specific game ID, or a params#seed random game ID. [originally from svn r8095]
Diffstat (limited to 'PuzzleApplet.java')
-rw-r--r--PuzzleApplet.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/PuzzleApplet.java b/PuzzleApplet.java
index ef7ca7e..f68dddf 100644
--- a/PuzzleApplet.java
+++ b/PuzzleApplet.java
@@ -33,6 +33,7 @@ public class PuzzleApplet extends JApplet implements Runtime.CallJavaCB {
private JLabel statusBar;
private PuzzlePanel pp;
private Runtime runtime;
+ private String[] puzzle_args;
private Graphics2D gg;
private Timer timer;
private int xarg1, xarg2, xarg3;
@@ -172,9 +173,23 @@ public class PuzzleApplet extends JApplet implements Runtime.CallJavaCB {
runtimeCall("jcallback_timer_func", new int[0]);
}
});
+ String gameid;
+ try {
+ gameid = getParameter("game_id");
+ } catch (java.lang.NullPointerException ex) {
+ gameid = null;
+ }
+ System.out.println("ooh " + gameid);
+ if (gameid == null) {
+ puzzle_args = null;
+ } else {
+ puzzle_args = new String[2];
+ puzzle_args[0] = "puzzle";
+ puzzle_args[1] = gameid;
+ }
SwingUtilities.invokeLater(new Runnable() {
public void run() {
- runtime.start();
+ runtime.start(puzzle_args);
runtime.execute();
}
});