Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2009, 22:01   #1
nanobond
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 12
По умолчанию Помогите доделать теннис с примерами

Имеется такой код :
------------------------------------------------------------------------
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, jpeg;

type
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
Image2: TImage;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }

end;

var
Form1: TForm1;
dx,dy: integer;

implementation

{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Left:=(Form1.Width-Image1.Width) div 2;
Image1.Top:=(Form1.Height-Image1.Height) div 2;
randomize;
if random(100)>50 then dx:=1 else dx:=-1;
if random(100)>50 then dy:=1 else dy:=-1;
Timer1.Enabled:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (Image1.Left+dx<0)or
(Image1.Left+dx>Form1.Width-Image1.Width) then dx:=-dx;
if (Image1.Top+dy<0)or
(Image1.Top+dy>Form1.Height-Image1.Height) then dy:=-dy;
Image1.Left:=Image1.left+dx;
Image1.Top:=Image1.Top+dy;
end;

----------------------------------------------------------------------
в примере летящий шар. Что надо добавить в код что бы он отлетал от планки ( Image2 )?
nanobond вне форума Ответить с цитированием
Старый 05.07.2009, 22:46   #2
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

вот в этой теме 5 пост скачай архив
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 06.07.2009, 03:10   #3
nanobond
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 12
По умолчанию

Посмотрел но ничего путного не нашёл. Мне нужно именно пример на моём коде.
nanobond вне форума Ответить с цитированием
Старый 06.07.2009, 08:39   #4
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Сравнивайте координаты совпадения рисунков. Примерно следующее :
Код:
if  ((Image1.Left = Image2.Left) and (Image1.Top = Image2.Top)) then
begin
  dx := dx * (-1);
end;
Примерно, так как надо еще учитывать размеры (Width и Height) рисунков.
Цитата:
Посмотрел но ничего путного не нашёл
Плохо Вы посмотрели.В Уроках подробно показан код создания тенниса и именно принципы отражения мяча от ракетки при совпадении координат.
Просто в примере мяч и ракетки - TBitMap, а у Вас TImage. Но надо рассматривать их просто как объекты.
И не сомневайся даже ... отдых - кайф, работа - лажа!

Последний раз редактировалось DeKot; 06.07.2009 в 08:49.
DeKot вне форума Ответить с цитированием
Старый 06.07.2009, 20:08   #5
nanobond
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 12
По умолчанию

Можно реально работающий код, а то у меня ничего не получается уж слишком всё запутанно.
nanobond вне форума Ответить с цитированием
Старый 06.07.2009, 20:30   #6
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Внизу страницы

В атаче в добавок сам проект.
Вложения
Тип файла: rar TENNIS.rar (5.6 Кб, 19 просмотров)
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 06.07.2009, 22:52   #7
nanobond
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от DeKot Посмотреть сообщение
Внизу страницы

В атаче в добавок сам проект.
Это я уже смотрел там такая каша что очень сложно разобраться.
nanobond вне форума Ответить с цитированием
Старый 07.07.2009, 11:29   #8
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
там такая каша что очень сложно разобраться.
Ну низнаю... Код в примере элементарный, а комментарии в каждой строке. Другое дело если нет желания и хочется чтоб тебе "добрый дядя" твой проэкт дописал.
Вадим Буренков вне форума Ответить с цитированием
Старый 07.07.2009, 20:45   #9
nanobond
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Ну низнаю... Код в примере элементарный, а комментарии в каждой строке. Другое дело если нет желания и хочется чтоб тебе "добрый дядя" твой проэкт дописал.
Желание то есть просто опыта маловато вот поэтому и ищу кто бы помог.
nanobond вне форума Ответить с цитированием
Старый 07.07.2009, 21:16   #10
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Классика... Клиника...
Да никто тебе /Вам не поможет окромя себя.
Попробуй вот такой метод - 1.запустил код, откомпилровал. посмотрел.
2. Изменил одну переменную ( одну), выполнил п.1.
3. Проанализируй, что же изменилось.
4.Вернул все в обрат и убедился , что работает по прежнему.
5.Изменил другую переменную - п.1, 3, 4.
И так далее.
Если не получается - " парашютный спорт не для Вас".
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разрабатываем игру теннис DeKot Gamedev - cоздание игр: Unity, OpenGL, DirectX 28 28.10.2011 19:05
Accuracer поделитесь примерами Poligraf БД в Delphi 4 12.01.2010 21:25
настольный теннис sverhuVniz Паскаль, Turbo Pascal, PascalABC.NET 3 15.11.2008 15:59
есть у кого SQL справочник команд процедур и функций, с подробным описанием и примерами? Рустам SQL, базы данных 2 23.11.2007 12:20