에서 사용한 랜덤 난수 발생을 활용하여 다른 응답을 받을 수 있도록 구현하기 위함.
Math.random() 함수를 사용하게 되면 0.xxxxxxxxx 와 같이 랜덤으로 난수를 발생시켜주는데,
Math.random() * 10 을 하게되면 x.xxxxxxxx 와 같이 1의 자리 숫자가 같이 나오게 됩니다.
Math.random() * 10 -> parseInt(Math.random() * 10) 로 표현하시게 되면 integer 타입으로
정수만 표기되기 때문에 x 1의자리 숫자가 랜덤으로 나오는 것 처럼 사용할 수 있습니다.
10 : 0~9 랜덤 , 100 : 0~99 랜덤, 1000 : 0~999 ..............
결론적으로 N개의 랜덤숫자를 뽑아낼 수 있습니다.
// index : 0 1 2 3 4 5 6 7 8 9
const f = ["사과","딸기","포도","배","스파게티","탕수육","짜장","카레","미트볼","라면"];
0부터 9번째까지 의 음식을 준비하고
f[parseInt(Math.random()*10)] 을 찍어보면
랜덤으로 음식을 정해주는 걸 볼 수 있습니다.
!뭐먹지 라는 메시지를 보내게 되면 자동응답봇에서는 받은 메시지를 msg 받게 되고,
if(msg == "!뭐먹지") 로 비교하게 됩니다 f[parseInt.Math.random()*10] 으로 reply 해주면 되겠습니다.
여기서 문제점은 음식을 추가해야하는 상황도 있고 , 빼야할 수도 있는데 빼고,추가할때마다 10을 11 또는 9 이런식으로 바꿔야 하는가?
아닙니다,
배열로 가져왔기 때문에 f.length 를 이용하면 되겠습니다.
f.length 를 사용하시게 되면 총 음식이 10개로 10 이라는 숫자를 얻게 되는데, index는 0~9까지 임으로
f.length - 1 로 사용하시면 됩니다.
더 나아가서 음식을 티어 로 바꿔서 "아이언" , "통나무" , "브론즈" , "실버" , "골드" , "다이아" 등 으로 설정하고
메시지는 !나는 이라고 보내는 것도 아이디어 중 하나이고,
업비트 코인 리스트를 넣어서 뭐살지 랜덤으로 응답 받는 것도 사용해 볼 수 있다.
'IT > JAVASCRIPT' 카테고리의 다른 글
[JAVASCRIPT] 배열 중복 값 제거하는 간단한 방법 및 예제 (0) | 2022.10.05 |
---|---|
[JAVASCRIPT] 자주 써먹는 문자 변환 or 치환 replace (2) | 2021.12.30 |
카카오톡 메신저봇 랜덤포인트 자바스크립트 소스 (19) | 2020.10.16 |
카카오톡 메신저봇 단톡방 랜덤 포인트적립 (74) | 2020.10.13 |
[JAVASCRIPT] JSON 데이터 배열 파싱 최대값 구하기 (1) | 2020.07.03 |
댓글