본문 바로가기
[ CODING STUDY ]/》스크래치 공부

스크래치4장(랜덤위치 이동, 1초동안 X Y 이동, X Y 이동, 무한반복, 마우스포인터 이동하기)

by MRG 2020. 4. 23.
728x90
반응형

▣ 안녕하세요 ^^ 
숙제 다 해보셨나요??
알고리즘 순서도 작성해보셨죠? 그리고 그걸 보고 코딩을 하셨을 거라 생각합니다. 꼭 해보시고 이번장 진행하시면 될꺼같습니다.
꼭 꼭 코딩에 실력을 키우고 싶으시면 숙제해주세요. 
매번 잔소리하는 거 같지만 우리가 나중에 C언어, 파이썬, 유니티에 C# 등 텍스트 언어를 공부하려면 필요한 과정입니다. 다시 한번 강조합니다. 알고리즘 순서도를 꼭 설계하고 그리고 그걸 보고 코딩을 진행해주세요.


▣ 그럼 먼저 랜덤 위치 이동하기 블록을 사용해 보겠습니다. 

동작에 있습니다.
가운데로 옮겨놓고 마우스로 더블클릭하면 어떻게 되나요? 
네 맞습니다. 무작위 위치로 움직이게 됩니다. 
여러분이 어떤 버전으로 다운로드하셨는지 모르겠지만 무작위 위치로 이동하기 블록이랑 랜덤 위치로 이동하기 블록은 같은 블록입니다.
이름이 다를 수 있습니다.

▣ 확인을 해보셨다면 이제 삼각형 모양을 눌러서 마우스 포인터로 이동하기로 바꿔보겠습니다.
그런 다음에 마우스 롤 블록을 더블클릭하면 어떻게 되나요?
이상하게 구석으로 이동하게 됩니다.
그건 여러분들 마우스 위치가 블록을 클릭하는 위치에 있기 때문에 그걸 따라갔기 때문입니다.
그럼 이걸 어떻게 계속 마우스를 따라가게 할까요??


▣ 여기서 우리가 저번장에서 배웠던 반복문을 활용하면 됩니다.
계속 캐릭터가 마우스 포인터 위치로 가려면 계속 작동해야겠죠? 무한으로 말이죠?
그래서 제어에 가면 저번장에서 배운 몇 번 반복하기가 아닌 무한반복이라는 블록이 있습니다.

그런 식으로 무한반복 안에 마우스 포인터로 이동하기를 넣고 깃발을 누르면 어떻게 될까요?
네 맞습니다. 우리가 그때 배운 데로 순차적 원리로 실행하겠죠? 그리고 0초에 속도로 계속 저 안에서 무한 반복할 겁니다.
저 화살표 모양 기억하시죠??
그래서 우리가 마우스를 움직여보면 캐릭터가 마우스 위치로 딱 계속 이동하는 걸 볼 수 있습니다.
정하기 블록이랑 비슷하죠? 
꼭 기억해주세요. 마우스 포인터로 이동하기 블록은 딱 마우스 위치로 이동하는걸요.


▣ 그럼 이 블록을 활용해서 마우스로 내가 원하는 캐릭터를 한번 움직여보세요. 미션입니다. 


▣ 자 이제 이걸 해봤으면 우리가 두 가지 블록을 한번 비교해보겠습니다.

 

저번장에서 X Y로 이동하기 블록은 우리가 배웠습니다.
X 정하기 Y 정하기 블록을 합친 블록이라고 생각하시면 될 거라고 했습니다. 다시 한번 확인해주세요.
우리가 지정한 딱 그 위치로 가게 됩니다. 
딱을 강조하게 되네요 ^^


▣ 그럼 1초 동안 X Y 로 이동하기는 무엇일까요? 
우리가 고양이를 다른 위치에 두고 블록에 값을 X:0 Y:0라고 설정하고 더블클릭하면 어떻게 되나요?
네 1초 동안 우리가 지정해준 위치로 자연스럽게 이동하게 됩니다. 
아주 좋은 블록이죠? 
우리가 따로 몇 번 반복하기를 하지 않아도 이렇게 자연스럽게 움직이게 할 수 있습니다. 
이 두 블록에 차이를 아시겠죠?
꼭 둘 다 한 번씩 테스트를 해보셔야 합니다. 

▣ 자 그럼 동작 가서 이런 블록이 있습니다. 이 블록은 어떤 기능을 할까요?
네 맞습니다. 우리가 아까 사용했던 1초 X Y로 이동하기 블록이랑 같습니다.
단순히 우리가 이동할 위치를 설정해주는 게 다른 거뿐입니다.
이것도 한번 더블클릭해서 사용해볼까요?

 


