本项目是一个基于安卓的象棋项目源码,为联网游戏而设计的。配有java服务端,不过只能单开。我没有测试具体的功能,感兴趣的可以自己链接数据库试试吧。下面是运行指南和开发设计文档。
本源码分为客户端和服务端
客户端编译即可运行,socket连接为:127.0.0.1:9898
运行服务端时,需要使用MySQL建表,建表语句如下:
create database chinachess;
use chinachess;
create table user(
id int primary key auto_increment,
name char(10) unique not null,
password char(16) not
null, head int default 0,
score int default 0,
victory_count int default 0,
defeat_count int default 0, draw_count int default 0, join_time datetime
) charset utf8 collate utf8_general_ci;
服务端DbUtil.java里面有连接数据库的配置
简单的设计文档:
1.图片收集
①背景图片
②棋子图片
③按钮图片
2.音乐收集
①背景音乐
②按钮点击音乐
③选子音乐
④吃子音乐
⑤走棋音乐
⑥胜利音乐
⑦失败音乐
3.界面设计(photoshop画图)
①加载界面
②菜单界面
④匹配界面
⑤游戏界面
⑥结算界面
4.技术点
①socket
②多线程同步
③MySQL连接
④游戏逻辑
⑤通信数据格式
5.软件
①Java环境
②安卓开发环境(adt bundle)
③MySQL5.7
6.数据处理
byte数据头
* 0:分割
--发往服务器
* 1:登陆
* 2.注册
* 3.消息
* 4:匹配游戏
* 5:走棋
* 6:求和
* 7:同意求和
* 8:悔棋
* 9:同意悔棋
* 10:认输
* 11:心跳包
--发往用户
* 12:登陆回调
* 13:注册回调
* 14:开始游戏
* 15:游戏数据
* 16:游戏结束
7.游戏规则
①车走直线,不能挡车
②马走日,前压马腿
③象走田,前压象腿,不可越河
④士空走斜一,吃走斜一,不可越将营
⑤将走直一,(吃将可走直线可越将营),不可越将营
⑥炮空走直线,吃走炮台
⑦兵可进不可退,走直一
8.绝杀(选)
定义:无论怎么走,将都会被杀的棋叫做绝杀
实现:扫描每个己方棋子的每一步,只要有一步致使不会死帅,就不是绝杀之棋
9.智能AI(略)
10.流程