1. 五子棋 UDP
1. 棋盘。 网上下一个;
棋盘是一个三维数组 char 【row】【col】【N】 row行数 col列数 N代码每一个符号( 棋盘的每一个符合是一个字符串)
2 . 下棋
一个人下棋send ,另一个人 recv;
下棋双方都有 一个棋盘, 下棋好了将 下的(行数,列数)传递给对方,双方刷新棋盘;
3. 悔棋
双方都有2个下棋布数的链表,每人都有2个各自的链表(存放自己下的历史和对方下的历史)
自己下棋的链表在send 后插入 (链表结点),对面下棋 在 recv 后 将收到的 对面下棋 行列 加入另一个链表
4. 判断输赢
分4种情况: 横着的,竖着的 ,右上斜的,左上斜的
每一种情况都判断 利用 if ,如果赢了 直接 return , 否则接着判断
判断点由下的那个点开始: 以判断横着为例 从(下的棋子,行,列)往右数连续相同的子,遇到不同结束
往左数连续相同的子,遇到不同结束
当左 和 右 的子数 大于等于 5则 赢, 否则接着判断
其他情况类似(斜着的也是)