网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月20日
漏签
0
天
python入门吧
关注:
2,461
贴子:
15,644
看贴
图片
吧主推荐
游戏
3
回复贴,共
1
页
<返回python入门吧
>0< 加载中...
看了半天,没看出来哪写错了
只看楼主
收藏
回复
胡紫彤
初级粉丝
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
明明应该返回的是True呀。occupy中1表示被红方棋子占有,2表示被黑方棋子占有,0表示没有被占据。
送TA礼物
IP属地:湖北
1楼
2023-08-08 11:30
回复
胡紫彤
初级粉丝
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
终于搞明白了,是我把self.startx和self.starty弄错了,应该是1,0而不是0,1
IP属地:湖北
来自
Android客户端
3楼
2023-08-09 12:19
回复
收起回复
hunter__fox
初级粉丝
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
没有注释,命名也不规范,写法也不好,看得头疼。
类名动词开头……为什么不是“ValidateXxx”?
IP属地:湖北
4楼
2023-08-09 22:49
回复
收起回复
hunter__fox
初级粉丝
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
没有注释,命名也不规范,写法也不好,看得头疼。
类名动词开头……为什么不是“ValidateXxx”?
象棋每个子走法的验证,做成一个方法,为何不将不同子做成不同子类?对于红黑双方,一些子只需要将棋盘上下翻转,规则就可以重用。
马的走法判断,做4个if不对劲的。马的目标点必需不与自己同值(不能吃自己的子),这是第一个检查;马的两个点,X坐标差绝对值和Y坐标差绝对值必然一个是1一个是2,这是第二个检查,然后将坐标差为2的轴,取其平均值,与终点的另一个轴坐标值构成[x,y],检查它是不是无子(别腿),这是第三个检查。任何一个检查不通过就可以return False了,过程最后返回True,多省事。
最后,棋盘设计,为什么不利用None?(用n/-n/None标示三态)
from math import copysign
def sign(n):
return copysign(1, n)
# by method ma()
if sign(_map[x2][y2]) == sign(_map[x1][y1]):
return False # 不能吃己方的子
if set([abs(x1-x2), abs(y1-y2)]) != {1, 2}:
return False # 不是马的走法
if abs(x1-x2) == 2:
if _map[(x1 + x2) / 2][y2] is Not None:
return False # 别腿
else:
if _map[x2][(y1 - y2) / 2] is Not None:
return False # 别腿
return True
IP属地:湖北
5楼
2023-08-09 23:25
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
iPhone 16e真香还是韭菜机
2527230
2
泽连斯基交矿产资源讨好美国
2160645
3
美团做不到的京东全补齐了
1799896
4
没玩过乐队的是这样吗?
1655964
5
文化工作者一定要有文化
1512394
6
当你觉得自己没用时看看他
1377300
7
特朗普嘲笑斯基是喜剧演员
1138272
8
美国又现两飞机对撞事故
1080908
9
清算!拳头实锤Elk利用Bug
1021262
10
守望先锋国服已正式上线
865326
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示