배열 셔플(array_shuffle) 함수 설명

array_shuffle 함수는 원래 배열의 요소들을 무작위로 재배열한 새로운 배열을 반환합니다. 오프셋(Offset)과 길이(Length)를 제공하면, 반환된 배열은 원래 배열의 해당 범위에 있는 요소 수와 동일한 수의 요소를 가집니다. 원래 배열을 제자리에서 변경하는 함수는 array_shuffle_ext를 참조하세요.

문법

array_shuffle(array, [offset], [length]);

인수 설명

인수 유형 설명
array Array 셔플할 배열
offset Real 셔플을 시작할 배열의 오프셋 또는 시작 인덱스입니다. 기본값은 0입니다. 음수 값을 설정하면 배열의 끝에서부터 계산됩니다. 시작 인덱스는 array_length(array) + offset이 됩니다.
length Real 셔플할 요소의 수입니다. 기본값은 (array_length(array) - 1)입니다.

반환값

  • 배열: 셔플된 새로운 배열이 반환됩니다.

예제

다음 코드는 배열을 생성하고, array_shuffle 함수를 사용하여 배열을 셔플한 후 결과를 출력합니다.

var _array = ["Everyday", "I", "'m", "shuffling"];
var _array_shuffled = array_shuffle(_array);
show_debug_message(_array_shuffled);

위의 코드는 먼저 몇 개의 단어가 포함된 배열 _array를 생성합니다. 그런 다음 array_shuffle을 사용하여 배열을 셔플하고, 결과를 새로운 배열 _array_shuffled에 저장합니다. 마지막으로 디버그 메시지를 통해 셔플된 배열의 내용을 보여줍니다.

활용 예제

  1. 랜덤 퀴즈 생성기
  2. 문제와 답변을 배열로 저장하고, array_shuffle을 사용하여 문제의 순서를 무작위로 변경합니다.

gml var questions = ["What is 2 + 2?", "What is the capital of France?", "What is the largest ocean?"]; var shuffled_questions = array_shuffle(questions);

  1. 게임 아이템 드랍 시스템
  2. 아이템 목록을 배열로 만들고, 드랍 시 무작위로 아이템을 선택합니다.

gml var items = ["Sword", "Shield", "Potion", "Armor"]; var dropped_items = array_shuffle(items);

  1. 음악 재생 목록 무작위 재생
  2. 음악 트랙을 배열로 저장하고, array_shuffle을 사용하여 무작위로 재생합니다.

gml var playlist = ["Track1", "Track2", "Track3", "Track4"]; var shuffled_playlist = array_shuffle(playlist);

  1. 학생 명단 무작위 배치
  2. 학생 이름을 배열로 만들고, 무작위로 배치하여 팀을 구성합니다.

gml var students = ["Alice", "Bob", "Charlie", "David"]; var team_assignment = array_shuffle(students);

이와 같이 array_shuffle 함수는 다양한 상황에서 유용하게 활용될 수 있습니다.