java五子棋手机网络对战游戏设计与实现源代码_第1页
java五子棋手机网络对战游戏设计与实现源代码_第2页
java五子棋手机网络对战游戏设计与实现源代码_第3页
java五子棋手机网络对战游戏设计与实现源代码_第4页
java五子棋手机网络对战游戏设计与实现源代码_第5页
已阅读5页,还剩21页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

总页数:24引 系统综 3.1现 J2ME概 J2ME的由 J2ME的3层体系结构及MIDP简 TOMCAT服务器介 SERVLET技术介 开发环 关于SAMSUNGWirelessTool 综 主类Omok的实 SERVLET程序的编 测 进 参考文 Java语言是SunMicrosystem的JamesGosling、PratrickNaughtonMikeSheridan1991实现使用同一种编程语言所写出来的程序可以在不同的平台上。这种架构对互译、等多领域。MicroEdition)既用于系统的Java被引入无线领域。J2ME的出现实际J2MEtomcathttpsqlserver2000体是SQL2000,功能层由Tomcat+servlet技术实现,表示层为前台操作客13.1现在信息社会中,及其他无线设备越来越多的走进普通百姓的工作和生传统互联网是通过WAP(WirelessApplicationProtocal),应用程序可按需,而不是由硬件商提供的套件,可升级空大J2ME概况J2ME的由Servlets,JSPXML等等。主要是消费电子和设备领域(这实际正是Java语言设计最初的目标领2java在消费电子和设备领域,内存从几百K到几十M,从没有屏幕到的理解J2ME的体系结构的划分才能更好的理解和掌握J2ME。J2ME的3层体系结构及MIDP简介(ProfileJava语言功能性。设备其他各种硬件条件和需求也相近。Profile是一组API,在某一MIDP(MobileInformationDeviceProfile)定义了针对移动信息处理设间处理,持久性,无线网络连接之上的一些消息处理(例如短消息,tomcat服务器介绍 下包含有Html和Jsp文 ,另外还会有一个WEB-INF 通常在WEB-INF 下有一个web.xml文件和一个classes ,web.xml是这个应用的配置文件,而classes 下则包含编译好的Servlet类和Jsp或JavaBean放到WEB-INF下的lib 在一个xml文TomcatApacheApacheHtmlTomcatIDE,WARservlet技术介绍Servlet是用Java编写的Server端程序,它与协议和平台无关。ServletJava-enabledWebServerJavaServletServer的能力,并采用请求-响应模式提供Web服务。最早支Servlet技术的JavaSoftJavaWebServer。此后,一些其JavaWebServerServletAPI。ServletJava技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面CGI和许多其他类似CGI的技术JavaServletServletJava(而不是重量级的操作系据、和设置HTTP头、处理、会话状态等。IISWebStar。几乎所有的主流服务器都直接或通过插件支持不仅有许多廉价甚至免费的Web服务器可供个人或小规模使用而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这ServletJavaServletJava三、JAVAServlet采用Servlet,服务器可以完全对本地资源的(如数据库),并且Servlet自身将会控制外部用户的数量及性质。系统中,可以从本地硬盘,或者通过网络从远端硬盘激活Servlet。Servlet拥有面象Java语言的所有优势Servlet提供了Java应用程序的所有优势——可移植、稳健、易开发。使用Servlet的Tag技术,Servlet能够生成嵌于静态HTML页面中的动态内容。一个Servlet被客户端发送的第一个请求来说,Servlet进程只是在WebServer卸载时被卸载。开发环境操作系统:Windows程序语言:Java开发平台:Java2MicroEdition+TomcatSAMSUNGWirelessToolKit2.1+SAMSUNGWirelessToolSAMSUNGWTK(SAMSUNGWirelessToolKitSAMSUNGJ2ME的用于和Palm等移动设备的开发包,它通用性高,开发出的应用程序可保证能运行在大部分设备上,具有强大的功能和完善的调试,它提供了运综进入——进入到用户登录界面程序的类结构 :的功能流程图

界面,按返回按钮,又回来主菜单。的功能流程菜菜进操作说退 登录窗说的实现主类Omok的实现1 暂停状2 运行状3 销毁状5publicOmok()startCmd=newCommand("Start",Command.SCREEN,2); =newCommand("Exit", Command.EXIT,3);theCanvas=newOmokCanvas();theOne=newmain();help=newHelp(this);}1 获得屏幕的属性。例如屏幕是否是彩色的,以及支持的颜色数量等2 控制屏幕的显示。例如使屏幕显示某个指定界面或者获得当前的显publicvoidstartApp()}publicvoiddestroyApp(boolean{}publicvoid{}登录界面以及操作说明界面的实现class extends Logo(Omok{mandnewCommand("登录Command.BACK1);exit=newCommand("退出",Command.EXIT,1); }画布类的实现在J2ME编程中,Canvas类是最常用的类之一,该类提供了获得屏幕Canvas类是Displayable的子类,在实际的使用过程,一般都通过继承覆盖paint方法。来看画面:图7运行效果boardnewOmokBoard();//创建画板cursor=newCursor();//创建光标connectornewServerConnector(this);}然后来看具有流程控制作用的setGameMode方法:{this.gameMode=gameMode;switch(gameMode){caseINITid0id11;//设置标记变量初始值row=col=6;//初始化棋盘大小caseCONNECT:Threadcthread=new{publicvoid{}

}caseTURN0

caseTURN1}

}在这里4种状态时所要处理的事件,在这个程序中的别的方法里,当网络连接类的实现在J2ME中,专门提供了一个网络连接框架——GCF。它为资源有限的设备提供在GCF定义了七个接口,其中Connection是最基本的连接类型,且范要求同时支持HTTP和HTTPS,后者提供了对更安全的网络连接的支持。下面来分析代码privateString age(Stringurl)throws{StringBufferresult=newStringBuffer();HttpConnectionc=null;InputStreamis=null;try{is=c.openInputStream();intch=while((ch=is.read())!=-{}}finallyif(is!=null)if !=null)}returnpublicvoidsendData(finalintid1,finalString{Threadthread=newThread(){publicvoidrun(){try}catch(IOExceptione)}}}publicvoidreceiveData(finalint{Threadthread=newThread(){publicvoidrun(){}}在目标设备具有内存小,计算能力弱和电池供电等特点的时候,如何使应用程序高效的运行就成为开发中的一个大问题.尤其针对等移动信息设备时,无线通讯的特点又对的程序提出了更高的要求.从代码优化的角度,在网络编程中引入多线程就显得十分重要。当程序运行的时候,ApplicationManagementSoftware(应用管理)首先初始化一个MIDlet,然后调用它的startApp()方法使得MIDlet进入active状在三星公司的无线开发包WTK中模拟一段网络连接程序运行时,WTK会提示网五子棋获胜算法publicintcheckStones()for(intx=0;x<11;x++)for(inty=0;y<11;y++)if(stones[x][y]==EMPTY)if(x!=0&&x!=1&&x!=10&&x!=11&&stones[x][y]==stones[x-2][y]&&stones[x][y]==stones[x-1][y]&&stones[x][y]==stones[x+1][y]&&stones[x][y]==stones[x+2][y])returnif(y!=0&&y!=1&&y!=10&&y!=11&&stones[x][y]==stones[x][y-2]&&stones[x][y]==stones[x][y-1]&&stones[x][y]==stones[x][y+1]&&returnstones[x][y];if(x!=0&&x!=1&&x!=10&&x!=11y!=0&&y!=1&&y!=10&&y!=11&&stones[x][y]==stones[x+2][y+2]&&stones[x][y]==stones[x+1][y+1]&&stones[x][y]==stones[x-2][y-2]&&returnstones[x][y];if(x!=0&&x!=1&&x!=10&&x!=11y!=0&&y!=1&&y!=10&&y!=11stones[x][y]==stones[x+2][y-2]&&stones[x][y]==stones[x+1][y-1]&&stones[x][y]==stones[x-1][y+1])returnstones[x][y];}}return-}数据库的设计与实现表描“1001servlet程序的编写publicclassOmokServletextendspublicsynchronizedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{Stringcommand=getParameterValue(request,"command");Stringresult="";ifresult=String.valueOf(idCount);idCount=(idCount>999)?0:}Stringuserid Stringpsw=getParameterValue(request,"Psw");Stringsql="select*fromuserswhereid='"+userid+"'";{ResultSetresult0=ExecuteQuery(sql);{Stringpassword=result0.getString("password");{result=String.valueOf(idCount);idCount=(idCount>999)?0:}{}}{}

Stringid=getParameterValue(request,"id");dataMap.put(id,"E");Stringid =getParameterValue(request,"id");Stringdata=getParameterValue(request,"data");dataMap.put(id,data);Stringid=getParameterValue

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论