ПИНГ-ПОНГ НА ПАСКАЛЕ

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

icq-client
Сообщения: 5
Зарегистрирован: 25 мар 2008, 19:07

Помогите пожалуйста!
Мне нужно написать пинг-понг на паскале . Возникла проблема с созданием шарика !
Сделать его движение я могу но вото как сделать его отталкивание от ракеток вот вопрос!
если можете помочь то лучше писать сюда: 403058897
или сюда: tema_04_11@land.ru
помагите пожалуйста!!
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Ну, я думаю, примерно так:
У шарика есть радиус R, координаты центра X, Y, скорость vx, vy. Допустим, ось Y указывает от одной до другой ракетки. Координата ракетки - Xr, ее ширина - Wr. Полет просчитывается примерно так:

Код: Выделить всё

x:=x+vx;
y:=y+vy;
if y>Yракетки then
  if (x>=Xr) and (x<=Xr+Wr) then //шарик отскакивает от ракетки
    vy:=-vy
  else 
    // засчитать гол
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

В общем случае нужно считать угол между вектором скорости и вектором, перпендикулярным плоскости ракетки. За основу полагать закон отражения, который гласит что угол падения равен углу отражения.
It's a long way to the top if you wanna rock'n'roll
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

А можно взять за основу принцип арканоида, где угол отскока =acos((Xш-Xцр)*2/Wr), где Хш - координата Х шара, Хцр - координата центра ракетки, Wr - ширина ракетки. Тогда если отбить шар центром ракетки, он пойдет строго перпендикулярно ей, а если краем, то с большим отклонением.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

somewhere писал(а):В общем случае нужно считать угол между вектором скорости и вектором, перпендикулярным плоскости ракетки. За основу полагать закон отражения, который гласит что угол падения равен углу отражения.
Это, наверное, "очень круто" (и вообще не стоит усложнять :) ), но если еще и учитывать скорость движения ракетки в момент удара? На практике за счет сцепления шарика с поверхностью ракетки движение ракетки будет придавать некоторый импульс шарику.
icq-client
Сообщения: 5
Зарегистрирован: 25 мар 2008, 19:07

спасибо канешна! но физика шарика в момент удара ракеткой мне понятна! но мне бы пример процедурки и краткое пояснение к ней! я аську оставил стукните может побазарим))) если не трудно канечно)))
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Это, наверное, "очень круто" (и вообще не стоит усложнять ), но если еще и учитывать скорость движения ракетки в момент удара? На практике за счет сцепления шарика с поверхностью ракетки движение ракетки будет придавать некоторый импульс шарику.
Вообще тема, люблю реалистичность. Если б разрабатывал пинг-понг учел бы все тонкости. :-)
спасибо канешна! но физика шарика в момент удара ракеткой мне понятна! но мне бы пример процедурки и краткое пояснение к ней! я аську оставил стукните может побазарим))) если не трудно канечно)))
Неизвестна програмная модель. Как именно реализованы ракетка и шарик в вашей проге?
It's a long way to the top if you wanna rock'n'roll
icq-client
Сообщения: 5
Зарегистрирован: 25 мар 2008, 19:07

э ну вощем куда кинуть можно тама прога без шарика! нужно шарик сделать! так куда кинуть????
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Сюда выложить
It's a long way to the top if you wanna rock'n'roll
icq-client
Сообщения: 5
Зарегистрирован: 25 мар 2008, 19:07

вотьтдолдрлджьлджьжь
Вложения

[Расширение txt было запрещено, вложение больше недоступно.]

Ответить