Scratch
스크래치(Scratch) - 스파이로그래프 하이포트로코이드 그리기
스크래치(Scratch) - 스파이로그래프 하이포트로코이드 그리기
2017.11.03스파이로그래프 Spirograph는 기술적으로 하이포트로코이드 hypotrochoids 및 에피트로코이드 epitrochoids로 알려진 다양한 수학적 룰렛 곡선을 생성하는 기하학적인 드로잉 장난감입니다. 크기가 각각 다른 톱니바퀴와 그 안에 뚫린 구멍에 볼펜을 꽂아 톱니로 이루어진 고정된 원 둘레를 돌리면 아름다운 기하 무늬가 나타난다. 이것은 영국의 엔지니어인 Denys Fisher가 개발했으며 1965 년에 처음 판매되었다. 하이포트로코이드 톱니바퀴를 원의 내부에서 돌릴 때 생기는 모양이다. 톱니바퀴의 반지름을 r, 톱니바퀴가 내부에서 돌아가는 원의 반지름을 R, 톱니바퀴의 중심으로부터 궤적을 그리는 점까지 거리를 d라 하면 하이포트로코이드의 매개변수 방정식은 $$ \begin{align} ..
스크래치(Scratch) - 알고리즘: 1부터 10까지 말하기
스크래치(Scratch) - 알고리즘: 1부터 10까지 말하기
2017.10.171부터 10까지 말하기 반복문 이용하여 1~10까지 말하는 프로그램을 만들어 보겠다. 데이터 카테고리에서 변수만들기를 이용하여 자연수 이름의 변수를 만든다. 하여 자연수 변수의 값을 0으로 한다. 를 10번 반복한다. 이번에는 ~까지 반복하기 블록을 사용하여 프로그램을 만들어 보겠다. ~번 반복하기 명령은 반복해야하는 횟수가 상황에 따라 변하지 않고 고정되 있는 경우에 사용한다. 반면에 ~까지 반복하기 명령은 프로그램이 수행되는 동안 상황에 따라 반복횟수를 다르게 하고 싶을때 사용한다. 주의할 점은 ~까지 반복하기 블록을 사용할 때 마지막 반복은 실행되지 않는다는 점을 생각하여 조건을 만들어 줘야한다. 위의 프로그램의 경우 변수 자연수 값이 0, 1, 2, 9 까지 실행되며 10이 되는 순간 반복문이 종..
스크래치(Scratch) - 동적 리스트
스크래치(Scratch) - 동적 리스트
2017.10.10동적 리스트 리스트는 프로그램이 실행 중일 때 동적으로 확장되거나 축소 될 수 있기 때문에 강력하다. 예를 들어, 교사가 성적 처리 응용 프로그램을 작성하고 있다고 가정 해 보자. 교사는 추가 처리를 위해 학생의 시험 점수를 입력 할 수 있다. (교사는 한 반의 최대 점수, 최소, 평균, 중앙값 등을 찾아야 할 수도 있다.) 그러나 학생 수는 모든 반에 따라 다를 수 있다. 교사는 1반에 20 점, 2반에 25 점을 입력해야 할 수 있다. 교사가 점수 입력을 마쳤다는 것을 프로그램에서 어떻게 처리 할 수 있을까? 먼저 사용자의 데이터로 리스트를 채우는 두 가지 방법을 소개한다. 그런 다음 숫자 목록을 탐색하고 여기에서 수행되는 몇 가지 일반적인 작업을 살펴 본다. 사용자 입력으로 리스트 만들기 사용자가 ..
스크래치(Scratch) - 리스트 기초
스크래치(Scratch) - 리스트 기초
2017.10.10리스트 리스트 만들기 리스트 만드는 것은 변수를 만들기와 거의 동일하다. 데이터 카테고리를 선택하고 리스트 만들기를 클릭하면 다음과 같은 대화 상자가 나타난다. 리스트 이름을 입력하고 해당 범위를 지정한다. 모든 스프라이트에서 사용 옵션을 선택하면 응용 프로그램의 모든 스프라이트가 액세스 할 수 있는 전역 리스트이 생성되는 반면 이 스프라이트에서만 사용 옵션은 현재 선택된 스프라이트에 속한 로컬 리스트을 만든다. 지역 리스트은 소유자 스프라이트에서만 사용할 수 있다. 확인을 클릭하면 스크래치는 새로운 빈 리스트을 만들고 리스트 관련 블록을 표시한다. 이것은 새로운 변수를 만들 때와 비슷하다. 빈 리스트은 항목이 없는 리스트이다.이 새로운 명령을 사용하여 스크립트가 실행되는 동안 리스트의 내용을 조작 할 ..
스크래치(Scratch) - 복제하기에 대하여
스크래치(Scratch) - 복제하기에 대하여
2017.10.10복제하기에 대해 좀더 알아보기 1. 모든 스프라이트는 제어 카테고리 블록에서 블록을 사용하여 자신이나 다른 스프라이트를 복제 할 수 있다. (스테이지는 동일한 블록을 사용하여 스프라이트를 복제 할 수도 있다.) 복제된 스프라이트는 복제된 시점의 원본 상태, 즉 원래의 현재 위치와 방향, 모양, 방향, 펜 색상, 펜 크기, 그래픽 효과를 상속한다. 복제본은 스프라이트의 스크립트도 상속받는다. 2. 아래와 같이 프로그램을 만들어보자. 여기서 원본 스프라이트는 두 개의 클론을 생성한다. 스페이스 바를 누르면 세 개의 스프라이트(마스터와 두 개의 클론)가 오른쪽으로 15° 회전한다. 왜냐하면 모두 스페이스 키를 눌렀을 때 스크립트를 실행하기 때문이다. 3. 다음 프로그램을 고려해보자. 처음 스페이스 바를 누르면..
스크래치(Scratch) - [게임 01] 사과 받기 게임
스크래치(Scratch) - [게임 01] 사과 받기 게임
2017.10.01게임 01 사과 받기 게임 사과 받기 게임 프로젝트를 생각해 보겠다. 사과가 임의의 위치에 나타나고 랜덤하게 수직으로 떨어진다. 바구니 스프라이트는 좌우로 움직이며 떨어지는 사과를 땅에 닿기 전에 바구니에 담는다. 사과를 담을때 마다 1점씩 얻는다.이런 게임은 동일한 많은 스프라이트를 필요로 한다고 생각할 수 있다. 복제 기능을 사용하면 많은 사과를 쉽게 만들 수 있다. 하나의 사과 스프라이트를 사용하여 원하는 만큼의 복제본을 만든다. 좌우방향기로 움직이는 바구니 만들기 먼저 바구니 스프라이트에 대한 스크립트를 작성하겠다. 를 클릭하면 바구니가 스테이지의 아래쪽 중앙으로 이동한다. 오른쪽 화살표와 왼쪽 화살표의 상태에 따라 바구니를 이동한다. 몇 번의 테스트를 통해 30만큼 이동하도록 하였다. 따라서 자..
스크래치(Scratch) - [게임 기초] 좌우방향키를 이용한 스프라이트 움직이기
스크래치(Scratch) - [게임 기초] 좌우방향키를 이용한 스프라이트 움직이기
2017.09.27좌우 방향키를 이용한 스프라이트 움직이기 방법1 첫번째 방법은 블록을 이용하는 방법이다. 이 블록을 무한 반복하면 방향키를 누를때 스프라이트를 이동 할 수 있다. 이벤트 카테고리 블록에서 블록을 드래그 한다. 제어 카테고리 블록에서 블록을 드래그 한다. 제어 카테고리 블록에서 블록을 블록안에 드래그 한다. 관찰 카테고리 블록에서 블록을 만약 블록에 드래그 한다. 드롭다운 메뉴를 눌러 왼쪽 화살표 로 변경한다. 동작 카테고리 블록에서 블록을 만약 블록안에 그래그 하여 삽입한다. 값을 -20로 한다. 값에 따라 움직이의 크기가 결정된다. 만약 블록에 마우스 오른쪽 키를 눌러 블록을 복사하여 아래 붙인다. 블록의 드롭다운 메뉴를 눌러 오른쪽 화살표로 변경하고 의 값을 20으로 한다. 스프라이트가 좌우방향성을 ..
스크래치(Scratch) - 산술 연산
스크래치(Scratch) - 산술 연산
2017.09.26산술 연산 스크래치에서 지원되는 산술 연산자와 함수를 간단히 살펴 보겠다. 연산 카테고리 블록을 사용하여 계산기를 스크래치로 만들 수 있다. 산술연산 스크래치는 더하기 +, 빼기 -, 곱하기 * 및 나누기 /의 네 가지 기본 사칙 연산을 지원한다. 사칙연산을 수행하는데 사용되는 블록은 연산 카테고리 블록이다. 연산 카테고리의 블록은 숫자를 생성하기 때문에이 숫자를 입력으로 사용할 수 있다. 사칙연산 예제 형태 카테고리 블록에서 블록을 드래그 한다. 연산 카테고리 블록에서 블록을 드래그 하여 숫자를 입력한뒤 말하기 블록에 드래그하여 삽입한다. 형태 카테고리 블록에서 블록을 드래그 한다. 연산 카테고리 블록에서 블록을 드래그 하여 숫자를 입력한뒤 말하기 블록에 드래그하여 삽입한다. 형태 카테고리 블록에서 블..
스크래치(Scratch) - 펜 명령 추가 예제
스크래치(Scratch) - 펜 명령 추가 예제
2017.09.26펜 명령에 대해 좀더 자세히 살펴보기위해 화살표 키를 사용하여 무대에서 스프라이트를 이동하고 회전하여 그림을 그릴 수있는 간단한 프로그램을 작성해 보겠다. 위쪽 화살표를 한 번 누르면 스프라이트가 10 단계 앞으로 이동한다. 아래쪽 화살표를 누르면 스프라이트가 10 단계 뒤로 이동한다. 오른쪽 화살표를 누를 때마다 스프라이트가 오른쪽으로 10도 회전하고 왼쪽 화살표를 누르면 스프라이트가 왼쪽으로 10도 회전한다. 예를 들어 스프라이트를 90도 회전 시키려면 그림 2-9와 같이 왼쪽 또는 오른쪽 화살표 키를 9번 누르면 된다. 먼저 고양이 스프라이트를 삭제하고 새로운 스프라이트를 추가한다. 스프라이트가 왼쪽, 오른쪽, 위 또는 아래를 가리키고 있는지 명확하게 보여주는 것으로 선택한다. Beetle 또는 C..
스크래치(Scratch) - 펜 명령 기본 예제
스크래치(Scratch) - 펜 명령 기본 예제
2017.09.11펜 명령 스크레치에서 펜 명령는 스프라이트가 이동하는 실제 경로를 볼 수 있게 도와준다. 각 스프라이트는 위 또는 아래에 눈에 보이지 않는 펜을 가지고 있다. 펜이 아래에 있다면 스프라이트의 움직임을 그린다. 펜이 위에 있다면 스프라이트는 아무런 흔적없이 이동한다. 명령을 사용하여 펜의 크기, 색상 및 음영을 제어 할 수 있다. 간단한 예제를 통해서 펜명령을 알아보겠다. 예제 1 블록을 드래드한다. 동작 블록 카테고리에서 블록을 드래그한다. 펜 블록 카테고리에서 블록을 드래그한다. (펜 블록 사용할 때는 항상 지우기 블록을 먼저 사용한다.) 펜 블록 카테고리에서 블록을 드래그한다. 펜 색상을 보라색으로 변경한다. (블록의 색상을 클릭하면 마우스 포인터가 손가락 모양으로 변하는데 원하는 색상으로 이동 후 ..
스크래치(Scratch) - 절대적 동작 블록
스크래치(Scratch) - 절대적 동작 블록
2017.09.08절대적 동작 블록 무대는 480×360 사이즈의 격자를 이루며 중심은 (0,0) 이다. 스크래치는 스프라이트를 격자의 정확한 위치에 이동하는 , , , 그리고 의 4가지 절대적 동작 명령어가 있다.이런 명령의 예를 보이기 위해 스프라이트를 (200,150) 위치로 이동해 보자. 가장 확실한 방법은 블록을 사용하는 것 이다. 동작 블록 카테고리에서 블록을 드래그한 뒤 숫자를 x: 200 y: 150으로 변경한다. 다른 방법은 그리고 명령을 사용하는 것이다. 스크립트 영역의 오른쪽 모서리 위에 스프라이트의 현재 x좌표 및 y좌표 위치를 볼 수 있다. 동작 명령어는 스프라이트의 중심을 기준으로 작동한다. 따라서 이동할 스프라이트에 대해 센터에 주의해야한다. 동작 블록 카테고리에서 ..
스크래치(Scratch) - Tip 코드 복사 방법
스크래치(Scratch) - Tip 코드 복사 방법
2017.09.07코드 복사 방법 프로그램에 많은 스프라이트에 코드를 추가하는 데는 두 가지 방법이 있다. 첫 번째 방법은 코드를 새로운 스프라이트에 복사하는 것이다. 이 방법을 수행하기 위한 단계는 다음과 같다. 복사할 스프라이트의 스크립트 영역의 코드 블럭의 가장 윗 블록에 마우스 커서를 가져간 후 마우스 오른쪽을 클릭한다. 메뉴중 복사를 클릭한다. 복사된 스크립트를 복사할 스프라이트 위로 가져간후 클릭한다.(스크립트를 복사할 때 특정한 반응이 없다) 스프라이트를 클릭하여 방금 끌어온 코드가 복사된 것을 볼 수 있다. 이것은 많은 스프라이트에 필요한 코드를 복제하는 방법이다.