Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def read_full_code
- @full_code = File.read('day2.txt').split(",")
- @full_code.each_with_index do |v, i|
- @full_code[i] = v.to_i
- end
- end
- def handle_opcode(opcode)
- case (opcode[0])
- when 1
- @full_code[opcode[3]] = @full_code[opcode[1]] + @full_code[opcode[2]]
- return false
- when 2
- @full_code[opcode[3]] = @full_code[opcode[1]] * @full_code[opcode[2]]
- return false
- when 99
- return true
- end
- end
- def get_opcode(offset)
- pos1 = 0 + offset
- pos2 = 1 + offset
- pos3 = 2 + offset
- pos4 = 3 + offset
- return [@full_code[pos1], @full_code[pos2], @full_code[pos3], @full_code[pos4]]
- end
- def handle_full_code
- offset = 0
- code = get_opcode(offset)
- #pp code
- while (!handle_opcode(code))
- offset += 4
- code = get_opcode(offset)
- #pp code
- end
- @full_code
- end
- def part_1
- read_full_code
- @full_code[1] = 12 #noun
- @full_code[2] = 2 # verb
- pp handle_full_code[0]
- end
- part_1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement