import java.net.*; import java.util.*; import java.io.*; //public class Network implements Runnable{ public class Network extends Thread { Global global; Thread thread; public Network(Global glbl){ global=glbl; System.out.println("initializing network class in constructor!"); } public void run(){ String s; int resetter=0; String send=""; boolean ok=true; String result=""; String part1="";; String part2=""; String part3=""; String token; int turn=0; int imp[][]=new int[global.HEIGHT+1][global.WIDTH+1]; for(int ii=0; ii 1 && global.RState !=global.TEST && global.RState != global.AUTOMATEDRUN){ if(result.length() > 1){ boolean testing=false; System.out.println( "STORE Result: "+result); StringTokenizer st=new StringTokenizer(result, ""+(char)18 ); while(st.hasMoreTokens()){ token=st.nextToken(); //System.out.println("Token: "+token); try{ StringTokenizer sn=new StringTokenizer(token, ""+(char)17); if(sn.hasMoreTokens()){ part1=sn.nextToken(); if(sn.hasMoreTokens())part2=sn.nextToken(); if(sn.hasMoreTokens())part3=sn.nextToken(); } //if }catch(Exception egge){ // No Such element probably System.out.println("ERROR IN NETWORK : PARTS!"+egge.toString()); part1=""; part2=""; part3=""; } try{ if(part1.indexOf("-20") == 0){ //heart-beat for chat!! <---- so obsolete! global.laststack=Integer.parseInt(part2); } if(part1.indexOf("-25") == 0){ StringTokenizer str=new StringTokenizer(part2, ":"); int iii=0; // User names of teammembers while(str.hasMoreTokens()){ global.roomname[iii++]=str.nextToken(); } } if(part1.indexOf("-12") == 0){ // how many players in the room? used for multiplay/teamplay // 4 = all users present in the correct level global.all=Integer.parseInt(part2); //System.out.println("SETTING -12 ::"+global.all); } if(part1.indexOf("-11") == 0){ // What is the level we are testing? global.testlevel=Integer.parseInt(part2); //System.out.println(" ONLY SETTING TESTING LEVEL "+global.testlevel+ " WATCH OUT FOR TEST TEST TEST"); } if(part1.indexOf("-35") == 0){ // Score received from the database (sum of all levels) global.score=Integer.parseInt(part2); } if(part1.indexOf("-40") == 0){ // Turnbased value .. is obsoleted if(turn!=-2)global.turn=Integer.parseInt(part2);else global.turn=100; global.onturn=Integer.parseInt(part2); } if(part1.indexOf("-50") == 0){ // information! //System.out.println("ROOM FOR "+global.usernr+" WAS NOT THE SAME"); System.out.println("Information : "+part2+" | "+part3); } if(part1.indexOf("-60") == 0){ // Make active <- obsolete == turnbased global.turn=-2; } //System.out.println( "global.RSTate: "+global.RState+" .. finised?:"+global.finished); // if(Integer.parseInt(part1) > -1 && global.teamplay && global.RState != global.TEST && global.RState != global.AUTOMATEDRUN && !global.finished){ // if(Integer.parseInt(part1) > -1 && global.teamplay && global.RState != global.TEST && global.RState != global.AUTOMATEDRUN ){ System.out.println("Part1: "+part1); if(Integer.parseInt(part1) > -1 && global.teamplay ){ // data received int m=Integer.parseInt(part3); if(m > 0 ){ //System.out.println("Part2: "+part2); int c=part2.indexOf(","); int x=Integer.parseInt(part2.substring(0,c)); // SPECIAL COORDINATES // pos=100000 || value(arrow) = 1000 // The first part = level if(x==100000 || m == 1000){ // First part of the special coor if(Integer.parseInt(part1) == global.level){ testing=true; } } //System.out.println("part2.sub: X"+part2+" subbie: "+part2.substring(0,c)); int y=x==0?0:(x/global.WIDTH); x=x%global.WIDTH; //System.out.println("SETTING MP x: "+x+", "+y+"="+m); try{ if((global.RState != global.TEST && global.RState != global.AUTOMATEDRUN) || testing ) imp[y][x]=m; }catch(Exception eg){ // Catching array out of bounds exceptino when bad coordinates } } } }catch(Exception eggegeg){System.out.println("Except Network: "+eggegeg.toString());} } // moretokens // if(testing || (testing && global.RState != global.AUTOMATEDRUN) ){ // worked with transfer - but if testing in wholejump it would not get the new environment if((global.RState != global.TEST && global.RState != global.AUTOMATEDRUN) || testing){ if(( global.RState != global.AUTOMATEDRUN) || testing){ // if(( global.RState != global.AUTOMATEDRUN) || testing){ System.out.println("Setting mps"); for(int ii=0; ii 0){ StringTokenizer st=new StringTokenizer(result, ""+(char)18 ); while(st.hasMoreTokens()){ token=st.nextToken(); try{ StringTokenizer sn=new StringTokenizer(token, ""+(char)17); if(sn.hasMoreTokens()){ part1=sn.nextToken(); part2=sn.nextToken(); part3=sn.nextToken(); } //if }catch(Exception egge){ // No Such element probably System.out.println("ERROR IN NETWORK : PARTS!"+egge.toString()); part1=""; part2=""; part3=""; } try{ if(part1.indexOf("-10") == 0){ //System.out.println("*NETWORK* -10 == CHAT "); if(part2.length() > 0){ //System.out.println("Chattext added: "+part2); // global.show.chat.select(0); global.show.chat.add(part2,0); // global.show.chat.select(global.show.chat.getItemCount()-1); global.show.chat.select(0); global.show.chat.repaint(); } } if(part1.indexOf("-20") == 0){ //heart-beat for CHAT global.laststack=Integer.parseInt(part2); } }catch(Exception ch){System.out.println("Chat communication err: "+ch.toString());} } // while chat } // if chat result? global.busynetwork=false; // Sleep outside all conditions (isnetwork / Rstate=test) try{ this.sleep(global.NETWORKSLEEP); }catch(Exception e){System.out.println("Network sleeping ...");} }catch(Exception oo){ // Every other exception ... System.out.println("Exception in Network run: "+oo.toString()); } } } }