五子棋 day5 - 1

恭喜你到达第六步!

你已经成功实现了公钥体系最为关键的部分。现在服务器相信你就是你了,下面开始你的战斗。

五子棋的棋盘有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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值