package com.shade.score;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
public class RemoteHighScoreWriter implements HighScoreWriter {
private String base;
public RemoteHighScoreWriter(String path) {
base = path;
}
public boolean write(String name, int score, int level, boolean special) {
String s = (special) ? "1" : "0";
return write(name, score + "", level + "", s);
}
protected boolean write(String name, String score, String level, String special) {
try {
String content = "name=" + URLEncoder.encode(name, "US-ASCII");
content += "&score=" + score;
content += "&level=" + level;
content += "&special=" + special;
URL url = new URL(base);
URLConnection c = url.openConnection();
c.setConnectTimeout(2000);
c.setDoOutput(true);
OutputStreamWriter o = new OutputStreamWriter(c.getOutputStream());
// write the content
o.write(content);
o.flush();
o.close();
// read response and check for success
BufferedReader i = new BufferedReader(new InputStreamReader(c
.getInputStream()));
String response = i.readLine();
return response.equals("success");
} catch (Exception e) {
return false;
}
}
}