>  Q&A  >  본문

javascript - js는 2차원 배열을 교차하여 난수를 얻는 방법입니다.

2차원 배열이 있는데 (위, 아래, 왼쪽, 오른쪽에 인접하지 않고) 교차하여 2~3개의 난수를 얻는 방법은 무엇인가요?

배열:

으아악

이렇게 작성했지만 매우 경직된 느낌이 들고, 얻은 숫자가 균일하지 않고 코드가 약간 부풀어오르는 경우가 있습니다. 더 나은 해결책이 있습니까?

으아악
PHP中文网PHP中文网2663일 전1474

모든 응답(2)나는 대답할 것이다

  • 伊谢尔伦

    伊谢尔伦2017-07-05 11:09:26

    조건은 상,하,좌,우가 서로 인접하지 않는 것입니다. 시작점 좌표가 (0,0)이라고 가정하면 다음 지점 (-1, 0), (0, -1), (1, 0), (0, 1)이 마스크됩니다. 이 점의 특징은 다음과 같습니다. x의 절대값과 y의 절대값을 더하면 1이 됩니다. 합리적인 범위 내에서 임의의 x 및 y 좌표 값을 추가하고 각각의 절대값을 더합니다. 1이 아니고 이 좌표가 이전에 사용되지 않은 경우 허용됩니다.

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-07-05 11:09:26

    여기에 요구 사항을 완벽하게 충족하는 매우 간단한 해킹 아이디어가 있습니다. 즉, [상단, 하단, 왼쪽 및 오른쪽에 인접하지 않음]이라는 요구 사항을 달성하기 위해 의도적으로 [단면에서 숫자를 취함] 두 개만 필요합니다. 라인:

    으아악

    회신하다
    0
  • 취소회신하다