怎么用python实现五子棋 : 第二节,落子的实现

第一节中,实现了棋盘的显示。

这一节我们需要的就是落子的实现。

具体需要怎么操作呢?

首先,需要定义一个二维数组,将棋子的每个位置存储在数组中,然后通过控制数组中的内容,来决定怎么放棋子。

怎么实现呢?我需要对初始化__init__()函数改造一下,如下:

def __init__(self, x=15, y=15):
        """初始化"""
        # 棋盘横向变量
        self.x = x
        # 棋盘纵向变量
        self.y = y
        # 定义一个存储棋子的位置的矩阵
        self.go_map = [[0 for _ in range(x)] for _ in range(y)]
        # 存储棋盘界面
        self.str = ''

其次,考虑怎么在棋盘的位置上放置对应的棋子。

如果self.go_map[x][y]=0,则说明该位置上没有放置任何棋子。

如果self.go_map[x][y]=1,则说明该位置上已经被我方放置棋子了。

如果self.go_map[x][y]=2,则说明该位置上已经被对方放置棋子了。

代码具体实现需要改造一下gomoku_board函数,如下:

   

 def gomoku_board(self):
        """画出棋盘"""
        for y in xrange(self.y):
            for x in xrange(self.x-1):
                # 该位置没有棋子
                if self.go_map[x][y]==0:
                    self.str += ' '
                # 该位置已被我方占据
                elif self.go_map[x][y]==1:
                    self.str += 'O'
                # 该位置已被对方占据
                elif self.go_map[x][y]==2:
                    self.str += 'X'
                    
                self.str += '-'
                
            self.str += '\n'
            if y != (self.y-1):
                for _ in xrange(self.x):
                    self.str +=  '| '
                self.str +=  '\n'
        print self.str      
        return self.str

最后,稍微构造一下主函数的输出,就可以看到效果了。

主函数代码具体如下:

# 主函数     
if __name__ == '__main__':
    gomoku = Gomoku()
    gomoku.go_map[0][0]=1
    gomoku.go_map[1][1]=2
    gomoku.gomoku_board()

让我们最后看一下效果图。

看到上图中的'O'和'X'吗?已经如我们的期望输出了。

是不是很有意思?那让我们期待下一节吧。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值