【问题标题】:Creating a specific board for a tic tac toe game为井字游戏创建特定的棋盘
【发布时间】:2021-01-04 15:27:42
【问题描述】:

我在用 Python 为井字游戏创建特定棋盘时遇到了麻烦,我希望你们中的某个人能帮助我找出问题所在。我希望能够在三个不同的板之间进行选择,但只有一个板的代码适合我。

我正在尝试在 python 中创建一个井字游戏程序,其中只有计算机会执行动作,即它会与自己对战。我的第一个任务是创建一个空板,我设法使用以下代码做到了这一点:(这个也打印了板)

import numpy as np 

def create_board(): 
    return(np.array([[0, 0, 0], 
                     [0, 0, 0], 
                     [0, 0, 0]])) 

但后来我希望程序能够在三个不同尺寸的板(3x3、5x5 和 7x7)上执行井字游戏,所以我重新编写了代码并创建了一个带有 input() 的 main() 函数,该函数要求所需的大小。然而,这个只打印出我在 input() 中选择的数字,例如 3,而不是板。我究竟做错了什么?我重新设计的代码是:

import numpy as np 

def create_board(board):     

    if board == 3:
        return np.array([[0, 0, 0], 
                         [0, 0, 0], 
                         [0, 0, 0]])

    if board == 5:
        return np.array([[0, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0]])

    if board == 7:
        return np.array([[0, 0, 0, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0, 0, 0]])

def main():

    board = input("how big playing surface (3/5/7)? ")

【问题讨论】:

  • 请参阅下面 Ignacio 的回答,但还要注意您仍在将字符串与整数进行比较。
  • 你从来没有真正打电话给create_board...还有为什么不只是np.zeros((board, board))
  • 谢谢@JustinEzequiel,我还编辑了 int(input(....)) 的输入,现在这也可以了!
  • @Tomerikoo 你是对的,我编辑了代码并改用了np.zeros,也称为create_board,现在效果很好!谢谢!

标签: python


【解决方案1】:

您没有从main 调用create_board。所以添加:

def main():
    board = input("how big playing surface (3/5/7)? ")
    create_board(board)

您可以将create_board 重新定义为:

def create_board(n):
    return np.zeros((n, n), dtype=int)

假设你想要一个零的方阵

【讨论】:

  • 谢谢,这简化了整个事情!但是,要使其正常工作,我必须在 main() 下的 create_board 调用中添加 return
猜你喜欢
  • 1970-01-01
  • 2014-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多