JAVA网页设计本人写的一个JSP小游戏21点,纪录一下
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。jspublicclassDataPoke{StringpokeFace;//牌面
Stringpokepoint;//点数
StringpokeColor;//花样
StringpokeImgPath;//扑克图片对应地点
booleanuseFlag=false;//是不是利用标志false未利用,true利用中
publicDataPoke(){
}
publicvoidsetuserFlag(booleanflag){
this.useFlag=flag;
}
publicbooleangetuserFlag(){
returnthis.useFlag;
}
publicStringgetPoint(){
returnthis.pokepoint;
}
publicStringgetColor(){
returnthis.pokeColor;
}
publicStringgetImgPath(){
returnthis.pokeImgPath;
}
publicStringgetpokeFace(){
returnthis.pokeFace;
}
}
///////////////////////////////////////////////////////////////////////
importjava.util.*;
publicclasspokeBean{
privateString[]color={"black","red","flower","sequa"};
privateStringpokeImgurl="/m/g/bj/images/";
privateLinkedListpokeList=newLinkedList();//poke链表列表
DataPoke[]dataPoke=newDataPoke;
publicpokeBean(){
}
publicvoidinitPokeList(){
for(inti=0;i<=51;i++)
{
dataPoke=newDataPoke();//初始化52个datapoke类变量存储
}
intover=10;
intcount=0;
for(inti=1;i<=13;i++){
for(intj=1;j<=4;j++){
if(i<10)
dataPoke.pokepoint=""+i;//点数1-10
else
dataPoke.pokepoint=""+over;//点数11-13
dataPoke.pokeFace=""+i;//牌面
dataPoke.pokeColor=color;//牌色1-4:黑红梅方
dataPoke.pokeImgPath=pokeImgurl+Integer.toString(i)+"/"+Integer.toString(j)+".png";
dataPoke.setuserFlag(false);
pokeList.add(count,dataPoke);//将用外部类DataPoke初始化好的52张牌安排于LinkedList中
//System.out.println("afterinsertpoke---------="+count);
count=count+1;
}
}
}
//初始化终了后,举行洗牌//这里临时不必此功效
publicvoidwashPokeList(){
inttemp1=0;
inttemp2=0;
LinkedListpokeListtemp=newLinkedList();
for(inti=0;i<this.pokeList.size();i++){
temp1=(int)(Math.random()*100)%51;//取1-52之间的随机数
while(temp2==temp1)
temp1=(int)(Math.random()*100)%51;//假如呈现反复的随机数,从头取
pokeListtemp.add(i,this.pokeList.get(temp1));//顺次将乱序的pokeData对象拔出
temp2=temp1;
}
setuserLinklist(pokeListtemp);
}
publicLinkedListgetuserLinklist(){
returnthis.pokeList;
}
publicvoidsetuserLinklist(LinkedListpokeListtemp){
this.pokeList=pokeListtemp;
}
publicvoidprintBack(){
LinkedListtemp=getuserLinklist();
for(inti=0;i<temp.size();i++){
DataPoketempDP=(DataPoke)temp.get(i);
System.out.println("********************"+i+"*********************");
System.out.println("------------牌面"+tempDP.pokeFace);
System.out.println("------------点数"+tempDP.pokepoint);
System.out.println("------------花样"+tempDP.pokeColor);
System.out.println("------------地点"+tempDP.pokeImgPath);
System.out.println("------------是不是利用中"+tempDP.useFlag);
}
}
}
/////////////////////////////////////////////////////////////////////////////
publicclasspackageDb{
privateStringuserName;//用户名
privateStringuserPswd;//暗码
privatelongnumuserguid;//用户GUID
privatelongnumsex;//用户性别
privatelongnumage;//用户岁数
privatelongnummoney;//用户点数
privatelongnumwincount;//用户成功局数
privatelongnumlostcount;//用户失利局数
publicpackageDb(){
}
//////////////////////////////////////////numwincount
publiclonggetNumwincount(){
returnthis.numwincount;
}
publicvoidsetNumwincount(longnumwincount){
this.numwincount=numwincount;
}
//////////////////////////////////////////numlostcount
publiclonggetNumlostcount(){
returnthis.numlostcount;
}
publicvoidsetNumlostcount(longnumlostcount){
this.numlostcount=numlostcount;
}
//////////////////////////////////////////numuserguid
publiclonggetNumuserguid(){
returnthis.numuserguid;
}
publicvoidsetNumuserguid(longnumuserguid){
this.numuserguid=numuserguid;
}
///////////////////////////////////////////numsex
publiclonggetNumsex(){
returnthis.numsex;
}
publicvoidsetNumsex(longnumsex){
this.numsex=numsex;
}
////////////////////////////////////////////numage
publiclonggetNumage(){
returnthis.numage;
}
publicvoidsetNumage(longnumage){
this.numage=numage;
}
////////////////////////////////////////////nummoney
publiclonggetNummoney(){
returnthis.nummoney;
}
publicvoidsetNummoney(longnummoney){
this.nummoney=nummoney;
}
////////////////////////////////////////////userName
publicStringgetUserName(){
returnthis.userName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
////////////////////////////////////////////掏出用户基础信息,需先setUserGuid()
publicvoidgetUserInfo()throwsException{
Stringsql="select*fromUSERwhereNUMUSERGUID="+numuserguid+"";
try{
DBOBDBwork=newDBOB();
DBwork.execute(sql);
if(DBwork.result.next())
{
setUserName(DBwork.result.getString("VC2USERNAME"));
setNummoney(DBwork.result.getLong("NUMMONEY"));
setNumage(DBwork.result.getLong("NUMAGE"));
setNumsex(DBwork.result.getLong("NUMSEX"));
setNumlostcount(DBwork.result.getLong("NUMLOSTCOUNT"));
setNumwincount(DBwork.result.getLong("NUMWINCOUNT"));
}
DBwork.releaseResource();
}catch(Exceptione){
System.out.println("getUserInfo掏出用户基础信息堕落"+e);
}
}
/////////////////////////////////////////////反省新用户注册名是不是占用
publicbooleancheckUserInfo(StringuserNameNew)throwsException{
Stringsql="select*fromUSERwhereVC2USERNAME="+userNameNew+"";
//System.out.println("-------------before-sql:"+sql);
booleantemp=true;
try{
DBOBDBwork=newDBOB();
DBwork.execute(sql);
//System.out.println("-------------after-sql:"+sql);
if(DBwork.result.next())
{
temp=true;
}else{
temp=false;
}
DBwork.releaseResource();
}catch(Exceptione){
System.out.println("checkUserInfo反省新用户注册名是不是占用堕落"+e);
}
returntemp;//用户名已被占用,前往true,不然前往false;
}
/////////////////////////////////////////////拔出新用户注册信息
publicvoidinsertUserNew(StringuserNamenew,Stringpassword,longsex,longage)throwsException{
Stringsql="insertintoUSER(NUMUSERGUID,VC2USERNAME,VC2PASSWORD,NUMSEX,NUMAGE)values(";
sql=sql+"MOBJSEQ.NEXTVAL,";
sql=sql+userNamenew+",";
sql=sql+password+",";
sql=sql+sex+",";
sql=sql+age+")";
//System.out.println("-------------before-sql:"+sql);
try{
DBOBDBwork=newDBOB();
DBwork.execute(sql);
//System.out.println("------------after--sql:"+sql);
DBwork.releaseResource();
}catch(Exceptione){
System.out.println("insertUserNew拔出新用户注册信息堕落"+e);
}
}
/////////////////////////////////////////////依据用户名失掉用户guid
publiclonggetUserGuid(Stringun)throwsException{
Stringsql="selectNUMUSERGUIDfromUSERwhereVC2USERNAME="+un+"";//
longtemp=0;
try{
DBOBDBwork=newDBOB();
DBwork.execute(sql);
if(DBwork.result.next())
{
temp=DBwork.result.getLong("NUMUSERGUID");
}
DBwork.releaseResource();
}catch(Exceptione){
System.out.println("getUserGuid依据用户名失掉用户guid堕落"+e);
}
returntemp;
}
/////////////////////////////////////////////反省老用户上岸
publicbooleancheckUserOld(StringuserNameOld,Stringpassword)throwsException{
Stringsql="select*fromUSERwhereVC2USERNAME="+userNameOld+"andVC2PASSWORD="+password+"";
booleantemp=true;
try{
DBOBDBwork=newDBOB();
DBwork.execute(sql);
if(DBwork.result.next())
{
temp=true;
}else{
temp=false;
}
DBwork.releaseResource();
}catch(Exceptione){
System.out.println("checkUserOld反省老用户上岸堕落"+e);
}
returntemp;//老用户的上岸用户名和暗码准确无误,前往true,不然前往false;
}
/////////////////////////////////////////////更新用户数据
publicvoidupdateUser(longuserGuid,longuserMoney,longwinCount,longlostCount)throwsException{
Stringsql="updateUSERsetNUMMONEY="+userMoney+",NUMWINCOUNT="+winCount+",NUMLOSTCOUNT="+lostCount+"whereNUMUSERGUID="+userGuid;
try{
DBOBDBwork=newDBOB();
DBwork.execute(sql);
DBwork.releaseResource();
}catch(Exceptione){
System.out.println("updateUser更新用户数据堕落"+e);
}
}
}
///////////////////////////////////////////////////////
importjavax.servlet.http.*;
importjavax.servlet.ServletRequest;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpSession;
importjavax.servlet.jsp.PageContext;
importjava.util.*;//随机数必要利用
importjava.lang.*;
publicclassgamePai{
privateHttpSessionpaiSession;
privatepokeBeanuserPokeBean;
publicgamePai(){
}
//取点数user
publicintgetPointuser(PageContextpagecontext){
HttpSessionsession=pagecontext.getSession();
LinkedListpokeLuser=(LinkedList)session.getAttribute("pokeuser");
intuserValue=0;
//用户点数盘算
for(inti=0;i<pokeLuser.size();i++){
userValue=userValue+Integer.parseInt(((DataPoke)pokeLuser.get(i)).getPoint());
}
returnuserValue;
}
//取点数pc
publicintgetPointpc(PageContextpagecontext){
HttpSessionsession=pagecontext.getSession();
LinkedListpokeLpc=(LinkedList)session.getAttribute("pokepc");
intpcValue=0;
//电脑点数盘算
for(inti=0;i<pokeLpc.size();i++){
pcValue=pcValue+Integer.parseInt(((DataPoke)pokeLpc.get(i)).getPoint());
}
returnpcValue;
}
//判别是不是另有牌//不必作了,由于加了判别标记位
publicbooleangetPaiStatus(PageContextpagecontext)
{
HttpSessionsession=pagecontext.getSession();
LinkedListpokeLall=(LinkedList)session.getAttribute("poketotal");
if(pokeLall.size()<=4)//小于四张牌,就要从头洗牌了
returntrue;
returnfalse;
}
//持续起牌,玩家挪用,每次起牌以后,必要jsp叶面举行判别是不是爆牌,是不是跳转等
publicvoidgetNextPaiuser(PageContextpageContext){
HttpSessionsession=pageContext.getSession();
LinkedListpokeLall=(LinkedList)session.getAttribute("poketotal");
LinkedListpokeLuser=(LinkedList)session.getAttribute("pokeuser");
inttemp=(int)(Math.random()*100)%51;//取1-52之间的随机数
while(((DataPoke)pokeLall.get(temp)).getuserFlag()){
temp=(int)(Math.random()*100)%51;
}
pokeLuser.add(pokeLall.get(temp));
((DataPoke)pokeLall.get(temp)).setuserFlag(true);
session.setAttribute("pokeuser",pokeLuser);//拔出用户失掉的牌
session.setAttribute("poketotal",pokeLall);//更新总牌
}
//判别电脑的分数是不是低于16点,低于16点,就前往真,必要电脑主动加牌
//这里应当有jsp叶面挪用
publicbooleanjudgeAddPc16(PageContextpageContext){
HttpSessionsession=pageContext.getSession();
LinkedListpokeLpc=(LinkedList)session.getAttribute("pokepc");
intpcValue=0;
//用户点数盘算
for(inti=0;i<pokeLpc.size();i++){
pcValue=pcValue+Integer.parseInt(((DataPoke)pokeLpc.get(i)).getPoint());
}
if(pcValue<=16&&pcValue<=21)//满意小于16,然后加了牌以后满意小于21,就再加
returntrue;
returnfalse;
}
//判别电脑的分数是不是高于17点,低于21点,就前往真,必要电脑主动加牌
//这里应当有jsp叶面挪用
publicbooleanjudgeAddPc21(PageContextpageContext){
HttpSessionsession=pageContext.getSession();
LinkedListpokeLpc=(LinkedList)session.getAttribute("pokepc");
intpcValue=0;
//用户点数盘算
for(inti=0;i<pokeLpc.size();i++){
pcValue=pcValue+Integer.parseInt(((DataPoke)pokeLpc.get(i)).getPoint());
}
if(pcValue>=17&&pcValue<=21)
returntrue;
returnfalse;
}
//电脑要牌
publicvoidgetNextPaipc(PageContextpageContext){
HttpSessionsession=pageContext.getSession();
LinkedListpokeLall=(LinkedList)session.getAttribute("poketotal");
LinkedListpokeLpc=(LinkedList)session.getAttribute("pokepc");
inttemp=(int)(Math.random()*100)%51;//取1-52之间的随机数
while(((DataPoke)pokeLall.get(temp)).getuserFlag()){
temp=(int)(Math.random()*100)%51;
}
pokeLpc.add(pokeLall.get(temp));
((DataPoke)pokeLall.get(temp)).setuserFlag(true);
session.setAttribute("pokepc",pokeLpc);//拔出用户失掉的牌
session.setAttribute("poketotal",pokeLall);//更新总牌
}
//jsp叶面挪用判别user是不是爆牌,true,爆牌,在叶面举行跳转到爆牌叶面
publicbooleanjudgeBusrtuser(PageContextpageContext){
HttpSessionsession=pageContext.getSession();
LinkedListpokeLuser=(LinkedList)session.getAttribute("pokeuser");
intuserValue=0;
for(inti=0;i<pokeLuser.size();i++){
userValue=userValue+Integer.parseInt(((DataPoke)pokeLuser.get(i)).getPoint());
if(userValue>21)
returntrue;
}
returnfalse;
}
//判别pc是不是爆牌,true,爆牌
publicbooleanjudgeBusrtpc(PageContextpageContext){
HttpSessionsession=pageContext.getSession();
LinkedListpokeLpc=(LinkedList)session.getAttribute("pokepc");
intpcValue=0;
for(inti=0;i<pokeLpc.size();i++){
pcValue=pcValue+Integer.parseInt(((DataPoke)pokeLpc.get(i)).getPoint());
if(pcValue>21)
returntrue;
}
returnfalse;
}
//获得扑克牌列表user
publicArrayListgetPaiListUser(PageContextpageContext){
ArrayListtemplistuser=newArrayList();
HttpSessionsession=pageContext.getSession();
LinkedListpokeLuser=(LinkedList)session.getAttribute("pokeuser");
for(inti=0;i<pokeLuser.size();i++){
templistuser.add(((DataPoke)pokeLuser.get(i)).getImgPath());
}
returntemplistuser;
}
//获得扑克牌列表pc
publicArrayListgetPaiListPc(PageContextpageContext){
ArrayListtemplistpc=newArrayList();
HttpSessionsession=pageContext.getSession();
LinkedListpokeLpc=(LinkedList)session.getAttribute("pokepc");
for(inti=0;i<pokeLpc.size();i++){
templistpc.add(((DataPoke)pokeLpc.get(i)).getImgPath());
}
returntemplistpc;
}
//开牌形貌封装
publicStringgetKaiPaiDesc(intresultPai){
if(resultPai==2){return"玩家胜!";}
if(resultPai==3){return"农户胜!";}
if(resultPai==4){return"农户BlackJack,农户胜!";}
if(resultPai==5){return"玩家BlackJack,玩家胜!";}
if(resultPai==6){return"玩家爆牌!农户胜!";}
if(resultPai==7){return"农户爆牌!玩家胜!";}
return"";
}
//开牌
publicintkaiPai(PageContextpagecontext){
HttpSessionsession=pagecontext.getSession();
LinkedListpokeLuser=(LinkedList)session.getAttribute("pokeuser");
LinkedListpokeLpc=(LinkedList)session.getAttribute("pokepc");
intuserValue=0;
intpcValue=0;
//用户点数盘算
for(inti=0;i<pokeLuser.size();i++){
//DataPokepokeuser=(DataPoke)pokeLuser.get(i);
userValue=userValue+Integer.parseInt(((DataPoke)pokeLuser.get(i)).getPoint());
}
//电脑点数盘算
for(inti=0;i<pokeLpc.size();i++){
//DataPokepokepc=(DataPoke)pokeLpc.get(i);
pcValue=pcValue+Integer.parseInt(((DataPoke)pokeLpc.get(i)).getPoint());
}
//电脑blackJack,电脑成功
if(pokeLpc.size()==2){
//DataPokepokepcF=(DataPoke)pokeLpc.getFirst();
//DataPokepokepcL=(DataPoke)pokeLpc.getLast();
if(((DataPoke)pokeLpc.getFirst()).getpokeFace().equals("1")&&((DataPoke)pokeLpc.getLast()).getpokeFace().equals("11")||
((DataPoke)pokeLpc.getFirst()).getpokeFace().equals("1")&&((DataPoke)pokeLpc.getLast()).getpokeFace().equals("11")){
return4;//电脑blackJack,电脑成功
}
}
//玩家blackJack,玩家成功,分数更加
if(pokeLuser.size()==2){
//DataPokepokeuserF=(DataPoke)pokeLuser.getFirst();
//DataPokepokeuserL=(DataPoke)pokeLuser.getLast();
if(((DataPoke)pokeLuser.getFirst()).getpokeFace().equals("1")&&((DataPoke)pokeLuser.getLast()).getpokeFace().equals("11")||
((DataPoke)pokeLuser.getLast()).getpokeFace().equals("1")&&((DataPoke)pokeLuser.getFirst()).getpokeFace().equals("11")){
return5;//玩家blackJack,玩家成功,分数更加
}
}
if(userValue>pcValue)
return2;//2为玩家成功
if(userValue<=pcValue&&pcValue<=21)
return3;//3为电脑成功
if(userValue>21)
return6;//玩家爆牌
if(pcValue>21&&userValue<=21)
return7;//电脑爆牌
return0;
}
publicvoidinitPai(PageContextpagecontext)
{
userPokeBean=newpokeBean();
paiSession=pagecontext.getSession();//初始化失掉session
userPokeBean.initPokeList();//初始化52扑克
LinkedListpokelistAll=userPokeBean.getuserLinklist();
LinkedListpokelistuser=newLinkedList();
LinkedListpokelistpc=newLinkedList();
//userPokeBean.washPokeList();//初始化以后洗扑克,有成绩,不克不及洗牌
paiSession.setAttribute("poketotal",pokelistAll);//将初始化并洗好的扑克安排于该玩家session中
paiSession.setAttribute("pokeuser",pokelistuser);//初始化用户扑克数据
paiSession.setAttribute("pokepc",pokelistpc);//初始化电脑扑克数据
//userPokeBean.printBack();//打出牌看看
}
//年夜印出来检测一下
publicvoidprintPai()
{
userPokeBean.printBack();
}
//每次从头残局,都要将52张扑克牌的利用标记置为false,未利用
publicvoidresetPai(PageContextpagecontext){
HttpSessionsession=pagecontext.getSession();
LinkedListpokeList=(LinkedList)session.getAttribute("poketotal");
for(inti=0;i<pokeList.size();i++){
((DataPoke)pokeList.get(i)).setuserFlag(false);//一切的牌置为false,未利用
}
session.setAttribute("poketotal",pokeList);//更新总牌
}
//第一次起牌,在扑克牌中随机抽取四张,分离派给玩家和电脑
publicvoidgetFirstPaiuser(PageContextpagecontext)
{
HttpSessionsession=pagecontext.getSession();
//先获得用户的数据
LinkedListpokeListtempuser=(LinkedList)session.getAttribute("pokeuser");
pokeListtempuser.clear();//清空用户扑克数据列表
//LinkedListpokeListtempPC=newLinkedList();
//先从52张点数牌中随机抽取4张,分离为玩家的两张和农户的两张
intinttemp1=0;
intinttemp2=0;
//先将总牌掏出
//paiSession
LinkedListpokeListtempall1=(LinkedList)session.getAttribute("poketotal");
//给玩家的牌
//for(inti=0;i<2;i++){//从两头取2张牌给玩家
//inttemp1=(int)(Math.random()*100)%51;//取1-52之间的随机数
//inttemp2=(int)(Math.random()*100)%51;
while(inttemp1==inttemp2){
inttemp1=(int)(Math.random()*100)%51;//取1-52之间的随机数
inttemp2=(int)(Math.random()*100)%51;
}
pokeListtempuser.add(pokeListtempall1.get(inttemp1));
pokeListtempuser.add(pokeListtempall1.get(inttemp2));
((DataPoke)pokeListtempall1.get(inttemp1)).setuserFlag(true);
((DataPoke)pokeListtempall1.get(inttemp2)).setuserFlag(true);
//while(inttemp2==inttemp1&&(((DataPoke)pokeListtempall1.get(inttemp1)).getuserFlag()))//假如呈现反复的随机数大概该牌已被取,从头取
//inttemp1=(int)(Math.random()*100)%51;
//pokeListtempuser.add(pokeListtempall1.get(inttemp1));
//System.out.println("给玩家的牌的地点:"+((DataPoke)pokeListtempall1.get(inttemp1)).getImgPath());
//System.out.println("给玩家的牌的牌面点数:"+((DataPoke)pokeListtempall1.get(inttemp1)).getpokeFace());
//System.out.println("******************************************************");
//pokeListtempuser.a
//将取到的牌置为利用形态
//((DataPoke)pokeListtempall1.get(inttemp1)).setuserFlag(true);
//inttemp2=inttemp1;
//}
session.setAttribute("pokeuser",pokeListtempuser);//拔出用户失掉的牌到用户的session中
session.setAttribute("poketotal",pokeListtempall1);//更新总牌
//从取后的牌中再取2张给电脑
//intinttemp3=0;
//intinttemp4=0;
//再将总牌掏出
//LinkedListpokeListtempall2=(LinkedList)session.getAttribute("poketotal");
//for(inti=0;i<2;i++){//从取后的总牌中再取2张牌给电脑
//inttemp3=(int)(Math.random()*100)%51;//取1-52之间的随机数1
//while(inttemp4==inttemp3&&(((DataPoke)pokeListtempall2.get(inttemp3)).getuserFlag()))//假如呈现反复的随机数大概该牌已被取,从头取
//inttemp3=(int)(Math.random()*100)%51;
//pokeListtempPC.add(i,pokeListtempall2.get(inttemp3));
//将取到的牌置为利用形态
//((DataPoke)pokeListtempall2.get(inttemp3)).setuserFlag(true);
//inttemp4=inttemp3;
//}
//session.setAttribute("pokepc",pokeListtempPC);//拔出电脑失掉的牌到用户的session中
//session.setAttribute("poketotal",pokeListtempall2);//更新总牌
try{
Thread.sleep(30);
}catch(Exceptionex){
ex.printStackTrace();
}
}
publicvoidgetFirstPaipc(PageContextpagecontext)
{
HttpSessionsession=pagecontext.getSession();
//LinkedListpokeListtempuser=newLinkedList();
LinkedListpokeListtempPC=(LinkedList)session.getAttribute("pokepc");
pokeListtempPC.clear();
//先从52张点数牌中随机抽取4张,分离为玩家的两张和农户的两张
//intinttemp1=0;
//intinttemp2=0;
//先将总牌掏出
//paiSession
//LinkedListpokeListtempall1=(LinkedList)session.getAttribute("poketotal");
//给玩家的牌
//for(inti=0;i<2;i++){//从两头取2张牌给玩家
//inttemp1=(int)(Math.random()*100)%51;//取1-52之间的随机数1
//while(inttemp2==inttemp1&&(((DataPoke)pokeListtempall1.get(inttemp1)).getuserFlag()))//假如呈现反复的随机数大概该牌已被取,从头取
//inttemp1=(int)(Math.random()*100)%51;
//pokeListtempuser.add(i,pokeListtempall1.get(inttemp1));
//将取到的牌置为利用形态
//((DataPoke)pokeListtempall1.get(inttemp1)).setuserFlag(true);
//inttemp2=inttemp1;
//}
//session.setAttribute("pokeuser",pokeListtempuser);//拔出用户失掉的牌到用户的session中
//session.setAttribute("poketotal",pokeListtempall1);//更新总牌
//再将总牌掏出
LinkedListpokeListtempall=(LinkedList)session.getAttribute("poketotal");
intinttemp1=0;
intinttemp2=0;
while(inttemp1==inttemp2||
((DataPoke)pokeListtempall.get(inttemp1)).getuserFlag()==true||
((DataPoke)pokeListtempall.get(inttemp2)).getuserFlag()==true)
{
inttemp1=(int)(Math.random()*100)%51;//取1-52之间的随机数
inttemp2=(int)(Math.random()*100)%51;
}
pokeListtempPC.add(pokeListtempall.get(inttemp1));
pokeListtempPC.add(pokeListtempall.get(inttemp2));
((DataPoke)pokeListtempall.get(inttemp1)).setuserFlag(true);
((DataPoke)pokeListtempall.get(inttemp2)).setuserFlag(true);
//从取后的牌中再取2张给电脑
//for(inti=0;i<2;i++){//从取后的总牌中再取2张牌给电脑
//inttemp3=(int)(Math.random()*100)%51;//取1-52之间的随机数1
//while(inttemp4==inttemp3&&(((DataPoke)pokeListtempall2.get(inttemp3)).getuserFlag())==true)//假如呈现反复的随机数大概该牌已被取,从头取
//inttemp3=(int)(Math.random()*100)%51;
//pokeListtempPC.add(pokeListtempall2.get(inttemp3));
//System.out.println("给电脑的牌的地点:"+((DataPoke)pokeListtempall2.get(inttemp3)).getImgPath());
//System.out.println("给电脑的牌的牌面点数:"+((DataPoke)pokeListtempall2.get(inttemp3)).getpokeFace());
//将取到的牌置为利用形态
//((DataPoke)pokeListtempall2.get(inttemp3)).setuserFlag(true);
//inttemp4=inttemp3;
//}
session.setAttribute("pokepc",pokeListtempPC);//拔出电脑失掉的牌到用户的session中
session.setAttribute("poketotal",pokeListtempall);//更新总牌
try{
Thread.sleep(30);
}catch(Exceptionex){
ex.printStackTrace();
}
}
}
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 是一种将安全性(Security)列为第一优先考虑的语言 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 是一种语言,用以产生「小应用程序(Applet(s)) 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
页:
[1]
2