본문 바로가기
컴퓨터 활용/노년에 즐기는 코딩

[스크래치] 조난당한 동료를 구출하라

by easyfly 2023. 2. 15.
반응형

조난당한 우주비행사

조난당한 동료 우주비행사를 구하는 게임입니다. 우주선이 동료를 구출하면 구출 인원이 늘어납니다. 모두 7인을 구출하면 미션은 성공합니다. 외계인들이 곳곳에서 출몰합니다. 우주선은 총알을 발사하여 외계인을 제거할 수 있습니다. 우주선은 화살표 버튼으로 상하좌우 이동이 가능합니다.

컴퓨터로 게임을 한다면 총알 발사는 스페이스바, 우주선 이동은 화살표키입니다.

우주 배경의 움직임

우주 배경은 열심히 쉬지 않고 움직입니다. 왼쪽에서 오른쪽으로 흘러가게 하는 것은 배경 무대로는 안됩니다. 스프라이트 2개가 이어지면서 움직임을 계속합니다.

우주 배경으로 사용된 이미지

배경으로 쓰인 우주는 픽사베이에서 받았습니다. 사이즈는 무대에 맞춰 가로 480픽셀, 세로 360픽셀로 조정했습니다. 똑같은 이미지를 space1, space2로 스프라이트를 만들어 연결되면서 움직이게 했습니다.

우주 스프라이트의 움직임을 위한 블록 코딩

여기서 중요한 축은 x축입니다. y축 변화 없이 x축만 계속 바뀝니다. 10초에 480픽셀을. 초당 48픽셀의 움직임이 계속되는 거죠. 첫째 우주 스프라이트가 왼편으로 밀려가면 두 번째 우주 스프라이트가 빈 공간을 채우면서 밀어붙이기 때문에 계속 이어집니다.

시작(Start) 버튼

프로그램은 깃발 선택으로 시작되지만 본 게임은 '스타트 버튼'으로 시작됩니다.

스타트 버튼 코딩

스타트 버튼을 선택하면서 숨겨지지만, 미션을 완료했다든가 게임이 종료되면 나타납니다. 물론 깃발 클릭과 함께 등장하구요.

우주선

우주선은 왼편 경계선에서 나타납니다. 이동은 키보드 이동 버튼으로 움직일 수 있습니다. 스마트폰의 경우는 화면의 이동 버튼을 이용합니다. 화면 이동 버튼은 메시지 전달을 받아 기능을 수행합니다.

우주선 코딩

우주비행사

우주비행사는 랜덤하게 움직입니다. 우주선을 만나면 구출되면서 구출 인원이 1인 추가됩니다. 우주선을 만나면 잠시 안 보이다가 다시 나타납니다. 난수 처리가 됐기에 일정한 시간은 아닙니다.

우주비행사 코딩

외계인

외계인은 복제본이 나타납니다. 아래 버튼이 위치한 곳을 피해 출현하게 했습니다. 외계인은 색 효과를 줘서 눈알 색깔이 바뀌면서 우주선을 공격합니다. 우주선은 총알을 발사하여 외계인을 제압할 수 있습니다. 동료를 구축하기 위해서는 어쩔 수 없습니다.

외계인 코딩

총알

빨간 총알은 우주선에서 발사됩니다. 우주선과 별개의 스프라이트지만 우주선을 따라가게 했습니다. 우주선이 있는 곳에 총알도 있습니다.

총알 코딩

총알이 발사될 때 발사되는 소리도 넣었습니다. 외계인을 맞추면 사라집니다. 총알 발사 키는 스페이스바입니다. 스마트폰에서는 '사격' 버튼이 대신합니다.

타이틀틀

타이틀이 세 개 있습니다. '구출하기', '미션 성공', '게임 종료' 등. 타이틀 스프라이트 모양 편집에서 타이핑하여 만듭니다. 있어 보이려고 영어도 썼습니다. 한글이 폰트가 다양하지 못해서요.

타이틀 코딩

연료

연료는 8단계를 부여했습니다. 5초마다 1단계씩 소모되기에 게임 지속 시간은 40초를 넘을 수는 없습니다. 연료 스프라이트도 모양 편집창에서 직접 제작했습니다. 4 각형과 빨간 직선으로. 벡터 이미지로 쉽게 만들 수 있습니다.

연료 코딩

연료가 소진되면 '게임오버' 신호를 보내 게임은 종료됩니다.

우주선 이동 버튼 4개

우주선 이동은 키보드 화살표 키로 코딩했습니다. 컴퓨터가 아닌 스마트폰에서 우주선을 작동하는데 필요한 버튼을 4개 제작했습니다. 각 버튼마다 메시지를 만들어 우주선으로 날립니다. 메시지를 받은 우주선은 메시지 내용대로 이동하는 겁니다. 'right' 메시지를 받으면 우측으로 10픽셀만큼. 그렇게 다른 버튼들도 기능합니다.

우주선 이동 버튼 4개

사격 버튼

총알을 발사하는 사격 버튼도 스마트폰 이용자를 위해 스프라이트를 등록했습니다. 스크래치 기본 스트라이트 중에서 골랐는데 글자는 모양 편집창에서 추가했습니다.

사격 버튼 코딩

스크래치 맛보기

스크래치 프로젝트에 사용법을 다음과 같이 올렸습니다.

깃발을 선택하면 게임을 준비합니다. 스타트 버튼을 누르면 게임은 시작됩니다. 우주선은 외계인과 부딪히면 에너지는 줄어듭니다. 물론 연료도 5초마다 한 칸씩 줄어듭니다. 연료가 떨어져도 게임은 끝나고 에너지가 고갈되어도 게임은 끝납니다. 동료 우주인 7명을 구해내면 미션에 성공합니다.


그럼 이만.

반응형

댓글