if (goingDown)
{
cy += ySpeed;
}
else
{
cy -= ySpeed;
}
//That the cheese did not come for the button3.Location.Y:
if ((cy + cheeseImage.Height) >= button3.Location.Y)
{
goingDown = false;
//At the time of collision, the Beep signal is given:
Microsoft.VisualBasic.Interaction.Beep();
}
if (cy <= 0)
{
goingDown = true;
//At the time of collision, the Beep signal is given:
Microsoft.VisualBasic.Interaction.Beep();
}
//We set to rectangles of coordinate of objects:
cheeseRectangle.X = cx;
cheeseRectangle.Y = cy;
breadRectangle.X = bx;
breadRectangle.Y = by;
//We check the collision of objects
//taking into account the tomatoes:
if (goingDown)
{
// only bounce if the cheese is going down
if (cheeseRectangle.IntersectsWith(breadRectangle))
{
//At the time of collision,
//the Beep signal is given:
Microsoft.VisualBasic.Interaction.Beep();
// we have a collision
bool rightIn = breadRectangle.Contains(
cheeseRectangle.Right,
cheeseRectangle.Bottom);
bool leftIn = breadRectangle.Contains(
cheeseRectangle.Left,
cheeseRectangle.Bottom);
// now deal with the bounce
if (rightIn & leftIn)
{
// bounce up
goingDown = false;
}
else
{
// bounce up
goingDown = false;
// now sort out horizontal bounce
if (rightIn)
{
goingRight = false;
}
if (leftIn)
{
goingRight = true;
}
}
}
}
else
{
// only destroy tomatoes of the cheese is going up
for (int i = 0; i < tomatoes.Length; i++)
{
if (!tomatoes[i].visible)
{
continue;
}
if (cheeseRectangle.IntersectsWith(
tomatoes[i].rectangle))
{
//At the time of collision,
//the Beep signal is given:
Microsoft.VisualBasic.Interaction.Beep();
// hide the tomato
tomatoes[i].visible = false;
// bounce down
goingDown = true;
// only destroy one at a time
break;
}
}
}
} //End of the method updatePositions.
В режиме выполнения (Build, Build Selection; Debug, Start Without Debugging) несколько i-х помидоров появляются в верхней части экрана в качестве мишеней (рис. 5.7), которые исчезают после попадания в них летающего сыра (рис. 5.8).
Управляя при помощи кнопок Button и мыши перемещением батона хлеба, мы можем отражать сыр вверх таким образом, чтобы уничтожить как можно больше помидоров за меньшее время, набирая при этом очки.
К разработке методики подсчёта очков в игре мы и приступаем.
5.6. Методика подсчёта очков в игре
Игра отличается от любого другого приложения тем, что один или несколько игроков набирают в игре очки, и победителем считается игрок, набравший наибольшее количество очков. А после набора определённого СКАЧАТЬ