以下是一个简单的 Python 实现 2048 游戏的示例代码: ```python import random # 初始化 4x4 的棋盘 board = [[0 for _ in range(4)] for _ in range(4)] # 随机在棋盘上生成一个 2 或 4 def generate_random_tile(): available_cells = [(i, j) for i in range(4) for j in range(4) if board[i][j] == 0] if available_cells: row, col = random.choice(available_cells) value = random.choice([2, 4]) board[row][col] = value # 打印棋盘 def print_board(): for row in board: print(" ".join(str(cell) if cell!= 0 else " " for cell in row)) print() # 合并行数据 def merge_row(row): new_row = [0] * 4 index = 0 for num in row: if num!= 0: if new_row[index] == 0: new_row[index] = num elif new_row[index] == num: new_row[index] *= 2 index += 1 else: index += 1 new_row[index] = num return new_row # 移动棋盘 def move(direction): if direction == "up": for col in range(4): column = [board[row][col] for row in range(4)] new_column = merge_row(column) for row in range(4): board[row][col] = new_column[row] elif direction == "down": for col in range(4): column = [board[row][col] for row in range(3, -1, -1)] new_column = merge_row(column) for row in range(3, -1, -1): board[row][col] = new_column[3 - row] elif direction == "left": for row in range(4): board[row] = merge_row(board[row]) elif direction == "right": for row in range(4): board[row] = merge_row(board[row][::-1])[::-1] # 游戏主循环 generate_random_tile() generate_random_tile() while True: print_board() direction = raw_input("请输入移动方向(up/down/left/right): ") move(direction) generate_random_tile() ``` 这只是一个基本的实现,你可以根据需要进一步完善和优化,比如添加得分计算、判断游戏结束等功能。 [2024-09-25 15:32:41 | AI写代码神器 | 619点数解答]