뉴스N

플레이봇 자바스크립트(?) 오류

2025. 3. 10. 오후 2:40:03

플레이봇 자바스크립트(?) 오류

코드를 살펴보니 몇 가지 문제가 있어 보입니다. 특히 Internal Javascript Error: TypeError 라는 오류가 발생하는 원인은 다음과 같은 이유 때문일 수 있습니다.

1. 인덴트 문제

def make_func(p,m,x,xm):

a=p/((xm-x)*(xm-(x+m)))

return a

위 함수에서 a=p/((xm-x)*(xm-(x+m))) 라인은 들여쓰기가 필요합니다. 올바른 코드:

def make_func(p, m, x, xm):

a = p / ((xm - x) * (xm - (x + m)))

return a

이런 들여쓰기 문제는 Python에서 IndentationError 를 유발하지만, 플레이봇이 내부적으로 JavaScript를 사용해서 실행하는 경우 Internal Javascript Error 로 표시될 수도 있습니다.

2. while 루프 종료 조건이 잘못됨

space_jump(func_x+0.5, func_y+1)

이 코드는 func_y 값이 None 이거나 적절하지 않다면 오류를 일으킬 수 있습니다.

특히 get_func_y(a, power, move, x, func_x) 값이 정상적으로 반환되는지 확인해야 합니다.

4. 기능 문제 (변수명 오타 가능성)

d = right_is_wall()

• right_is_wall() 함수가 내부적으로 정의되지 않았다면, 실행 도중 오류가 발생할 수 있습니다.

• 플레이봇에서 right_is_wall() 함수가 제대로 지원되는지 확인하세요.

수정된 코드

아래는 들여쓰기 오류를 고치고, while 루프 종료 조건을 명확하게 한 코드입니다.

space_jump(1, 1)

power = 5.0

move = 4.0

x = float(get_x()) - 0.5

y = float(get_y()) - 1

xm = x + (move / 2)

func_x = x + 0.5

func_y = y

t = 0

print(x, y, xm)

def make_func(p, m, x, xm):

a = p / ((xm - x) * (xm - (x + m)))

return a

def get_func_y(a, p, m, x, funcx):

y = a * ((funcx - x) * (funcx - (x + m)))

return y

a = make_func(power, move, x, xm)

print(a)

while t == 0:

func_y = get_func_y(a, power, move, x, func_x)

print(func_y)

space_jump(func_x + 0.5, func_y + 1)

func_x += 0.5

d = right_is_wall()

if d: # d가 True일 경우 종료

break

이렇게 수정하면 Internal Javascript Error 문제를 해결할 가능성이 큽니다.

만약 여전히 문제가 발생하면:

1. print(d) 추가해서 right_is_wall()의 반환값 확인

2. get_func_y()가 올바른 값을 반환하는지 체크

이런 방법으로 디버깅을 진행해보세요!

글 목록으로 돌아가기