[CS50] 1주차 개인 미션

Lofo·2021년 1월 21일
0

CS50

목록 보기
1/1

CS50

부스트코스에서 진행하는 서포터즈 외에 코칭스터디에도 참여하게 되었습니다. 매주 강의를 듣고 퀴즈 풀기 및 미션을 수행하며 스터디를 진행하는 방식입니다. 혼자 공부하는 것에 익숙해져서 아직 잘 맞을지 모르겠지만, 조금 하고마는 공부가 아니라 끝을 보는 공부를 하게 될 것을 기대하며 열심히 참여하고 있습니다.

1주차 개인 미션

앞서 얘기한 것처럼 1주차부터 미션이 나왔습니다. 라면 끊이는 것을 의사코드로 나타내는 것과 스크래치로 프로그램을 작성하는 것이 나왔습니다. 저는 스크래치로 오랜만에 작품을 만들고 싶어져서 스프래치 미션을 선택했습니다.

스크래치 미션

스크래치는 MIT에서 개발한 교육용 프로그래밍 언어입니다. 스크래치 사이트에 접속해서 그래픽 요소를 이용해서 프로그래밍을 할 수 있습니다. 스크래치 미션 내용은 그저 스크래치를 이용해서 입출력 방식에 제약없이 어떠한 프로그램이든 만드는 것이었습니다.

배달하는 게임(?)

스크래치로 어떤 것을 만들까 고민하다가 지금 알바하고 있는 우아한 형제들에서 받은 독고배달이가 보였다. 그리고 독고배달이가 배달하는 것을 주제로 게임을 만들기로 했다.

(위의 사진은 책상위에 있는 독고배달이입니다... ㅎㅎ)

시나리오

어떤 요소가 방해하는 것이 좋을까 생각하다가 폭주족, 도둑, 닌자가 떠올랐고, 닌자가 습격하는 것으로 했습니다. 다른 것들은 이미지를 찾아보니까 영.. 느낌이 없더라고요.. 그리고 독고배달이가 배달을 가다가 불쑥 나오는 닌자를 만나면 게임에서 지는 것으로 만들기로 했습니다.

독고배달이 움직이기

스크래치로 게임을 만드려고 하는데, 처음부터 난관에 부딫혔습니다. 독고배달이 움직이는 것부터 이상하게 만든 것입니다.

그림과 같이 코드를 짜니까 어떤 키를 눌러도 오른쪽으로만 가게 되었습니다. 이를 해결한 코드는 다음과 같습니다. 추가로 벽 밖으로 가지 못하도록 하는 코드도 추가했습니다.

이렇게 완성하니 독고배달이 움직이는 기능은 구현되었습니다.

닌자 자동생성하기

닌자들이 벽에서 나오도록 하고 제가 미리 짠 코스로만 닌자들이 다니면 재미가 없을 것 같아서 랜덤으로 닌자가 생성되도록 했습니다. 그런데 복제하는 코드를 넣었는데도, 복제가 안되는 문제가 생겼습니다.

알고보니까 복제되고 따로 위치 설정을 하지 않으니까 겹쳐서 복제되지 않은 것처럼 보였습니다.

이 문제를 해결하고 닌자 자동 생성에 대한 것들을 해결하기 위해 이것저것 해봤는데, 무언가 원하는 결과가 나오지 않았습니다. 자꾸 복제가 되었다가 안되었다가, 무한히 생성되어 프로그램이 멈췄다가...

과제를 시작한 오후 6시에 제출해야되기 때문에 결국 미리 위치를 만들어두고 그것을 피하는 식으로 시나리오를 변경했습니다.

그렇게 만들어진 결과


독고배달이의 배달 돕기(누르면 사이트로 이동합니다.) 이렇게 마무리했습니다..

마무리

아쉽게 그냥 시나리오를 변경하는 식으로 넘어갔지만 시간 날 때 다시 로직을 구현해서 제가 원하는 방향의 게임을 완성해야겠습니다. 그래도 오랜만에 스크래치로 무언가 만드니 재미있었습니다. 학교에서 C언어로 되게 단순한 프로그램만 만들다가 이렇게 눈에 보이고, 움직이는 결과를 만드니 즐거웠습니다.

profile
Love God, Love People, Love Code.

0개의 댓글