在对象列表

时间:2017-10-23 16:16:44

标签: javascript arrays algorithm

好的家伙,对象开发者新手在这里。我尝试做一个下降立方体的动画,如下所示:Falling animation to fill a webpage

我有一些算法问题。我遵循俄罗斯方块游戏的模型,但我想要同时下降多个像素。所以我有一个构造函数,有一些方法来移动我的像素。

但现在我使用构造函数创建一个对象数组,如:

var a_player = [];

function addPlayer(pos){
  var player = new Player(pos);
  a_player.push(player);
}

addPlayer({x: 3, y: 3});
addPlayer({x: 0, y: 0});

我想使用一些公共方法,比如collide()方法:

function collide(arena, player) {
  const [m, o] = [player.matrix, player.pos];
  for (let y = 0; y < m.length; ++y) {
    for (let x = 0; x < m[y].length; ++x) {
      if (m[y][x] !== 00 &&
          (arena[y + o.y] &&
          arena[y + o.y][x + o.x]) !== 0) {
            return true;
          }
    }
  }
  return false;
}

但我不知道最好的方法是什么。我可以使用&#34; for&#34;喜欢

for (i = 0; i < a_player.length; i++){
            console.log(a_player[i].pos);
}

但我必须将它应用于我的所有方法,或者我可以通过我的阵列中的玩家数量复制我的方法(但最终我需要超过20k的玩家......)。那么你可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我认为这就是你要找的东西:

set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})
find_package(SFML 2 REQUIRED network audio graphics window system)
if(SFML_FOUND)
  include_directories(${SFML_INCLUDE_DIR})
  target_link_libraries(${EXECUTABLE_NAME} ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
else()
  message("SFML WAS NOT FOUND")
endif()