오늘 초이 질문에서 영감을 받아 다양한 프로그래밍 언어가 숫자 키패드를 확률로 바꿀 수있는 흥미로운 방법을보고 싶습니다. 일반적으로 타일 기반 게임에서는 숫자 패드를 사용하여 현재 캐릭터의 위치에 따라 어떤 방향 으로든 이동할 수 있습니다. 이러한 게임을 위해 AI를 만들 때 Math.random() * 8
충분하지 않기 때문에 움직임이 자연스럽고 자연스러운 느낌을 갖도록 창의력을 발휘해야했습니다.
숫자 키패드는 다음과 같이 정의됩니다.
7 | 8 | 9
- - - - -
4 | x | 6
- - - - -
1 | 2 | 3
스스로 이동할 수 없으므로 5는 유효하지 않습니다.
모든 예제는 다음과 같은 확률을 사용합니다. [50, 40, 30, 20, 10]
주변 8
에서 확률을 생성하려면 다음과 같이 표시됩니다.
40 | 50 | 40
-- | -- | --
30 | xx | 30
-- | -- | --
20 | 10 | 20
출력은 [20, 10, 20, 30, 30, 40, 50, 40]
(5 생략) 또는 [20, 10, 20, 30, null, 30, 40, 50, 40]
(5 존재)
주변 1
에서 생성하고 싶다면 다음과 같습니다.
30 | 20 | 10
-- | -- | --
40 | xx | 20
-- | -- | --
50 | 40 | 30
출력은 [50, 40, 30, 40, 20, 30, 20, 10]
(5 생략) 또는 [50, 40, 30, 40, null, 20, 30, 20, 10]
(5 존재)
일반적인 방법 (명령 행, stdin)으로 입력을 받아서 출력을 인쇄하는 전체 프로그램을 작성하거나 숫자 인수를 사용하여 출력을 인쇄하거나 리턴하는 함수를 작성할 수 있습니다. 프로그램이나 함수는 생성 할 위치 인 하나의 숫자를 받아 들여야합니다. 다음과 같은 확률을 사용해야합니다 [50, 40, 30, 20, 10]
(하드 코딩 할 필요는 없음).
바이트 단위의 최단 코드가 이깁니다. 표준 허점은 허용되지 않습니다. 연결된 스레드에 게시 된 답변은 허용되지 않습니다. 후행 또는 선행 공백이 허용됩니다. 4
선호도에 따라 자리 가 없거나 비어있는 것으로 간주 할 수 있습니다 . 출력 형식이 너무 까다 롭지 않습니다-쉼표로 구분 된 문자열 또는 배열로 인쇄하십시오.
(이것은 나의 첫 번째 질문입니다, 나에게 쉽게 가십시오!)