▣ 저는 이렇게 한번 사용해보았습니다.
깃발을 누르면 무한으로 랜덤에 위치에 자연스럽게 움직이는 걸 볼 수 있습니다. 딱딱 움직이는 게 아니죠?
그런데 왜 1 초기 다리 기를 안 붙여도 자연스러운 걸까요?
그건 1초 동안 랜덤 위치로 이동하기 블록 자체에 기다리기 블록이 내장되어 있다고 생각하시면 될 거 같습니다.
이점 꼭 기억해주세요.

 

▣ 이제 저 위에 있는 블록을 알고리즘 순서도로 작성해보겠습니다.
이런 식으로 작성할 수 있겠죠?
이제 알고리즘 순서도만 보고 코딩을 할 수 있습니다.  
꼭 이런 식으로 알고리즘 순서도를 작성해주세요. 블록 이름을 적는 게 아닙니다.!!!
제가 강의를 하면 항상 블록 이름을 적는 학생들이 많더라고요. 주의해 주세요.

 

▣ 자 이렇게 알고리즘 순서도를 다시 한번 복습하겠습니다. 
부담스럽게 외우라는 말씀은 안 드리겠습니다. 필요할 때 한 번씩 보고 작성해주세요.

 

▣ 그래도 아직 순서도 도형이 익숙하지 않으실 수 있습니다.
그러니 우선 처음에는 마인드맵처럼 작성하시다가 하나하나 도형을 넣어서 이렇게 알고리즘을 작성해주세요. 

 

 

▣ 자 오늘에 연습문제입니다.
그런데 여기서 중요한 거 초기값을 꼭 설정해주셔야 합니다. 초기값이 무엇이냐? 바로 처음 값을 이야기합니다.
예를 들어 게임을 만들었는데, 게임을 하다가 주인공 캐릭터가 당해서 게임 오버됐다고 생각해봅시다.
그럼 재시작을 누르면 어떻게 되나요?
네 당연히 캐릭터는 처음 위치로 이동하고 다시 살아나서 시작합니다.
이걸 초기화한다라고 생각하시면 될꺼같습니다.
우리가 만든 스크래치 프로그램도 마찬가지입니다. 시작을 하면 끝이 있겠죠?
그리고 다시 시작을 하게 됩니다. 
그렇기 때문에 다시 시작하면 처음부터 시작한 위치에서 시작해야 한다라는 말이죠.
그래서 저 영상을 잘 보면 깃발을 누르면 처음 위치로 다시 이동하는 걸 보실 수 있습니다. 


그럼 알고리즘 순서도를 작성할때 무엇이 먼저인지 작성할 수 있겠죠?
힌트 : X Y 위치로 딱 이동하는 블록이 있습니다. ^^


그런 다음에 로봇이 별을 따라 랜덤으로 움직이네요. 
힌트 : 로봇은 자연스럽게 랜덤으로 움직이고 별은 딱딱 움직입니다. 딱... ㅋㅋ
제가 힌트를 너무 많이 드렸네요 ^^
이점 기억하시고 먼저 알고리즘순서도를 작성해주세요. 
그리고 그걸 보고 코딩을 하셔야 합니다.
로봇이랑 별은 따로 알고리즘 순서도를 작성해야겠죠?


▣ 자 오늘은 X Y 이동, 랜덤 위치 이동, 마우스 이동, 무한반복 등을 배웠습니다.
장마다 계속 연관해서 진행하기 때문에 꼭 한 장마다 꼼꼼하게 읽고 실습하면서 진행하셔야 이해도가 쌓이게 됩니다.
꼭 기억해주세요. 
먼저 영상을 보고 생각을 하고 알고리즘 순서도를 설계하고 그걸 보고 코딩을 해야 합니다.
꼭 꼭입니다.  제가 계속 강조합니다. 
그렇게 하는 학생이랑 안 하는 학생이랑 나중에 코딩을 하는 실력에서 차이가 많이 나더라고요.

그리고 제 블로그가 정답이 아닙니다. 여러 좋은 자료들과 영상들을 함께 참고하시면서 공부해주세요.
그럼 다음장에서 뵙겠습니다. 질문 있으시거나 궁금하신 사항 있으시면 얼마든지 댓글 남겨주세요.


▣ 포기하지 마세요!!! 저도 했습니다!!! 그럼 다음장에서 뵙겠습니다!!!

728x90
반응형

댓글