home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Chess / Fly_Chess.jar / PostThread.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-08-23  |  4.6 KB  |  149 lines

  1. import java.util.Calendar;
  2.  
  3. public class PostThread extends Thread {
  4.    private static final int MAXTRYS = 200;
  5.    private static int sequencenumber = 0;
  6.    private static String posturl = null;
  7.    private static String midletid = null;
  8.    private String message = null;
  9.    private String answer = null;
  10.    private boolean ready = false;
  11.    private int fail = 0;
  12.    private ChessGame chessgame;
  13.    private static String[] posthistory = new String[3];
  14.  
  15.    public PostThread(ChessGame var1, String var2) {
  16.       this.message = new String(var2);
  17.       this.chessgame = var1;
  18.       this.ready = false;
  19.       ++sequencenumber;
  20.       this.fail = 0;
  21.    }
  22.  
  23.    public String getMessage() {
  24.       return !this.ready ? null : this.message;
  25.    }
  26.  
  27.    public static String getPostHistory() {
  28.       String var0 = "";
  29.       int var1 = sequencenumber % 3;
  30.       if (posthistory[var1] != null) {
  31.          var0 = var0 + posthistory[var1] + "\n";
  32.       }
  33.  
  34.       var1 = (var1 + 2) % 3;
  35.       if (posthistory[var1] != null) {
  36.          var0 = var0 + posthistory[var1] + "\n";
  37.       }
  38.  
  39.       var1 = (var1 + 2) % 3;
  40.       if (posthistory[var1] != null) {
  41.          var0 = var0 + posthistory[var1] + "\n";
  42.       }
  43.  
  44.       return var0;
  45.    }
  46.  
  47.    private void invokeServlet() throws Exception {
  48.       this.storePost();
  49.       switch (sequencenumber) {
  50.          case 1:
  51.             this.answer = "logon Logon OK |";
  52.             break;
  53.          case 2:
  54.             this.answer = "who Ebbi   Ottifloh  Jaap";
  55.             break;
  56.          case 3:
  57.             this.answer = "match Issuing: reaaft (++++) PowB (1568) unrated blitz 5 0. --** PowB is a computer **--";
  58.             break;
  59.          case 4:
  60.             this.answer = "poll Ebbi accepts your challenge.";
  61.             break;
  62.          case 5:
  63.             this.answer = "refresh <12> rnbqkbnr pppppppp -------- -------- -------- -------- PPPPPPPP RNBQKBNR W -1 1 1 1 1 0 2 motb motw -1 5 0 39 39 300 300 1 none (0:00) none 1 ";
  64.             break;
  65.          case 6:
  66.             this.answer = "nextstate <12> rnbqkbnr pppppppp -------- -------- -P------ -------- P-PPPPPP RNBQKBNR B 1 1 1 1 1 0 2 motb motw 1 5 0 39 39 237 300 1 P/b2-b4 (1:03) b4 1 ";
  67.             break;
  68.          case 7:
  69.             this.answer = "move <12> rnbqkbnr p-pppppp -p------ -------- -P------ -------- P-PPPPPP RNBQKBNR W -1 1 1 1 1 0 2 motb motw -1 5 0 39 39 237 273 2 P/b7-b6 (0:27) b6 1";
  70.             break;
  71.          case 8:
  72.             this.answer = "nextstate <12> rnbqkbnr p-pppppp -p------ -------- -P------ ---P---- P-P-PPPP RNBQKBNR B -1 1 1 1 1 0 2 motb motw 1 5 0 39 39 192 273 2 P/d2-d3 (0:45) d3 1";
  73.             break;
  74.          case 9:
  75.             this.answer = "move <12> rnbqkbnr p-pp-ppp -p--p--- -------- -P------ ---P---- P-P-PPPP RNBQKBNR W -1 1 1 1 1 0 2 motb motw -1 5 0 39 39 192 245 3 P/e7-e6 (0:28) e6 1";
  76.             break;
  77.          case 10:
  78.             this.answer = "nextstate <12> rnbqkbnr p-pp-ppp -p--p--- -------- -P------ ---P---N P-P-PPPP RNBQKB-R B -1 1 1 1 1 1 2 motb motw 1 5 0 39 39 112 245 3 N/g1-h3 (1:20) Nh3 1";
  79.             break;
  80.          case 11:
  81.             this.answer = "move <12> rnbqk-nr p-pp-ppp -p--p--- -------- -b------ ---P---N P-P-PPPP RNBQKB-R W -1 1 1 1 1 0 2 motb motw -1 5 0 38 39 112 221 4 B/f8-b4 (0:24) Bxb4+ 1";
  82.             break;
  83.          case 12:
  84.             this.answer = "nextstate <12> rnbqk-nr p-pp-ppp -p--p--- -------- -b------ --NP---N P-P-PPPP R-BQKB-R B -1 1 1 1 1 1 2 motb motw 1 5 0 38 39 75 221 4 N/b1-c3 (0:37) Nc3 1";
  85.             break;
  86.          case 13:
  87.             this.answer = "move <12> rnbqk-nr p-pp-ppp -p--p--- -------- -------- --bP---N P-P-PPPP R-BQKB-R W -1 1 1 1 1 0 2 motb motw -1 5 0 35 39 75 196 5 B/b4-c3 (0:25) Bxc3+ 1";
  88.             break;
  89.          case 14:
  90.             this.answer = "nextstate {Game 2 (motb vs. motw) motb resigns} 0-1";
  91.             break;
  92.          default:
  93.             this.answer = "";
  94.       }
  95.  
  96.       this.ready = true;
  97.       this.storeResponse();
  98.       this.chessgame.receiveServletResponse(this.answer);
  99.    }
  100.  
  101.    public void run() {
  102.       CU.shout("PostThread started");
  103.  
  104.       try {
  105.          Thread.sleep(1000L);
  106.       } catch (Exception var2) {
  107.       }
  108.  
  109.       try {
  110.          this.invokeServlet();
  111.          CU.shout("Post succeeded " + CU.int2str(this.fail) + " failures");
  112.       } catch (Exception var3) {
  113.          CU.shout("Post failed: " + ((Throwable)var3).getMessage());
  114.          ++this.fail;
  115.          if (this.fail < 200) {
  116.             this.run();
  117.          } else {
  118.             CU.shout("Post FAILED, MAXIMUM NUMBER OF TRIES EXCEEDED");
  119.          }
  120.       }
  121.  
  122.    }
  123.  
  124.    public static void setMIDletID(String var0) {
  125.       midletid = var0;
  126.    }
  127.  
  128.    public static void setPostURL(String var0) {
  129.       posturl = var0;
  130.    }
  131.  
  132.    public static void setSequenceNumber(int var0) {
  133.       sequencenumber = var0;
  134.    }
  135.  
  136.    private void storePost() {
  137.       int var1 = sequencenumber % 3;
  138.       Calendar var2 = Calendar.getInstance();
  139.       posthistory[var1] = "Posted '" + CU.firstToken(this.message) + "' at " + CU.int2str(var2.get(10)) + ":" + CU.int2str(var2.get(12)) + ":" + CU.int2str(var2.get(13));
  140.    }
  141.  
  142.    private void storeResponse() {
  143.       int var1 = sequencenumber % 3;
  144.       Calendar var2 = Calendar.getInstance();
  145.       String[] var10003 = posthistory;
  146.       var10003[var1] = var10003[var1] + ", received " + CU.int2str(this.answer.length()) + " byte response at " + CU.int2str(var2.get(10)) + ":" + CU.int2str(var2.get(12)) + ":" + CU.int2str(var2.get(13));
  147.    }
  148. }
  149.