피셔예이츠셔플
-
JavaScript 입문 : 카드맞추기 게임 - 카드 기본데이터, 카드 생성, 카드 섞기, 카드맞추기 게임 시작 함수컴퓨터 알아가기/JavaScript 2022. 9. 29. 19:30
이 글은 제로초TV 자바스크립트 강좌를 기본으로 공부하고 있습니다. 지난시간까지 카드맞추기 게임 순서도와 카드가 뒤집히는 애니메이션인 CSS를 다뤄 봤습니다. 지금부터는 순수하게 자바스크립트만을 이용하여 카드맞추기 게임을 만들어 가도록 하겠습니다. 1. 카드 구성요소 만들기 카드 구성요소로는 전체 카드갯수와 색상이 들어간 배열이 필요합니다. 아울러 짝을 맞추는 게임이니 같은 색을 두번 사용해야 합니다. 여기서는 concat( ) 함수를 이용해 봅니다. 이제는 내가 쓰는 코드가 에러가 있는지 미리 확인하는 습관도 중요합니다. 강좌등을 보면 코드에 console.log( ) 메소드를 이용하라는 지침이 많은데 직접 코드에 쓰는 것 보다 콘솔에 타이핑해보면 쉽니다. 위 구성요소가 잘 되었는지는 다음과 같이 콘솔..
-
JavaScript 입문 : 로또추첨기 - 무작위 섞기 2단계 (피셔예이츠 셔플)컴퓨터 알아가기/JavaScript 2022. 5. 10. 19:30
이 글은 제로초 TV의 자바스크립트 강좌를 기본으로 하고 있습니다. 지난 시간까지 배열과 map( ), fill( ) 메소드를 이용하여 공 45개를 준비 하였습니다. 1부터 45번까지의 순서대로 준비된 숫자를 무작위로 섞은 후 섞인 숫자에서 7개를 뽑는 방식으로 로또 추첨기를 만들 예정입니다. ▒ 45개 숫자 무작위 섞은 후 추출 (피셔 예이츠 셔플) 숫자를 무작위로 섞는데 있어서 이전 random( ) 함수를 사용한 적이 있었는데 이를 응용한 방식을 사용할 예정입니다. 이에 전체 모집단을 무작위로 섞고 그 중에서 일정 부분을 추출하는 알고리즘을 배우고자 하는데 이 알고리즘 창시자가 피셔 예이즈 (Fisher Yates)입니다. 이를 피셔 예이츠 셔플이라고 부릅니다. 즉, 빈 배열을 만들고 45개 전체를..