当前位置:首页 > 免费毕业设计

【免费毕设】JAVA五子棋手机网络对战游戏的设计与实现(源代码+论文)

【免费毕设】JAVA五子棋手机网络对战游戏的设计与实现(源代码+论文)

  • 网站价格: 10
  • 特殊技术: 动态语言
  • 作品类型: 计算机毕业设计论文
  • 售后服务:

联系方式: 微信:biyebang QQ: 629001810

作品详情

 系统设计

本系统采用C/S结构,包括手机客户端和服务器后台两个部分。

客户端采用j2me midp1.0函数编写,保证了非常好的可移植性。服务器端采用了tomcat作为http服务器,免费并且具有非常强大的功能,中间件采用java servlet进行中间过程的处理,具有很好的稳定性和可移植性,采用的数据库则是sql server 2000。

用户需要运行本系统客户端软件,输入用户名和密码进行身份验证,如果验证成功,则可以进入游戏界面,和其他已经登录的玩家进行游戏;如果验证不成功,说明输入的用户名或者密码错误,需要重新进行输入,否则不会进入到游戏界面。

棋子.png

系统实现

客户端部分主要划分为3个界面:菜单界面,登录界面、游戏界面。

具体实现的功能为:

1、菜单界面:有如下选项:

进入游戏——进入到用户登录界面;

操作说明——进入说明界面,说明游戏软件的操作方法;

2、登录界面:

得到用户输入的用户名和密码,向服务器提交,如果身份验证成功,界面则跳转到游戏界面,如果身份验证失败,则弹出警告窗口,说明登录失败原因。

3、游戏界面:

用户游戏时看到的界面,负责根据需要画图。

数据库系统是一个实际可运行的存储、维护和应用数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这些数据为多个应用服务,独立于具体的应用程序。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。对数据库的维护包括保持数据的完整性、一致性和安全性。 

在本系统中,只建立了一个表users,用来存储用户身份信息。

1用户信息表

表名 

描述 

Users 

用户登录表 

用户登录表,包括以下字段:用户名,密码。其中用户名就是系统分配给各个用户的固定号码,初始状态下其密码与其用户名相同。例如:在本系统中,用户名为“1001”,那密码也为“1001”。

 

因为本人是第一次编写联网的手机游戏,各方面都处于初学摸索状态,并且这方面的资料在网上非常少,所以本系统后台方面功能比较简单,目前对数据库的操作只有身份验证这一个功能模块。

双击除自己以外的一个玩家,发出游戏请求,同时要确定自己棋子的颜色,用MSG发回服务端。如果被拒绝,则返回原来的状态。

if(msg.color==1){

            ss = new String("white");

            bpanel.setColor(2);

        }

        else{

            ss = new String("black");

            bpanel.setColor(1);

        }  

电脑下子要考虑自己和玩家的棋型,优先防守,如果没有要防的棋型,则搜索自己的棋型下子。

设置重要性,即估值模块,下面只给出横向的代码

private void setWeight(int x,int y,int tcolor){

        int i=RectX1,j=RectY1,value=0,k=0,n=0,flag=0;

        // '--' 方向

        for(i=RectX1,j=y;i<=RectX2;i++){

            if(BoardPanel.board[i][j]!=0){

                continue;

            }

            value=0;flag=0;

            for(k=1;i-k>=RectX1 && k<5;k++){

                if(BoardPanel.board[i-k][j]==tcolor){

                    value++;

                    continue;

                }

                if(BoardPanel.board[i-k][j]==0){//black space

                    flag++;

                    break;

                }

            }

            for(k=1;i+k<RectX2 && k<5;k++){

                if(BoardPanel.board[i+k][j]==tcolor){

                    value++;

                }

                if(BoardPanel.board[i+k][j]==0){

                    flag++;

                    break;

                }

            }

            n=weight(value,flag);

            if(weightBoard[i][j]<n){

                weightBoard[i][j]=n;

            }

        }

 

     }

帮我毕业网微信

版权所有© 帮我毕业网 并保留所有权利

QQ 1370405256 微信 biyebang

QQ:629001810微信:biyebang

收缩