스위치#

소개#

Switch 블록은 학생들이 블록 기반 코딩에서 텍스트 기반 코딩으로 전환하는 데 도움을 줍니다. Switch 블록을 사용하면 학생들은 블록 프로젝트 내에서 직접 파이썬 코드를 입력하여 명령, 조건, 값 또는 함수 정의를 작성할 수 있으며, 동시에 프로젝트의 나머지 부분은 블록으로 구성할 수 있습니다. 개별 블록은 해당 파이썬 명령으로 변환할 수도 있습니다.

Python 명령, 메서드 및 연산자를 입력하는 방법을 배우려면 VEX V5 Python API를 참조하세요.

Switch 블록에는 Python 코드가 포함되어 있으므로 프로젝트가 예상대로 실행되려면 철자, 구두점 및 들여쓰기가 정확해야 합니다.

다음은 모든 Switch 블록 목록입니다.

블록 전환 — 블록 프로젝트에 Python 코드를 추가합니다.

  • 스택 — 다른 스택 블록과 순차적으로 실행되는 Python 명령을 입력할 공간을 제공합니다.

  • C 블록 — if, while, 또는 for 문과 같은 Python 제어 코드를 입력할 공간을 제공합니다.

  • C 확장 가능 — if, elif, 또는 else 와 같이 여러 분기가 있는 Python 제어 코드를 입력할 공간을 제공합니다.

  • Boolean — True 또는 False 반환하는 Python 코드를 입력할 공간을 제공합니다.

  • Reporter — 값을 반환하는 Python 코드를 입력할 공간을 제공합니다.

  • Hat — Python 함수를 정의할 공간을 제공합니다.

스택#

스택 블록은 다른 스택 블록과 순차적으로 실행되는 파이썬 명령어를 입력할 수 있는 공간을 제공합니다.

스택 블록#
[] :: custom-switch

스택 블록에는 한 줄 또는 여러 줄의 파이썬 코드가 포함될 수 있습니다.

시작 시 스택 블록을 사용하여 앞으로 진행하고, 대기한 다음 멈춥니다.#
시작 시 :: hat events
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
[2]초 기다리기
주행 정지

C 블록#

C 블록은 if, while, ` for 와 같은 파이썬 제어 코드를 입력할 수 있는 공간을 제공합니다. C 블록 안에 있는 블록은 해당 파이썬 제어 구조의 일부로 실행됩니다.

C 블록#
if [] :: custom-switch
끝

C 블록에서 사용할 수 있는 Python 제어 코드는 다음과 같습니다.

시작 시, 화면을 누르면 C 블록을 사용하여 앞으로 나아갑니다.#
시작 시 :: hat events
[Drive forward when the screen is pressed.]
무한 반복
if [if brain.screen.pressing():] :: custom-switch
[앞으로 v] 방향으로 [200] [mm v] 주행 ▶
끝
끝

C 확장 가능#

C 확장 가능 블록은 if, elif, 또는 else와 같이 여러 분기가 있는 Python 제어 코드를 입력할 수 있는 공간을 제공합니다. 더하기 화살표를 선택하면 분기를 추가할 수 있습니다.

C 확장형 블록#
if [] :: custom-switch-expand
끝

C 확장 가능 블록에서 사용할 수 있는 Python 제어 코드는 다음과 같습니다.

시작 시, 화면을 누르면 오른쪽으로 회전하고 그렇지 않으면 왼쪽으로 회전하도록 C 확장형 블록을 사용합니다.#
시작 시
[Turn right when the screen is pressed, otherwise turn left.]
무한 반복
if [if brain.screen.pressing():] :: custom-switch-expand
[오른쪽 v] 방향으로 회전
else [else:] :: custom-switch-expand
[왼쪽 v] 방향으로 회전
끝
끝

부울#

Boolean 블록은 True 또는 False반환하는 Python 코드를 입력할 수 있는 공간을 제공합니다. 이 블록은 육각형 입력란을 가진 블록 안에 배치할 수 있습니다.

부울 블록#
<[] :: custom-switch>

Boolean 블록에는 Python 조건이 포함될 수 있습니다.

파이썬 조건을 사용한 부울 블록#
<[bumper_a.is_pressed()] :: custom-switch>

부울 블록은 논리 연산자도 사용할 수 있습니다.

파이썬 논리 연산자를 사용한 부울 블록#
<[bumper_a.is_pressed() or bumper_b.is_pressed()] :: custom-switch>

부울 블록은 비교 연산자를 사용하여 값을 비교할 수 있습니다.

  • 보다 큼: >

  • 미만: <

  • 동일: ==

  • 다른 비교 연산자에는 <=, !=, 및 >=가 포함됩니다.

파이썬 비교 연산자를 사용한 부울 블록#
<[drivetrain.get_heading()> 100] :: custom-switch>
시작 시, 화면이 눌릴 때마다 부울 블록을 사용하여 앞으로 나아갑니다.#
시작 시 :: hat events
[Drive forward whenever the screen is pressed.]
무한 반복
<[brain.screen.pressing()] :: custom-switch>이면
[앞으로 v] 방향으로 [200] [mm v] 주행 ▶
끝
끝

보고자#

Reporter 블록은 값을 반환하는 Python 코드를 입력할 수 있는 공간을 제공합니다. 이 블록은 원형 입력이 있는 블록 내부에 배치할 수 있습니다.

기자 블록#
([] :: custom-switch)

리포터 블록에는 값을 반환하는 Python 코드가 포함될 수 있습니다.

값을 반환하는 Python 코드가 포함된 리포터 블록#
([drivetrain.rotation()] :: custom-switch)

리포터 블록에서 수학 연산자를 사용할 수 있습니다.

  • 덧셈: +

  • 뺄셈: -

  • 구분: /

  • 곱셈: *

Python 추가 기능이 포함된 리포터 블록#
([drivetrain.rotation() + 45] :: custom-switch)
시작 시 로봇이 회전하는 동안 구동계 회전 방향을 출력합니다.#
시작 시 :: hat events
[Display the rotation while turning.]
[오른쪽 v] 방향으로 [450]도 회전 ◀ 및 기다리지 않음
무한 반복
모든 행 지우기
([drivetrain.rotation()] :: custom-switch) 출력 ▶
[0.1]초 기다리기
끝

모자#

Hat 블록은 파이썬 함수를 정의하는 공간을 제공합니다. Hat 아래에 붙는 블록들은 해당 함수의 본문이 됩니다.

모자 블록#
[] :: hat custom-switch

Hat 블록에 파이썬 함수 정의를 입력하세요. 매개변수는 괄호 안에 넣습니다. 함수에 매개변수가 필요하지 않은 경우 빈 괄호를 사용하세요.

파이썬 함수 정의가 포함된 HAT 블록#
[def function_name(parameter):] :: hat custom-switch
시작 시 Hat 블록을 사용하여 함수를 정의하고 호출합니다.#
[def drive_400():] :: hat custom-switch
[Create a function to drive the robot forward.]
[앞으로 v] 방향으로 (400) [mm v] 주행 ▶

시작 시 :: hat events
[drive_400()] :: custom-switch