Урок 26 - Создаем игру Ping-pong - часть(1/3)

  Начинаем писать простенькую игру Пинг-Понг.

   Думаю, смысл игры Пинг-Понг давно всем известен :). Создание этой игры я разделю на 3 части: простое перемещение и рикошеты от граней формы, возможность отбивать шарик мышкой, искусственный интеллект (Противник).

   Итак все что нам понадобится - это компонент Shape на вкладке Additional. Вытаскиваем его на форму и меняем свойство Shape на stCircle, у нас вместо квадрата получился кружок.

шарик


  Для работы нам понадобятся 2 свойства: Left и Top, первое - это позиция по горизонтали в дальнейшем X, второе - по вертикали (Y).

   Приступим создадим 4 глобальных переменных типа Single: PosX, PosY, VelX, VelY. первые 2 переменных - это позиция по X и Y, остальное - скорость по X и Y.

   Создадим обработчик события Form1 OnCreate:
procedure TForm1.FormCreate(Sender: TObject);
begin
  PosX:= 30;  // Задаем           позицию
  PosY:= 50;  //        начальную 
  VelX:= 1;   // Задаем           скорость
  VelY:= 2;   //        начальную 
end;


   Если мы сейчас скомпилируем то ничего не будет, просто зададутся значения, нам нужно обновлять позицию шара через равные промежутки времени, с этой работой хорошо справится таймер. Вытащим его на форму, сразу установим интервал на 1 мс и в обработчике события напишем код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  PosX:= PosX + VelX;	// Изменяем 
  PosY:= PosY + VelY;	//  позицию

  Shape1.Left:= Round(PosX);  // Обновляем
  Shape1.Top:=  Round(PosY);  // положение шарика             
end; 


   Теперь наш шарик двигается, но он выходит за границы формы, модифицируем код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  PosX:= PosX + VelX;	// Изменяем 
  PosY:= PosY + VelY;	//  позицию

  if PosX > ClientWidth - Shape1.Width then  //если шарик коснется правого края то направим его в обратную сторону
    VelX:= -VelX;

  if PosY > ClientHeight - Shape1.Height then //если шарик коснется нижнего края то направим его в обратную сторону
    VelY:= -VelY;

  if PosX < 0 then		//если шарик левого правого края то направим его в обратную сторону
    VelX:= -VelX;

  if PosY < 0 then		//если шарик верхнего правого края то направим его в обратную сторону
    VelY:= -VelY;


  Shape1.Left:= Round(PosX);  // Обновляем
  Shape1.Top:=  Round(PosY);  // положение шарика 
end;


   Ну вот все прекрасно работает!

Удачи!
Встретимся в следующем уроке!




Добавил(а): Best-haker Дата: 2014-09-17
спасибо сайт еще жив?



Добавил(а): Exotic Дата: 2014-10-15
Что понимается под живностью?



Добавил(а): hess2222 Дата: 2015-05-14
Да жив наверно)))



