我正在尝试创建一个可以移动到正方形末端的游戏。在游戏中,我通过列出正确与否(false =障碍)来创建障碍。我拥有(但未发布)的东西只有在用户降落在障碍物上时才能检测到障碍物。但是,我想找到一种方法来检测障碍物,然后用户再进行下一步操作,并在下一个地点成为障碍物之前将其保持在原位。换句话说,我想在继续之前找到列表的下一个索引。以下是一些伪代码,可提供更好的图片:
if next_left != [[False]]: # if there is no obstacle
officially_move_left
else: # if there is an obstacle
user_do_nothing
我所拥有的(伪装):
def moving_pos(user):
copy_user.pos = user.pos
if copy_user.pos +1 == [True]
user.pos += 1
copy_user.pos += 1
else:
return user.pos
答案 0 :(得分:4)
if (user_position == obstacle):
next_square_is_obstacle = true
user_move_backwards
即,移动播放器,检测物体,然后再次将播放器移回。如果没有看到实际的实现,很难提供帮助
编辑:好的,在您的新编辑中,我看不到程序应具有此类约束的任何原因。但是,让我建议一些新的东西-
obstacle_index = [obs1, obs2, obs3...]
if user_position+1 in obstacle_index:
do_nothing;
else
user_move_forward;
您可以发布实际的最小工作代码,或者至少发布实现的更详细的伪代码吗?