{
res<<=8;
temp=b[i]&;mask;
res|=temp;
}
returnres;
}
三、数据库连接池
由于没有一个web环境,所以我们需要自己实现一个数据库连接池,apache有一个项目叫做commonsDBCP,这是一个基于apache自己的对象池(apachecommonspool)实现的数据库连接池,我们可以直接拿来使用,apache的
软件未必是最好的,但是极大可能比我们自己写的要好。
CommonsDBCP需要三个.jar:
commons-collections-3.1.jar、commons-dbcp-1.2.1.jar、commons-pool-1.2.jar
这三个文件都可以在apache–Jakarta–commons项目下下载,加入到工程中即可。
构造一个数据库连接池的代码如下:
importjava.
sql.*;
importcom.gwnet.games.antiLord.util.*;
importorg.apache.commons.dbcp.ConnectionFactory;
importorg.apache.commons.dbcp.BasicDataSource;
importorg.apache.commons.dbcp.DataSourceConnectionFactory;
privatestaticBasicDataSourcebds=newBasicDataSource();
privatestaticConnectionFactoryfac=null;
//初始化连接池
bds.setDriverClassName(“org.postgresql.Driver”);//数据库驱动
程序 bds.setUrl(“jdbc:postgresql://localhost:5432/myDB”);//数据库url
bds.setUsername(“postgres”);//dba帐号
bds.setPass
word(“XXXXXXXX”);//密码
bds.setInitialSize(100);//初始化连接数量
bds.setMaxIdle(10);//最大idle数
bds.setMaxWait(1000*60);//超时回收时间
fac=newDataSourceConnectionFactory(bds);//得到连接工厂
Connectionconn=fac.createConnection();//从池中获得连接
conn.close();//释放连接,回到池中
//销毁连接池
bds.close();
bds=null;
fac=null;
请自行处理操作中的各种异常。
四、扑克牌的生成
游戏中需要为用户生成随机的扑克牌,首先我们需要初始化一副牌,放到一个Hashmap中,每张牌以一个字节表示,高为代表花色,的为代表数字,生成整副牌:
privatestaticHashMapcards=newHashMap();
inttmp=0;
for(inti=0;i<4;i++){
for(intm=0;m<13;m++){
tmp=((byte)(i)<<4)|((byte)m);//使用位操作构造一张牌
cards.put(newInteger(i*13+m),newByte((byte)tmp));