FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.
Email: Нажмите что бы посмотреть
Программа движения шарика по диагонали выглядит следующим образом:
Здесь dx, dy – приращения соответствующих координат.
Чтобы шарик не вылетал за верхний край экрана, необходимо, чтобы ордината объекта не превышала 350 pix (при стандартном размере экрана 640х350)
В связи с возникшей ситуацией в нашей задаче, когда необходимо выполнить определенные условия, напомним, что такое условный оператор.
Существует неполная форма оператора:
IF <условие> THEN оператор1
dx = +1
dy = +1
Вот так будет выглядеть программа с добавлением второго условного оператора, где предусмотрено условие столкновение шарика с верхней границей экрана:
dy = +1
x = 0
y = 0
В этом случае координата Y начнет увеличиваться, т.е. dy = +1, а координата X будет по-прежнему уменьшаться, т.е. dх = -1.
dx = +1
dy = +1
dx = +1
dy = +1
dx = -1
SCREEN 9
COLOR 1, 0
WINDOW (0, 0)-(640, 350)
x = 1
y = 1
dx = 1
dy = 1
FOR k = 0 TO 10000
CIRCLE (x, y), 3, 6
PAINT (x, y), 6
FOR i = 1 TO 10000: NEXT i
CIRCLE (x, y), 3, 0
PAINT (x, y), 0, 0
IF y = 350 THEN dy = -1
IF x = 640 THEN dx = -1
IF y = 0 THEN dy = +1
x = x + dx
y = y + dy
NEXT k
dx = +1
dy = +1
dy = -1
dy = +1
dx = +1
x = 0
y = 0
В этом случае после выполнения условия x = 0 координата Х должна увеличиваться, т.е. dх = +1, а координата Y, которая до сих пор увеличивалась, по-прежнему будет увеличиваться, т.е. dy = +1..
dx = -1
dx = +1
dy = +1
Так будет выглядеть программа с добавлением четвертого условного оператора, где предусмотрено столкновение шарика с левой границей экрана:
dx = -1
dx = +1
dy = +1
SCREEN 9
COLOR 1, 0
WINDOW (0, 0)-(640, 350)
x = 1
y = 1
dx = 1
dy = 1
FOR k = 0 TO 10000 STEP 1
CIRCLE (x, y), 3, 6
PAINT (x, y), 6
FOR i = 1 TO 4000: NEXT i
CIRCLE (x, y), 3, 0
PAINT (x, y), 0, 0
IF y = 350 or y=0 THEN dy = - dy
IF x = 640 or x=0 THEN dx = - dx
x = x + dx
y = y + dy
NEXT k
…и т.д.