Skip to content

Latest commit

 

History

History

day13

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Day 13: 돌봄 패키지 (Care Package)

https://adventofcode.com/2019/day/13

Part 1

당신이 지구와의 메시지 왕복시간이 3시간을 넘어 계속 증가하면서 우주에서의 고독을 느끼고 있을 때, 새로운 메일이 도착하였습니다. 메일을 확인해보니 당신의 정신 건강을 유지하기 위해, 엘프들이 당신에게 치료 패키지를 보낸 것이었습니다.

이 패키지는 배의 오락실에 있는 오락기를 위한 새로운 게임입니다. 하지만 불행하게도 오락실은 배의 반대편에 있습니다. 다행히도, 패키지에는 포함된 오락기에 대한 설계도를 보니, 오락기를 직접 만드는 것이 어려울 것 같지 않습니다.

오락기는 엘프가 보낸 게임(퍼즐 입력)과 같은 정수컴퓨터 소프트웨어를 실행합니다. 오락기는 격자 위에 정사각형 타일을 그릴 수 있는 화면을 가지고 있습니다. 소프트웨어는 출력 명령어가 들어오면 화면에 타일을 그립니다. 모든 출력 명령어에는 x 좌표(왼쪽에서 거리), y 좌표(위에서부터 거리), 타일 ID가 지정됩니다. 타일 ID는 다음과 같이 해석됩니다.

  • 0 타일입니다. 이 타일에는 어떠한 게임 오브젝트도 없습니다.
  • 1 타일입니다. 벽은 파괴할 수 없는 장벽입니다.
  • 2블록 타일입니다. 블록은 공에 의해 깨질 수 있다.
  • 3수평 패들 타일입니다. 패들은 파괴할 수 없습니다.
  • 4 타일입니다. 공은 대각선으로 움직이며 물체에 튕겨 나옵니다.

예를 들어, 1,2,3,6,5,4와 같은 일련의 출력 값은 수평 패들 타일(왼쪽에서 1타일, 위쪽에서 2타일인 좌표)과 타일(왼쪽에서 6타일, 위에서 5타일인 좌표)을 그립니다.

게임을 시작하세요. 게임 종료 시 화면에 블록 타일이 몇 개 있습니까?

Part 2

동전을 넣지 않아서 게임이 시작되지 않습니다. 불행하게도, 당신은 동전을 단 하나도 가지고 있지 않습니다. 메모리 주소 0은 삽입된 동전의 수를 나타냅니다. 이 값을 2로 설정하여 공짜로 게임을 해봅시다.

오락기에는 좌우로 움직일 수 있는 조이스틱이 있습니다. 우리의 소프트웨어는 입력 명령어를 사용하여 조이스틱의 현재 위치를 읽습니다.

  • 조이스틱이 중립 위치에 있으면 0을 제공합니다.
  • 조이스틱이 왼쪽으로 기울어져 있으면 -1을 제공합니다.
  • 조이스틱이 오른쪽으로 기울어져 있으면 1을 제공합니다.

또한 오락기에는 플레이어의 현재 점수를 표시할 수 있는 조그만한 점수판이 있습니다. 세 개로 이루어진 출력 값에서 좌표가 X=-1, Y=0로 출력되면, 세 번째 출력 값은 타일 종류를 나타내는 것이 아닙니다. 이 값은 점수판에 출력할 새로운 점수를 나타냅니다. 예를 들어 -1,0,12345와 같은 일련의 출력 값은 12345를 플레이어의 현재 점수로 표시합니다.

모든 블록을 깨서 게임을 이겨보세요. 마지막 블록이 깨진 후 점수가 어떻게 되나요??