public char[] nesw(int p, int q) { // given position (p,q) (p across, q down), which of its possible neighbors exist? (weeds out // walls, corners) char[] neswT = new char[4]; // boolean true/false: position 0 = can you go north, position 1 = can you go east, etc // java.util.Arrays.fill(neswT, '0'); if (p > 0) { neswT[3] = '1'; // validMoves =+ (p-1,q); // you can go west } if (q > 0) { // you can go north neswT[0] = '1'; // validMoves += (p, q-1); } if (p < this.x) { neswT[1] = '1'; // you can go east // validMoves =+ (p+1, q) } if (q < this.y) { neswT[2] = '1'; // you can go south // valid moves include (p, q+1) } return neswT; }
private String dummyMaze() { // x*y grid of all 1's. int a = this.x * 2 + 1; int b = this.y * 2 + 1; int c = a * b; char[] out = new char[c]; java.util.Arrays.fill(out, '1'); out[3] = '0'; return new String(out); }
@RequestMapping(value = CLIENT_CONNECT_PATH, method = RequestMethod.POST) public @ResponseBody int connectClient(@RequestBody String allVid) { try { int reply = FAILED; String[] videos = allVid.split(","); String uName = videos[0].trim(); videos = java.util.Arrays.copyOfRange(videos, 1, videos.length); // System.out.println("Client connect"+hostAdder+" "+uName+" "+ Arrays.asList(videos)); int ans = masterService.psConnectClient(hostAdder, uName, videos); // System.out.println("ans =" +ans +" "+FAILED); while (ans == PS_NOT_CONNECTED) { reconnectToMS(); ans = masterService.psConnectClient(hostAdder, uName, videos); } if (ans == FAILED) return FAILED; // System.out.println("Clinet "+ uName + " connected"); if (user_vidNameMap.containsKey(uName)) { reply = CLIENT_ALREADY_CONNECTED; } else { reply = CLIENT_CONNECTED; user_vidNameMap.put(uName, new HashSet<String>()); } // System.out.println("Clinet "+ uName + " connected"); Set<String> vidSet = user_vidNameMap.get(uName); for (int i = 0; i < videos.length; i++) { String temp = videos[i].trim(); // System.out.println("add video"); if (!temp.equals("")) { vidSet.add(temp); addTovidName_UserMap(uName, temp); } } // System.out.println("Clinet "+ uName + " connected"); userAliveMap.put(uName, new Long(System.currentTimeMillis() + TTL)); // System.out.println("Clinet "+ uName + " connected"); activeUsers.add(uName); System.out.println("Clinet " + uName + " connected"); return reply; } catch (Exception e) { System.out.println("Error: " + e.getMessage()); return FAILED; } }
private String fullMaze() { int a = this.x; int b = this.y; // Creates a maze with all possible walls present, of the dimensions a x b String out = ""; if (a < 1 || b < 1) { Error e = new Error("Maze too small"); throw e; } a = (a * 2) + 1; b = (b * 2) + 1; // A 4x4 maze has 9 coordinates by 9 coordinates, for example. char[] topchars = new char[a]; java.util.Arrays.fill(topchars, '1'); String top = new String(topchars); out += top; b--; // We've now created the top row; while (b > 0) { if (b % 2 == 0) { // if B is even, that means we are on a row when the walls look like this: | // alternate 1's and 0's char[] row = new char[a]; for (int i = a; i > 0; i = i - 2) { // System.out.println("i is" + i); row[i - 1] = '1'; } for (int i = a - 1; i > 0; i = i - 2) { row[i - 1] = '0'; } out += new String(row); } else { // we are on a row where the walls look like this: - out += top; } b--; } return out; }