j2me伪高手先锋开讲第二弹,网络游戏的设计(5分)

  • 主题发起人 主题发起人 低调一贱男
  • 开始时间 开始时间

低调一贱男

Unregistered / Unconfirmed
GUEST, unregistred user!
http://www.tinydust.net/prog/khan/khan.html
大家准备一个tomcat,sqlserver或者其他jdbc支持的数据库按照上面所说的配置方法配置好数据库.
 
其实原理也非常简单,游戏的逻辑可以用java写在客户端,每一局的动作逻辑写在servlet里面,servlet可以用jsp ,java ,甚至ms的asp都可以,因为我学的是java,jsp也不熟,就选了java来写servlet.
首先我们从基本类开始,我们需要两个,一个是游戏规则,
class logic{}
一个是网络通信及其数据处理
class getNetData{}
先给出网络部分的代码,数据通过参数的形式传递给servlet,servlet处理好后返回给客户端
 
class GetNetData {
private String m_URL;
private String m_ERRORS;
/**构造器*/
public GetNetData() {
m_ERRORS = "-1901";
}
/**取最后错误
* @return String 错误信息 */
public String getLastError() {
return m_ERRORS;
}
/** 字符串转换成int
* @param str 字符串
* @param cut 分割符
* @return int[] int数组 */
public int[] StrToInts(String str,char cut) {
String[] strs = StringToArray(str,cut);
int its[] = new int[strs.length];
for (int i = 0;
i < its.length;
i++) {
its = Integer.parseInt(strs);
}
return its;
}
/**设置url
* @param url url */
public void SetNetURL(String url) {
m_URL = url;
}
/**取得url所返回的数据
* @param s url地址
* @return String url所返回的数据 */
public String getString(String s) {
String res = "";
try {
res = reqUPOST(s);
}
catch (IOException e) {
res = m_ERRORS;
}
return res;
}

/**将一串以空格分隔并以空格结尾的字符串转换为字符串数组
* @param s 以空格分隔并以空格结尾的字符串
* @param cut 分割的标志
* @return String[] 字符串数组 */
public String[] StringToArray(String s,char cut) {
String[] strs = new String[StringCount(s,cut)];
String tmp = s;
for (int i = 0;
i < strs.length;
i++) {
strs = tmp.substring(0, tmp.indexOf(cut));
tmp = tmp.substring(tmp.indexOf(cut) + 1);
}
return strs;
}

/** 统计以空格分隔并以空格结尾的字符串转换为字符串数组中的字段个数
* @param s 以空格分隔并以空格结尾的字符串
* @param cut 分割字符标记
* @return int 字段个数 */
private int StringCount(String s,char cut) {
int j = 0;
for (int i = 0;
i < s.length();
i++) {
if (s.charAt(i) == cut)
j++;
}
return j;
}

/**取得服务器返回的一个字符串列表
* @param sg url
* @param cut 分隔符
* @return String[] 字符串列表 */
public String[] getStrings(String sg,char cut) {
String[] strs;
strs = StringToArray(getString(sg),cut);
return strs;
}

/** 取得url所返回的数据
* @param URL url地址
* @return String 返回的数据
* @throws IOException 连接失败返回的异常 */
private String reqUPOST(String URL) throws IOException {
HttpConnection hpc = null;
DataInputStream dis = null;
DataOutputStreamdo
s = null;
InputStreamReader xdis = null;
String content = "";
try {
hpc = (HttpConnection) Connector.open(URL);
hpc.setRequestMethod(HttpConnection.POST);
int status = hpc.getResponseCode();
if (status != HttpConnection.HTTP_OK) {
content = "-1900&amp;#";
//网页错误的标志
return content;
}
xdis = new InputStreamReader(hpc.openInputStream());
int character;
while ( (character = xdis.read()) != -1) {
if ( (char) character == '//') {
continue;
} else
{
content += (char) character;
}
} // end while
}
finally {
if (hpc != null) {
hpc.close();
hpc = null;
}
if (xdis != null) {
xdis.close();
}
}
return content;
}
}
 
遗憾的是现则gprs的速度慢到无法忍受,不知道大家有没有什么解决办法,或者其他更好的连接方式,麻烦告诉我好了
 
楼主:有本书要写不知道你感兴趣否。
请与我们公司的千中元联系:
qian@01cn.net
 
呵呵,我现在写书可能有点早了,我水平很臭的
 
后退
顶部