최근 수정 시각 : 2026-01-05 19:38:54

PlayBot


<colbgcolor=#fff,#1c1d1f><colcolor=#0f1322> {{{#!wiki style="margin: -5px -10px"<tablealign=center><tablewidth=100%><tablebordercolor=#fff,#1c1d1f> 파일:PlayBot 사이트 로고.pngPlayBot
플레이봇과 놀자
}}}
종류 코딩 교육 플랫폼
언어 한국어
사이트
개설일
2014년[1]
영리 여부 비영리
접속 상태 접속 가능
링크 파일:홈페이지 아이콘.svg 공식 홈페이지
파일:홈페이지 아이콘.svg 공식 문서

1. 개요2. 상세3. 여담

1. 개요

고등학교 정보 교사가 만든 교육용 프로그래밍 언어 플랫폼이다.
알만툴처럼 기본적으로 로봇[2]이 존재하며 명령을 내릴 수 있다.

2. 상세

언어는 JavaScript를 사용하며, 해당 언어와 유사하나 PlayBot에 맞도록 문법과 함수들이 변형되어있다. 여기에 봇 및 월드와의 상호작용을 위한 몇몇 함수가 추가되어 있다.
대부분의 동작이 플레이봇용 함수로 이루어져 자바스크립트의 기본 문법을 익히는 정도로밖에 도움이 되지 않지만, 프로그래밍에 관해 백지인 상태에선 컴퓨터가 컴파일을 하는 방식을 이해하는데 그 언어들보다는 훨씬 더 도움이 된다. 배우기 훨씬 쉬우니 당연하다.

3. 여담

  • 플레이 봇 샘플 예제 15번 미로 찾기 예제의 코드를 가져와도, 다른 맵에서는 미로의 섬에서 헤어나오지 못하고 허우적 대는 등 모든 미로를 통과할 수 있는 예제는 아니다. 우선법(우수법)을 이용하면 위의 사태가 일어나지 않는데[3] 그 예시는 다음과 같다. (아래는 플레이봇 코드에 맞게 설정된 우수법이다.)
    {{{#!syntax javascript
turn_right = () => repeat("turn_left()", 3)

// while문 안에는 클리어 조건의 부정이 들어가야 한다.
while (true) {
if (right_is_clear()) {
turn_right()
move()
} else {
if (front_is_wall())
turn_left()
else
move()
}
}
}}}
이런 식으로 예제라고 모두 믿을 수 있는 것은 아니다. 다만 그런 예제들은 위 처럼 조잡하게 프로그래밍되어있지 않고 체계적으로 잘 되어있으므로 예제를 잘 이해하고 그런 방식들을 익히면 알고리즘 면에서나 최적화 면에서 이득을 보는 법을 깨닫게 되므로 이후 프로그래밍을 배울 때 도움을 받을 수 있을 것이다.
* 프로그래밍 창에서 캐릭터를 계속 클릭하면 그만 누르라고 하고, 그래도 계속 누르면 짜증나니까 답하지 않겠다고 하면서 응답하지 않는다.[4] 1~10번 누르면 내 이름은 r1 입니다. 라고 하고, 11번째부터 말이 달라지다가 16~20번째 누르면 .....이라고 한다. 21번째 누르면 1번째 누른 것과 결과가 같다.

[1] 플레이봇 오픈 통계[2] 로블록스로 예시를 들자면 게임 내에 플레이어 1이 있는 것[3] 우선법 문서에도 나와 있지만 이 방법도 시작할 때 우수, 플레이 봇의 경우 시작하는 곳의 봇의 오른쪽이 미로의 섬일 경우에는 불가능하다. 이 경우 밑에 나오는 코드를 좌선법으로 바꾸고 위에서 설명한 예시의 스택제를 적용하여 섬에 스택이 쫙 쌓이는 것을 감지할 수 있게 하고 그럴 경우 좌수법을 이용하게 if문 등을 이용해 코드를 설정해 놓으면 해결된다. 참고로 좌수법도 시작할 때 왼손이 미로의 섬만 아니면 모든 맵을 통과할 수 있기에 두 가지를 조합하면 완벽하다. 다만 우수법이나 좌수법을 옳게 사용하고 있는 상황에서 스택제가 문제를 또 발생 시킬 수 있으니 스택이 적어도 3번 이상 쌓였을 때 반응하게 만드는 것이 좋다. 무슨 말이냐면 우수법이나 좌수법이나 지나가다 보면 분명 막힌 길을 돌아 나오면서 갔던 길을 다시 되돌아오는 경우가 많기에 스택2로서는 미로의 섬만 감지할 수는 없다는 것.[4] 근데 5번 더 누르면 다시 자기 이름을 이야기한다.