require 'ruby2d' # Замовлення бібліотеки ruby2d require 'rmagick' # Замовлення бібліотеки rmagick igame= 0 # стан гри idir = 0 # напрям руху xb = 0 # найбільше досягнуте значення абсциси jb = 0 # номер точки таєкторії з найбільшим # досягнутим значенням абсциси jt = 0 # поточний номер точки таєкторії при поверненні # у точку "відриву" за найменшу кількість кроків tr=[] # траєкторія центрів круга incjt=true # зростання поточного номера точки таєкторії # при поверненні у "точку відриву від перешкоди" # за найменшу кількість кроків can=[true,true,true,true] # can[j] - чи можна рухатися у напрямку j field = Magick::ImageList.new("field.png") r=8 # Радіус рухомого круга s=2 # Крок переміщення круга по горизонталі чи вертикалі xmax=800 # Розміри поля по горизонталі ymax=450 # Розміри поля по вертикалі set title: "obstacles", background: '#008000', width: xmax, height: ymax x=r # абсциса центра круга y=ymax/2 # ордината центра круга f = Image.new("field.png", x:0, y:0, width: xmax, height: ymax) b = Image.new("ball.png", x: x-r, y: y-r, z:1, width: 2*r, height: 2*r) t = 0 # лічильник оновлень update do if (x+r+s