자바스크립트 질문드립니다.
본문
자바 스크립트를 기반으로 하는 플레이봇이라는 사이트에서 게임을 만들던 도중 무작위 함수값끼리 더하는 방법이 생각 나지 않아 질문 드립니다.
a = get_random(0,5)
switch (a) {
case(1):
g=1
break
case(2):
g=2
break
case(3):
g=3
break
case(4):
g=4
break
case(5):
g=5
break
default:
g=6
}
이걸 반복 하여 b,d,e,f,g 함수에 1~6까지의 무작위 값을 주고
if (b==1 && d==1 && e==1 && f==1 && g==1) {
set_text(6,13,b+d+e+f+g)
} else {
set_text(6,13,0)}
함수 값이 1인 숫자들 끼리만 더 하고 싶은데 위의 코드를 짜면 함수 5개를 다 더해버리더라구요.
함수 값이 1인 숫자들만 더할수 있는 방법이 있을까요?
답변 2
변수를 함수라고 말씀하시는 거 같습니다.
if (b==1 && d==1 && e==1 && f==1 && g==1) {
set_text(6,13,b+d+e+f+g)
if 조건을 보면 변수 값이 1인 경우
b+d+e+f+g(=5)
가 되는데
==
더 하고 싶은데 위의 코드를 짜면 함수 5개를 다 더해버리더라구요.
==
다 더한 다는 것은 무슨 상황인가요?
b, d, e, f, g에 1~6까지의 무작위 숫자를 주고, 이중 1이 몇 개인지 세고 싶으신 게 맞으신가요?
질문을 제대로 이해했다면
if (b==1 && d==1 && e==1 && f==1 && g==1)
와 같은 조건문은 &&로 연결되어있기 때문에 b, d, e, f, g가 모두 1일때 실행됩니다.
차라리 1의 갯수를 셀 변수를 하나 선언하시고, 1만 찾는 for문을 돌리신 후
set_text(6,13,(변수 이름))} 처럼 넣으시는 건 어떠실까 싶습니다.