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