센서 부스트
코드 출현 2019 9일차
퍼즐 입력으로 시뮬레이터를 사용해 보세요!
과제: X에 대해 풀기 여기서...
1 부
X = the BOOST keycode
2 부
X = the coordinates of the distress signal
몇 가지 예제 입력
109,1,204,-1,1001,100,1,100,1008,100,16,101,1006,101,0,99
1102,34915192,34915192,7,4,7,99,0
104,1125899906842624,99
각각은 다음을 나타냅니다.
1 부
test mode
를 사용하여 내 컴퓨터인코드 컴퓨터: 4라운드!
이 시리즈의 이전 기사(2일, 5일, 7일차)에서는 해당 지점까지 배운 규칙을 요약합니다.
지금까지 내 Intcode 컴퓨터는 다음 규칙을 이해합니다.
1,2,3,4,5,6,7,8,99
0,1
이 퍼즐은 다음을 소개합니다.
relative base
, 0
에서 시작9
- 이것은 relative base
를 수정합니다.2
- relative base
와 관련하여 메모리에서 적절한 값을 찾습니다.테스트 모드를 사용하여 내 컴퓨터 문제 해결
지침에 명시된 바와 같이:
The BOOST program will ask for a single input; run it in test mode by providing it the value 1. It will perform a series of checks on each opcode, output any opcodes (and the associated parameter modes) that seem to be functioning incorrectly, and finally output a BOOST keycode.
Once your Intcode computer is fully functional, the BOOST program should report no malfunctioning opcodes when run in test mode; it should only output a single value, the BOOST keycode.
새 규칙을 수용하기 위해 코드를 추가한 후 프로그램을 입력
1
으로 실행했습니다.이 출력을 보았습니다.
[203, 0]
이것이 내 Intcode 컴퓨터의 논리에 버그가 있음을 의미한다는 것을 알았습니다.
추가 도움으로 프로그램이 중단되는 지점까지 프로그램 중에 발생한 각 opcode-매개변수 조합을 로그아웃했습니다.
해당 출력 근처에서 본 내용은 다음과 같습니다.
209
209
203
첫 번째
209
이전에는 매개변수 위치에 2
가 포함된 정수가 기록되지 않았습니다.이것은 나에게 무엇을 말하려고 했습니까?
relative mode
및 9
에 대한 명령 함수에서 3
를 올바르게 처리하지 않았을 수 있습니다.해당 함수의 코드를 검사할 때 Day 5의 규칙에서 간과한 사항을 발견했습니다.
Parameters that an instruction writes to will never be in immediate mode.
나는 값을 쓰는 함수에서
position mode
일명 0
하드 코딩하여 이것을 과도하게 설명했습니다.수정 사항으로 항상 적시에 사용되는 매개 변수 모드를 참조하도록 모든 인스턴스를 조정했습니다.
프로그램을 다시 실행했습니다.
내 출력에는 하나의 값만 포함되었습니다.
정답이었습니다!
2 부
가장 쉬운 파트 2:
Run the program with input 2
Wait a little while
Return the single output value, a coordinate
역시나 정답이었습니다!
해냈어!!
파트 2 지침의 시작 부분에서 다음과 같이 축하합니다.
I now have a complete Intcode computer.
또한:
Reference
이 문제에 관하여(센서 부스트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rmion/sensor-boost-33mp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)