酷代码 AI
菜单

用python编写中国象棋

以下是一个简单的中国象棋文本界面实现示例。这个示例只是一个基础的框架,实现了棋子的移动逻辑,但没有包含完整的中国象棋规则,例如将军、困毙等情况。 ```python # 定义棋盘大小 BOARD_ROWS = 10 BOARD_COLS = 9 # 初始化棋盘 def init_board(): board = [[' ' for _ in range(BOARD_COLS)] for _ in range(BOARD_ROWS)] # 红方棋子 board[0] = ['車', '馬', '相', '仕', '帥', '仕', '相', '馬', '車'] board[2][1] = '炮' board[2][7] = '炮' board[3][0] = '兵' board[3][2] = '兵' board[3][4] = '兵' board[3][6] = '兵' board[3][8] = '兵' # 黑方棋子 board[9] = ['車', '馬', '象', '士', '將', '士', '象', '馬', '車'] board[7][1] = '炮' board[7][7] = '炮' board[6][0] = '卒' board[6][2] = '卒' board[6][4] = '卒' board[6][6] = '卒' board[6][8] = '卒' return board # 打印棋盘 def print_board(board): print(' 0 1 2 3 4 5 6 7 8') for i in range(BOARD_ROWS): row_str = str(i) + ' ' for j in range(BOARD_COLS): row_str += board[i][j] + ' ' print(row_str) # 移动棋子 def move_piece(board, from_x, from_y, to_x, to_y): if 0 <= from_x < BOARD_ROWS and 0 <= from_y < BOARD_COLS and 0 <= to_x < BOARD_ROWS and 0 <= to_y < BOARD_COLS: piece = board[from_x][from_y] if piece != ' ': board[to_x][to_y] = piece board[from_x][from_y] = ' ' return True return False # 主函数 def main(): board = init_board() while True: print_board(board) try: from_x, from_y = map(int, input("请输入要移动的棋子的坐标 (行 列): ").split()) to_x, to_y = map(int, input("请输入目标位置的坐标 (行 列): ").split()) if move_piece(board, from_x, from_y, to_x, to_y): print("移动成功") else: print("移动失败,请检查坐标") except ValueError: print("输入无效,请输入有效的坐标") if __name__ == "__main__": main() ``` 代码说明: 1. 初始化棋盘:`init_board` 函数用于初始化中国象棋棋盘,将红方和黑方的棋子放置在初始位置。 2. 打印棋盘:`print_board` 函数用于打印当前的棋盘状态。 3. 移动棋子:`move_piece` 函数用于将棋子从一个位置移动到另一个位置。 4. 主函数:`main` 函数是程序的入口,它不断循环,让用户输入要移动的棋子的坐标和目标位置的坐标,并调用 `move_piece` 函数进行移动。 要实现一个完整的中国象棋游戏,还需要考虑更多的规则,例如棋子的走法规则、吃子规则、将军和困毙等情况。 [2025-11-22 11:26:48 | AI问答 | 903点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多