Уничтожение томатов

We use cookies. Read the Privacy and Cookie Policy

Уничтожение томатов

К сожалению, в данный момент при столкновении сыра с помидорами ничего не происходит. Ситуацию надо исправить при помощи кода, добавленного в метод updatePosition, который приведен в листинге 11.30.

Листинг 11.30

// Уничтожаем помидоры при столкновении с сыром

for (int i = 0; i < tomatoes.Length; i++) {

 if (!tomatoes[i].visible) {

  continue;

 }

 if (cheeseRectangle.IntersectsWith(tomatoes[i].rectangle)) {

  // прячем томат

  tomatoes[i].visible = false;

  // отражаемся вниз

  goingDown = true;

  // только удаляем помидор

  break;

 }

}

Код выполняется, когда сыр двигается вверх. При этом проверяются позиции каждого помидора и куска сыра при помощи метода IntersectsWith. Если произошло столкновение сыра с томатом, то томат делается невидимым, для чего свойству Visiblе присваивается значение False. При следующей перерисовке экрана этот томат не появится на экране. Сыр должен отскакивать от помидора, как от стенок или от батона.