Android REST 开发网络跳棋对战程序

来源:互联网 发布:程序员修炼之道 百度云 编辑:程序博客网 时间:2024/06/05 18:03

一直对编写战棋类游戏感兴趣,去年花了些时间来试验把原来C#编写的跳棋改成Android联网对战跳棋,但没有成功,最近再次努力,居然有所成果。

可能是去年想编一个兼顾单机玩和网络玩的游戏,过于抽象了,现在只考虑网络对战。

效果

人和电脑对战


两人对战


设计

主要有两个构件

客户端

com.pnp.chess.android 是客户端在 Android 上的实现

服务器

com.pnp.chess.server 是服务器端, Server 端使用 JavaWebServices 的 REST 来定位 User, Game 等资源

客户端和服务器用 Json 格式交换

服务器端是可以有若干 game, 每个game有一个或者两个 Player 的结构


联网对战的时候, 一个Games中有两个 Human User, 人机对战的时候, 服务器会构造 AI User.

由于 AI User 在服务器上, 所以人机对战也必须连接 Server




另外有 com.pnp.chess.common, 这是服务器和客户端共用代码的集合. ( 比如两端都需要都要用到 Step )