我为像candycrush这样的游戏回溯了一些东西...当然,对于我的回溯,我需要一直改变我的初始板... 但是在游戏结束时,它并没有返回old_board ..我怎么能改变那个
我尝试了一个功能:
<div class="divSM" id="Mother">
<div class="divXS" id="Daughter">
<div class="divXXS" id="grandDaughter"></div>
</div>
</div>
<div class="divSM" id="Father">
<div class="divXS" id="Son">
<div class="divXXS" id="grandSon"></div>
</div>
</div>
在我的回溯功能中,我创建了一个存储此函数的变量,但我仍然会改变一切 我无法使用copy()函数
答案 0 :(得分:3)
由于主板是2-dim list
,代码中的i
也是list
。然后,你仍然会在游戏中改变这些列表。改变如下:
for i in board: # if board is a nested list, i is a list
original_board.append(i[:]) # use a copy of the list
甚至更短(使用list comprehension和更有说服力的变量名称):
def return_original_board(board):
return [row[:] for row in board]