Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 5
Всего онлайн: 5
Зарегистрировано юзеров: 7937
Комментариев на сайте: 698
Новый юзер: Micahmum



Последние комментарии
c
Dennisvoifs прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Пункт коммерческого учета цена, Ктп комплектные трансформаторные подстанции москва, Производство ктп москва и не только Вы найдете на нашем специализированном сайте: - Вам к нам!https://sviloguzov.ru/
Arthurneime прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
[img]https://masterfutures.ru/wp-content/uploads/2020/03/14-2.png[/img] Online trading is becoming increasingly popular, as more people learn of the earning potential of platforms such as Broker, a broker which caters to a significant audience of digital traders (12 million and counting). Known for their excellent user interface, as well as fast deposit and withdrawal times, Broker provides multiple features to help traders earn on the markets. This overview will outline just some of the key aspects traders can expect to enjoy whilst working with Broker broker. Online trading is becoming increasingly popular, as more people learn of the earning potential of platforms such as Broker, a broker which caters to a significant audience of digital traders (12 million and counting). Known for their excellent user interface, as well as fast deposit and withdrawal times, Broker provides multiple features to help traders earn on the markets. This overview will outline just some of the key aspects traders can expect to enjoy whilst working with Broker broker. Broker Broker is operated by a dedicated team, whose main priority has always been to provide the best possible user experience, and ultimately satisfaction. Whether experienced in trading or a newcomer, the platform is easy to use and very responsive. The education section deserves special mention, particularly for assisting traders to learn and implement new strategies – which can be tested on the platforms free demo Source: [url=https://bit.ly/35fv3B6/]Broker[/url] https://bit.ly/35fv3B6/ Tags: Broker

Урок 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;


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

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


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 21 Апреля 2013
Просмотров:

Урок 25 - Подробное изучение RichEdit'a Урок 27 - Создаем игру Ping-pong - часть(2/3)

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



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




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




аватар Добавил: hess2222 [Новичок] Дата: 2015-05-14
Да жив наверно)))




аватар Добавил(а): opchik [Новичок] Дата: 2018-08-29
пмогите