public void setup() {
      tapp = new TiledApp(con) {
            public boolean key(KeyEvent kev) {
               //log("Key: " + kev);
               return false;
            }
            public boolean keyover(KeyEvent kev) {
               if (kev.tag == KP.C_C) {
                  con.eloop.reqAbort();
                  return true;
               }
               if (kev.tag == KP.C_L) {
                  con.reinit();
                  con.eloop.reqUpdate();
                  return true;
               }
               return false;
            }
         };
      intro = new IntroPage(tapp);
      play = new PlayPage(tapp);
      scores = new Scores(
         new File(env.get("HOME") + File.separator +
                  ".scramjet" + File.separator +
                  "teeclub-scores.txt"));
      if (scores.file.exists()) {
         try {
            scores.load();
         } catch (IOException e) {
            scores = null;
            scores_error = "Error loading scores: " + e.getMessage();
         }
      }

      // Get username for hi-score list
      user = env.get("USER");
      if (user == null)
         user = env.get("LOGNAME");
      if (user == null) {
         user = env.get("HOME");
         int ii = user.lastIndexOf(File.separator);
         if (ii >= 0)
            user = user.substring(ii+1);
      }
   }