내 게임이 OOP 대신 기능적 스타일로 어떻게 보이는지 궁금합니다. 여기JavaScript OOP를 기능으로 변환하는 방법
는 Node.js를 코드의 핵심 라인은 다음과 같습니다
if (!player.owns(flag) && player.near(flag) && flag.isUnlocked()) {
player.capture(flag);
}
내 생각이었다, 그것은 다음과 같을 수 있습니다 :
var canCapture = [not(owns), isNear, canUnlock].every(function(cond) {
return cond(playerData, flagData);
});
if(canCapture) {
// how to capture?
}
그러나 확실하지, 기능 코더를 경험하지로. 주제에 가까운 모든 대답에 관심이 있습니다 (다른 프로그래밍 스타일에서도 가능).
OOP 부분이 코드에 있는지 모르겠습니다. 아니면이 용어로 이해할 수도 있습니다. –
메서드가 "owns", "near", "capture"인 Player 클래스 인스턴스가 있습니다. 또한 "isUnlocked"메서드를 사용하여 Flag 클래스 인스턴스를 가질 수도 있습니다. – Kasztan
하지만 그 물체는 여전히 남아있을 것입니다. 그래서 그들은 OOP에서 기능적으로 변환되지 않을 것입니다 ...** 실제로 함수/값의 배열을 제공 할 수있는'All' 술어를 작성하고 모두가 '사실'일 때'true'를 반환해야합니까? ** –