上一部分已经实现了2048游戏的核心规则内容,但是在我们移动了数字后,游戏界面并没有增加新的数字,所以我们需要在每次移动后,增加新的数字。同时如果按下按键,在按键方向上并没有可以移动的数字,那么此时不需要增加新的数字到游戏界面。
在编写之前,先编写一个空位检查函数,如果没有空位,那么则不需要再增加数字了。
def has_enough_space(board):
enough_space_flag = False
for i in range(len(board)):
for j in range(len(board[i])):
if board[i][j] is None:
enough_space_flag = True
return enough_space_flag
然后定义生成新数字函数
def generate_new_number(board):
if has_enough_space(board):
counter = 1
while counter > 0:
random_x = random.randint(0, board_height-1)
random_y = random.randint(0, board_width-1)
if board[random_x][random_y] is None:
board[random_x][random_y] = 2
counter -= 1
修改slide_to部分内容
if slide_to:
move