恭喜你到达第六步!
你已经成功实现了公钥体系最为关键的部分。现在服务器相信你就是你了,下面开始你的战斗。
五子棋的棋盘有15×15个交点,一共有225个交点,我们可以在每一个交点上放置棋子。方便起见,我们为每一个交点起一个名字。
我们为每一行标上一个字母从A到O,每一列标上一个数字,从1到15。我们用行和列的标号表示一个交点,比如图上的白棋的坐标是G7。
这种编码策略有一个问题,它是变长的,比如左上角的交点的坐标是A1有2个字符,而右上角的交点的坐标是A15有3个字符。我们把每一列也标上一个字母从A到O,这样不管是哪个交点的坐标都是两个字符了。左上角的交点的坐标是AA、右上角的交点的坐标是AO、那个白棋的坐标是GG。
游戏开始前,棋盘是空的,根据规则,黑方先落子,每落一子我们就记录一下它的坐标,最后就会得到类似这样的字符串
HHJHKGIILFHJJFJJKFIFKEKHIGGILD
你可以逐步跟踪它的落子顺序。
为了保证你和服务器使用相同的棋盘约定,我们把上面的坐标形式转换为图形形式,我们用.表示空白位置,x表示黑棋,o表示白棋。那么上面的坐标表示就是这样的:
...............
...............
...............
...............
...............
...............
........o......
.......x.o.....
.....ox.o......
.....x.o.o.....
....xxxo.......
...x.x.........
...............
...............
...............
任务 6
实现从坐标表示到图形表示的算法,通过服务器的检验。
访问http://xxx/step_06服务器会给你一个坐标表示,请给出每一步的棋盘图形表示:
坐标表示:
ggffhggfhffgiefhfeheidehdidhghegcidfgiefcfeeeied
第一步:
...............
...............
...............
...............
...............
...............
......x........
...............
...............
...............
...............
...............
...............
...............
...............
第二步:
...............
...............
...............
...............
...............
.....o.........
......x........
...............
...............
...............
...............
...............
...............
...............
...............
第三步:
...............
...............
...............
...............
...............
.....o.........
......x........
......x........
...............
...............
...............
...............
...............
...............
...............
第四步:
...............
...............
...............
...............
...............
.....o.........
.....ox........
......x........
...............
...............
...............
...............
...............
...............
...............
等等等等。(上面这四幅图是正确步型)
请将每一步的棋盘图形表示,按顺序写入字段ans,每步用逗号,隔开,图形表示中换行可省略。结果提交到http://xxx/step_06。
二维列表参考:https://blog.csdn.net/qq_41648043/article/details/88761619
https://blog.csdn.net/NightRav5n/article/details/110089622
https://blog.csdn.net/liangjiubujiu/article/details/82153095
实现步型转化为图案:
board = []
def draw_board(): #棋盘初绘
for i in range(15):
board.append([])
for j in range(15):
board[i].append(".")
def print_board(): #打印棋盘
for i in range(15):
for j in range(15):
print(board[i][j], end="")
print(",", end="") #提交需要,注意最后一步会多一个逗号,需要删除
# def print_board(): #正常的打印棋盘
# for i in range(15):
# for j in range(15):
# print(board[i][j], end="")
# print()
# print()
draw_board()
step = input() #步型读入
flag = 1
for i in range(0, len(step), 2):
a = ord(step[i]) - 97
b = ord(step[i+1]) - 97
if flag & 1 == 1: #棋子判断,单数黑棋”x“
board[a][b] = "x"
else:
board[a][b] = "o"
flag = flag + 1
print_board()
结果:
................................................................................................x................................................................................................................................,................................................................................o...............x................................................................................................................................,................................................................................o...............x..............x.................................................................................................................,................................................................................o..............ox..............x.................................................................................................................,................................................................................o..............ox.............xx.................................................................................................................,................................................................................oo.............ox.............xx.................................................................................................................,................................................................................oo.............ox.............xx............x....................................................................................................,................................................................................ooo............ox.............xx............x....................................................................................................,...............................................................................xooo............ox.............xx............x....................................................................................................,...............................................................................xooo............ox............oxx............x....................................................................................................,...............................................................................xooo............ox............oxx...........xx....................................................................................................,...................................................................o...........xooo............ox............oxx...........xx....................................................................................................,.....................................................x.............o...........xooo............ox............oxx...........xx....................................................................................................,....................................................ox.............o...........xooo............ox............oxx...........xx....................................................................................................,....................................................ox.............o...........xooo............oxx...........oxx...........xx....................................................................................................,....................................................ox............oo...........xooo............oxx...........oxx...........xx....................................................................................................,......................................x.............ox............oo...........xooo............oxx...........oxx...........xx....................................................................................................,......................................x...........o.ox............oo...........xooo............oxx...........oxx...........xx....................................................................................................,......................................x...........o.ox............oo...........xooo............oxxx..........oxx...........xx....................................................................................................,......................................x...........o.ox...........ooo...........xooo............oxxx..........oxx...........xx....................................................................................................,...................................x..x...........o.ox...........ooo...........xooo............oxxx..........oxx...........xx....................................................................................................,...................................x..x...........o.ox..........oooo...........xooo............oxxx..........oxx...........xx....................................................................................................,...................................x..x...........o.ox..........oooox..........xooo............oxxx..........oxx...........xx....................................................................................................,...................................x..x...........o.ox.........ooooox..........xooo............oxxx..........oxx...........xx....................................................................................................
成功提交到达第七步:http://xxx/context/c03152f5db8918b9905d449686685f77