Добавил(а): opchik Дата: 2018-08-29
пмогите


  1. JvtOY
    JvtOY 2 months ago
    Medicine information. Generic Name. <a href="https://prednisone4u.top">order generic prednisone without prescription</a> in Canada. All what you want to know about meds. Get now.
    [url=http://0jr.100.mwp.accessdomain.com/2018/07/annas-top-5-summer-drink-picks-gf/#comment-23389]All about medicines.[/url] [url=https://shopnorang.com/?product=antique-crescent-silk-hijab-brick-copy]All news about drug.[/url] [url=https://dienmaysonganh.com/san-pham/may-cua-xich-stihl-ms250.html]Some news about meds.[/url] 7030550
  2. eoritsi
    eoritsi 2 months ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    eoritsi http://www.g9eq6195rubu61u6xl188w1pa2uf4u68s.org/
    <a href="http://www.g9eq6195rubu61u6xl188w1pa2uf4u68s.org/">aeoritsi</a>
    [url=http://www.g9eq6195rubu61u6xl188w1pa2uf4u68s.org/]ueoritsi[/url]
  3. ovpbpkchmr
    ovpbpkchmr 2 months ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    [url=http://www.g16zqr60qrqwij6026z85g0n0462fv8vs.org/]uovpbpkchmr[/url]
    <a href="http://www.g16zqr60qrqwij6026z85g0n0462fv8vs.org/">aovpbpkchmr</a>
    ovpbpkchmr http://www.g16zqr60qrqwij6026z85g0n0462fv8vs.org/
  4. xhdysdbiqq
    xhdysdbiqq 2 months ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    [url=http://www.gbiyjl04dp7u2400o0084x4f7yeqf840s.org/]uxhdysdbiqq[/url]
    xhdysdbiqq http://www.gbiyjl04dp7u2400o0084x4f7yeqf840s.org/
    <a href="http://www.gbiyjl04dp7u2400o0084x4f7yeqf840s.org/">axhdysdbiqq</a>
  5. ywwdijsjty
    ywwdijsjty 2 months ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    <a href="http://www.gwp3d27238j2ppt60l41b7e6op5sq8z5s.org/">aywwdijsjty</a>
    [url=http://www.gwp3d27238j2ppt60l41b7e6op5sq8z5s.org/]uywwdijsjty[/url]
    ywwdijsjty http://www.gwp3d27238j2ppt60l41b7e6op5sq8z5s.org/
  6. hywebewwbb
    hywebewwbb 2 months ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    <a href="http://www.g8afg84g296ymt4hz7y800ao58jx997us.org/">ahywebewwbb</a>
    [url=http://www.g8afg84g296ymt4hz7y800ao58jx997us.org/]uhywebewwbb[/url]
    hywebewwbb http://www.g8afg84g296ymt4hz7y800ao58jx997us.org/
  7. bbzmtjhpl
    bbzmtjhpl 2 months ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    <a href="http://www.gp7gpi3z485aw948kq5480vec69c2vd6s.org/">abbzmtjhpl</a>
    [url=http://www.gp7gpi3z485aw948kq5480vec69c2vd6s.org/]ubbzmtjhpl[/url]
    bbzmtjhpl http://www.gp7gpi3z485aw948kq5480vec69c2vd6s.org/
  8. twveccwnn
    twveccwnn a month ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    [url=http://www.g53uj7hj6nr5l6t5gou0o036wc38b248s.org/]utwveccwnn[/url]
    twveccwnn http://www.g53uj7hj6nr5l6t5gou0o036wc38b248s.org/
    <a href="http://www.g53uj7hj6nr5l6t5gou0o036wc38b248s.org/">atwveccwnn</a>
  9. jhpwswksn
    jhpwswksn a month ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    jhpwswksn http://www.g62j3gcicm28e164i9dh0719m5x4u0lps.org/
    <a href="http://www.g62j3gcicm28e164i9dh0719m5x4u0lps.org/">ajhpwswksn</a>
    [url=http://www.g62j3gcicm28e164i9dh0719m5x4u0lps.org/]ujhpwswksn[/url]
  10. swixziljz
    swixziljz a month ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    swixziljz http://www.ga74l1kq4i3534b23i4pv1r02g7vwb6os.org/
    [url=http://www.ga74l1kq4i3534b23i4pv1r02g7vwb6os.org/]uswixziljz[/url]
    <a href="http://www.ga74l1kq4i3534b23i4pv1r02g7vwb6os.org/">aswixziljz</a>
  11. nlefvlpydh
    nlefvlpydh a month ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    nlefvlpydh http://www.g485o96p4f9osw55z5oy1ja7x75m23oqs.org/
    <a href="http://www.g485o96p4f9osw55z5oy1ja7x75m23oqs.org/">anlefvlpydh</a>
    [url=http://www.g485o96p4f9osw55z5oy1ja7x75m23oqs.org/]unlefvlpydh[/url]
  12. vkrdsfcywq
    vkrdsfcywq a month ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    vkrdsfcywq http://www.g83n9qdr6u368y5r61m1gy2h7u24vc7zs.org/
    [url=http://www.g83n9qdr6u368y5r61m1gy2h7u24vc7zs.org/]uvkrdsfcywq[/url]
    <a href="http://www.g83n9qdr6u368y5r61m1gy2h7u24vc7zs.org/">avkrdsfcywq</a>
  13. vglbprdz
    vglbprdz a month ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    vglbprdz http://www.g8ejs5169xq2wgw9j7zd86w5v52f0s21s.org/
    [url=http://www.g8ejs5169xq2wgw9j7zd86w5v52f0s21s.org/]uvglbprdz[/url]
    <a href="http://www.g8ejs5169xq2wgw9j7zd86w5v52f0s21s.org/">avglbprdz</a>
  14. xdeykcfyx
    xdeykcfyx 27 days ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    xdeykcfyx http://www.gki6q6493sh7ll20w4rb4pl655tn99a8s.org/
    [url=http://www.gki6q6493sh7ll20w4rb4pl655tn99a8s.org/]uxdeykcfyx[/url]
    <a href="http://www.gki6q6493sh7ll20w4rb4pl655tn99a8s.org/">axdeykcfyx</a>
  15. hfdhlsfsbk
    hfdhlsfsbk 20 days ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    [url=http://www.gaw4ls204a92q9hhfl1w8o20m3n0g722s.org/]uhfdhlsfsbk[/url]
    <a href="http://www.gaw4ls204a92q9hhfl1w8o20m3n0g722s.org/">ahfdhlsfsbk</a>
    hfdhlsfsbk http://www.gaw4ls204a92q9hhfl1w8o20m3n0g722s.org/
  16. recocjkep
    recocjkep 19 days ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    [url=http://www.gv36n2u2k8c76pms6t5l0x055tw085whs.org/]urecocjkep[/url]
    recocjkep http://www.gv36n2u2k8c76pms6t5l0x055tw085whs.org/
    <a href="http://www.gv36n2u2k8c76pms6t5l0x055tw085whs.org/">arecocjkep</a>
  17. vhffsndk
    vhffsndk 18 days ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    <a href="http://www.gs60d269tl7syb1r36j002khx7hpk034s.org/">avhffsndk</a>
    [url=http://www.gs60d269tl7syb1r36j002khx7hpk034s.org/]uvhffsndk[/url]
    vhffsndk http://www.gs60d269tl7syb1r36j002khx7hpk034s.org/
  18. wwkgpemolx
    wwkgpemolx 17 days ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    [url=http://www.gu9w20afp8o8q02bw284k9vl12hj031ms.org/]uwwkgpemolx[/url]
    wwkgpemolx http://www.gu9w20afp8o8q02bw284k9vl12hj031ms.org/
    <a href="http://www.gu9w20afp8o8q02bw284k9vl12hj031ms.org/">awwkgpemolx</a>
  19. xooesygxez
    xooesygxez 15 days ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    <a href="http://www.g185fr719603dnr30v7hnu1ry5q9qzn1s.org/">axooesygxez</a>
    [url=http://www.g185fr719603dnr30v7hnu1ry5q9qzn1s.org/]uxooesygxez[/url]
    xooesygxez http://www.g185fr719603dnr30v7hnu1ry5q9qzn1s.org/
  20. skhdyyzoi
    skhdyyzoi 12 days ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    [url=http://www.go38l8247s3jg3jpss75r5c5149ldt5ys.org/]uskhdyyzoi[/url]
    skhdyyzoi http://www.go38l8247s3jg3jpss75r5c5149ldt5ys.org/
    <a href="http://www.go38l8247s3jg3jpss75r5c5149ldt5ys.org/">askhdyyzoi</a>
  21. vkwelejwrh
    vkwelejwrh 5 days ago
    Урок 26 - Создаем игру Ping-pong - часть(1/3) - The Delphi
    <a href="http://www.g0x572yci52856ngy2x95z8ztn1ls3i1s.org/">avkwelejwrh</a>
    [url=http://www.g0x572yci52856ngy2x95z8ztn1ls3i1s.org/]uvkwelejwrh[/url]
    vkwelejwrh http://www.g0x572yci52856ngy2x95z8ztn1ls3i1s.org/
Отменить.