소프트웨어코딩
소프트웨어코딩 06 복제 게임
오미자컴
2022. 3. 31. 11:20
복제란 뭔가요?
Cloning. 스프라이트를 복사하는 것. 복제된 스프라이트를 가리키기도 하며 클론이라고도 합니다.
복제된 클론은 원래 스프라이트와 스크립트를 공유하지만, 개별적으로 동작합니다.
복제 기능을 이용하려면,
‘제어’ 카테고리에서 ‘나 자신 복제하기’ 블록을 사용합니다
‘복제되었을 때’ 이벤트 블록은 복제 되었을 때 그 다음에 이어지는 스크립트를 실행합니다.
‘이 복제본 삭제하기’ 블록은 실행한 클론을 삭제.
‘멈추기 모두’ 블록을 사용하면, 모든 복제가 삭제.
여러 색깔의 풍선이 나타났다 사라지게 하려면 어떻게 해야 하나요?
고양이 스프라이트 삭제하고, ‘Balloon1’ 스프라이트를 추가합니다
풍선 스프라이트(본체)에서 복제를 만드는 스크립트와 복제의 동작을 지정하는 스크립트를 작성합니다
본체 스크립트를 숨기고 복제만 표시합니다
복제된 클론을 객체(인스턴스)로 볼 수 있고, 본체는 클래스로 볼 수 있습니다
[정지] 단추를 클릭하면 모든 복제가 삭제됩니다
복제는 300개까지 만들 수 있습니다
풍선 복제 코딩
난수란 뭔가요?
Random number. 정해진 범위 안에서 무작위로 추출된 수.
연산 블록에 ‘1부터 10 사이의 난수’ 블록.
번호 추첨, 무작위로 등장하는 스프라이트 구현 등에 사용합니다
난수 이용한 풍선 복제 코딩 1
난수 이용한 풍선 복제 코딩 2
재귀 호출이란 무엇인가요?
프로시저(함수)가 자기 자신을 호출하는 것
조건을 만족하면 재귀 호출을 중단해야 합니다
스크래치에선 변수를 사용하여 재귀호출을 대신합니다
일례로 최종 결과값 변수를 만들고 함수를 호출할 때마다 결과값을 변경하다가 더 이상 재귀호출이 발생하지 않을 때 최종적인 결과값을 갖도록 합니다
임의의 양의 정수까지 어떻게 더하나요?
변수 ‘결과값’을 0으로 정하고
‘다더하기’ 함수(나만의 블록)을 만들고 입력값으로 ‘매개변수’를 넣습니다
사용자로부터 얼마까지 더하고 싶은지 입력을 받습니다
먼저 결과값을 ‘대답’만큼 바꿉니다. 예를 들어 대답이 3이었으면, 결과값은 3이 됩니다.
‘매개변수’에서 1을 뺀 값, 그러니까 2만큼 결과값을 바꿉니다. 결과값은 재귀호출이 되어 3에다가 다시 2만큼 더하여 5가 됩니다.
‘매개변수’가 1이면 결과값에 1만큼을 더 더합니다.
대답한 3 + 2 + 1을 한 셈입니다
임의의 양의 정수까지 더하기 코딩
동그라미를 따라다니는 네모를 재미 있게 게임으로 만들려면 어떻게 해야 하나요?
빨간 동그라미와 파란 네모를 그립니다
동그라미는 벽에 닿지 않게 반복적으로 난수 위치로 이동합니다. 네모가 닿으면 다시 난수 위치로 이동합니다.
네모는 4만큼 계속 움직이도록 합니다(숫자가 클 수록 난이도가 높습니다). 방향키로 조정할 수 있게 합니다. 동그라미에 닿으면 점수를 얻고, 벽에 닿으면 점수를 잃습니다.
네모는 동그라미에 닿으면 에너지를 얻어 네모가 길어집니다. 벽에 닿으면 에너지가 없어져 짧아집니다.
100초 동안 게임을 합니다.
동그라미 코딩
네모 코딩 1
네모 코딩 2
배경 코딩
파이썬(Python) 코딩이란 뭔가요?
설치 : www.python.org
Welcome to Python.org
The official home of the Python Programming Language
www.python.org