Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.96 KB | None | 0 0
  1. def read_full_code
  2.   @full_code = File.read('day2.txt').split(",")
  3.   @full_code.each_with_index do |v, i|
  4.     @full_code[i] = v.to_i
  5.   end
  6. end
  7.  
  8. def handle_opcode(opcode)
  9.   case (opcode[0])
  10.     when 1
  11.       @full_code[opcode[3]] = @full_code[opcode[1]] + @full_code[opcode[2]]
  12.       return false
  13.     when 2
  14.       @full_code[opcode[3]] = @full_code[opcode[1]] * @full_code[opcode[2]]
  15.       return false
  16.     when 99
  17.       return true
  18.   end  
  19. end
  20.  
  21. def get_opcode(offset)
  22.   pos1 = 0 + offset
  23.   pos2 = 1 + offset
  24.   pos3 = 2 + offset
  25.   pos4 = 3 + offset
  26.   return [@full_code[pos1], @full_code[pos2], @full_code[pos3], @full_code[pos4]]
  27. end
  28.  
  29. def handle_full_code
  30.   offset = 0
  31.   code = get_opcode(offset)
  32.   #pp code
  33.   while (!handle_opcode(code))
  34.     offset += 4
  35.     code = get_opcode(offset)
  36.     #pp code
  37.   end
  38.   @full_code
  39. end
  40.  
  41. def part_1
  42.   read_full_code
  43.   @full_code[1] = 12 #noun
  44.   @full_code[2] = 2 # verb
  45.   pp handle_full_code[0]
  46. end
  47.  
  48. part_1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement