You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SafariChess/AboutGame.md

129 lines
2.9 KiB

# 斗兽棋.魔改的三版本实现
[TOC]
### 一、游戏角色
3 years ago
> 象Eleph>狮Lion>豹Leo>狼Wolf>狐Fox>鹰Eag>鼠Mse>[象]
### 二、游戏规则
- 行棋规则
> 所有动物可以上、下、左、右走一格
>
> 所有动物不能进入己方兽穴
>
> 鼠:唯一能进小河,并且不会与其他动物吃与被吃,但可以鼠类互吃
>
> 狮:在河边时,可以纵横对直跳过河,但如果路线被对方在河里的老鼠所阻隔,则不能跳河
>
> 狐:可以左上、左下、右上、右下方向走一格
>
> 鹰:在无棋子、陷阱(可进入陷阱)阻隔情况下,直线走任意格
>
> 陷阱:进入陷阱可以被任意兽类吃掉
- 胜负规则
> •任意动物进入对方兽穴
>
> •对方所有动物被吃光
>
> •所有对方活着的动物均被困住(均不可移动)
>
> •对方中途离开游戏
>
> •对方走棋时间用完(单机版可不实现)
>
> •和棋在连续100回合内双方均无动物被吃
+ 违例判负规则(网络版)
> 7-3违例连续7步内如果同一动物连续超过3次进入同一棋格在接下来的第8步将禁止该动物进入该棋格若7步内有进入陷阱则不受该限制被追动物不受该限制
>
> 17-5违例连续17步棋内如果只操作同一个动物且该动物的活动范围不超过5个棋格在接下来的第18步将禁止该动物进入上述5个棋格中的任意一个若17步内有进入陷阱则不受该限制
### 单机版开发v1.0
#### 一、前端界面
监听鼠标动作
实现按钮等控件操作
绘制文字,图片
播放音乐、动画等
游戏提示
3 years ago
ex.大致图像
3 years ago
![image-20220825111106122](C:\Users\DoubleQ\AppData\Roaming\Typora\typora-user-images\image-20220825111106122.png)
(a方在左 默认为红色b方在右 默认为蓝色)
#### 二、后端逻辑
行棋规则实现
吃子规则判定
双方轮流移动:判断能否移动,移动结果显示(字幕提示)
#### 三、待完善的软件需求
子菜单:选择单机还是联网
左右留白用于各自功能实现:如计时,
顶部留白用于主控功能:认输,回主界面,音乐暂停等
### 网络版开发v2.0
#### 一、增加需求
> 基于游戏服务器,加入联网通信功能
>
> 主要工作:
>
> 1.实现socket通信
>
> 2.JSON数据解析以及封装——协议见“游戏服务器及通信协议.pdf”
>
> 3.多线程编程——建议把通信模块实现为一个单独的新线程,主程序和通信模块之间需要交互,超时判断(来自服务器,接受并处理)
>
> 4.游戏逻辑调整
一些约定:
1.红0蓝1 通信协议中的side=0红棋先手
2.棋子约定 chessman 0到6
3.服务器配置文件config.txt可改
客户端:
+ 申请加入对战 -> 先后手规则
+ 过程中可以叫停游戏或者主动退出游戏(弃权)