스크래치 COS -조건반복-공잡기
반복문에는 무한반복, 횟수반복, 조건반복이 있는데, 오늘은 무한반복문을 활용한예제를 실습할 것이다.
공 스프라이트는 무작위로 움직인다. 사용자는 마우스로 공을 잡으면 점수가 추가된다.
아래 글은 스크래치 제어블럭에 대한 기본을 설명한 글이다. 제어블럭에는 반복과 조건블럭에 대한 설명이 기술되어 있다.
자세히 알고 싶으면 아래 글을 한번 읽어보는 것을 추천한다.
8. 스크래치코딩-제어블록
8. 스크래치코딩-제어블록 교육목표 . 반복되는 코드를 줄이면 좋은 점을 말할 수 있다. . 제어 블록을 알고 활용할 수 있다. . 복제하기 블록을 활용하여 복제본을 만드는 코딩을 할 수 있다. 반
flycoding.tistory.com
분석 및 설계
. 초기화
- 점수 변수 0으로 정하기
. 무작위로이동하기 함수 만들기
- 거리만큼 움직이기
- 벽에 닿으면 튕겨낸다.
. 마우스포인터에 닿을 때까지
- 무작위로이동하기(20)
. 마우스가 공에 닿으면
- 움직임 반복을 멈추고
- 점수에 1을 증가시키고
- 공을 숨긴다.
- 0.5초 정도 기다린다.
- 무작위 위치로 이동한다.
- 보이기 한다.
블럭코딩
초기화 . 변수 '점수' 만들고 0으로 정하기 . 공 보이기 . 무작위위치로 이동하기 |
* 무작위로 이동하기 - 거리만큼 움직이기 - 벽에닿으면튕기기 |
무한반복 - 보이기 - 무작위로 이동하기 . 마우스에닿을때까지 - 무작위움직이기(20) 함수 호출 점수를 1만큼 바꾸기 숨기기 0.5초 기다리기 |
조건반복으로 '마우스에닿을때까지' 반복문을 활용하여 공을 움직이는데, 마우스가 닿지 않으면 공은 지속적으로 계속 움직인다. 그러다가 마우스로 공에 닿으면 반복문을 빠져나오게 된다.
반복문이 빠져나오게 되면, 점수를 추가하고 공을 0.5초동안 숨겼다가 다시 나오게 한다.
* 실행 결과물이다.
조건반복으로 '마우스에닿을때까지' 반복문을 활용하여 공을 움직이는데, 마우스가 닿지 않으면 공은 지속적으로 계속 움직인다. 그러다가 마우스로 공에 닿으면 반복문을 빠져나오게 된다.
반복문이 빠져나오게 되면, 점수를 추가하고 공을 0.5초동안 숨겼다가 다시 나오게 한다.
본 예제에서 무작위움직이기 내블럭을 만들어보았다. 나만의 블럭을 의식적으로 만들어서 활용해보자.
코딩하는데 많은 도움을 줄 것이다.
내블럭, 함수를 만드는 목적은 프로그램 코드 최적화이고 모듈화로 프로그램을 이해하기 쉽게 하기 위함도 있다.
다시 한번 강조해서 말하지만, 변수의 값이 각 프로그램 단계별 순차적으로 어떻게 변화하는지 추척하는 것이 매우 중요하다. 블럭을 하나씩 쌓으면서 변수 볼륨 값의 변화를 살펴보자. 코딩은 눈으로 보면서 이해하고 학습하지만 직접 블럭을 쌓으며 이해하고 학습하는 것이 더 효과적이며 창의와 이해의 개념이 ~쑥 늘어납니다.
앞으로의 여러분의 모습을 기대합니다.
Just Do it!!!
Just Drag&Drop!!!
댓글