1 / 17
文档名称:

课程设计报告-网络五子棋棋牌室.doc

格式:doc   大小:500KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

课程设计报告-网络五子棋棋牌室.doc

上传人:Q+1243595614 2018/1/7 文件大小:500 KB

下载得到文件列表

课程设计报告-网络五子棋棋牌室.doc

相关文档

文档介绍

文档介绍:一、概述
设计目的:
通过完成基于网络通信的多人对战小游戏,加深对网络协议的理解和掌握,对网络知识的应用和实践。

设计内容:
实现一个多人网络五子棋棋牌室。该软件可以实现多人共同登录,在线邀请其他玩家进行游戏,实现相互挑战,娱乐身心的目的。
设计要求:
2人一组,有明确的分工,各自完成自己的工作,相互合作完成本次的网络课设。
二、设计任务分析(需求分析)
该题目是一个考验综合设计知识的题目。要完成这个题目,必须要具备对五子棋游戏规则的熟悉,还要能够将其用编程语言转换出来。主要需要完成的部分包括:
五子棋棋盘的绘制,下棋操作的演示,输赢的判断;
还要涉及网络编程,实现通信;
允许多个玩家同时进入该棋牌室,能够相互进行邀请来玩游戏; 。
三、总体设计
用c/s结构来进行实现,基于android编程。
基本体系结构图
主要实现类
客户端MyFive
服务器端Server
数据库chess_game
invite表
login表
play表
user表

登录界面
注册界面
玩家列表
棋盘
获胜
程序实现
主要代码
//画出棋盘
class MyView extends View
{
Context context;
int n;//棋盘的行数和列数
public List<Line> Xlines=new ArrayList<Line>();
public List<Line> Ylines=new ArrayList<Line>();

List<Chess> chesses=new ArrayList<Chess>();//保存其中的位置的颜色
public int wh;
public MyView(Context context,int n) {
super(context);
=context;
=n;
}

public void myDraw(List<Chess> chesses)
{
=chesses;
();
}

***@Override
protected void onDraw(Canvas canvas) {
(canvas);

init();

Paint paint=new Paint();
();
(2);

//画横线
for(Line line: Xlines)
{
(, , , , paint);
}


//画竖线
for(Line line: Ylines)
{
(, , , , paint);
}


();
for(Chess chess:chesses)
{
if(==1)
{
();//设置棋子颜色为黑色
}
else if(==2)
{
();
}

(().startX, ().startY, 10, paint);//画棋子
}
}

public void init()
{
WindowManager wm = ((Activity) context).getWindowManager();

int width = ().getWidth();
int height = ().getHeight();
wh=width/n;

//计算横线的坐标
for(int i=0;i<n;i++)
{
int x1=0;
int y1=0;
int x2=0;