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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2009, 13:01   #1
Kopova
Пользователь
 
Аватар для Kopova
 
Регистрация: 26.10.2009
Сообщений: 18
По умолчанию Помогите с игрухой.

Имеется игруха на паскале. Подскажите, пожалуйста, как сделать так, чтобы пушка двигалась не вправо-влево, а по окружности двигалось дуло пушки. То есть, при нажатии клавиши (допустим, стрелки) дуло поворачивалось в одну сторону, при нажатии другой клавиши - в другую. Помогите, пожалуйста, или обьясните принцип создания. Надеюсь на вашу поддержку Заранее спасибо
Вложения
Тип файла: rar game.rar (8.0 Кб, 30 просмотров)
С уважением,
Kopova =)
Kopova вне форума Ответить с цитированием
Старый 26.10.2009, 13:13   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

по вращению почитайте тут http://www.programmersforum.ru/showt...EE%F0%E5%EC%F3
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 26.10.2009, 17:28   #3
Kopova
Пользователь
 
Аватар для Kopova
 
Регистрация: 26.10.2009
Сообщений: 18
По умолчанию

Там какбэ центр вращения в центре линии. Нужно чтобы дуло поворачивалось... ммм... ну какбэ по типу стрелки часов что-ли... А я даже не знаю с какого края подойти
С уважением,
Kopova =)
Kopova вне форума Ответить с цитированием
Старый 26.10.2009, 17:51   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

уже говорил, повторюсь- вы рисуйте одну линию (половину) от вашего центра, а вторую тоже от центра но со сдвигом фазы на 180гр
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 10.11.2009, 07:06   #5
Kopova
Пользователь
 
Аватар для Kopova
 
Регистрация: 26.10.2009
Сообщений: 18
По умолчанию

Код:
uses crt,graph;
var a,b,gd,gm: integer;
     x0,x1,x2,x3,x4,y0,y1,y2,y3,y4: integer;
     alpha, beta, koef: real;
     ch: char;
 
begin
 clrscr;
 initgraph(gd, gm, ' ');
 alpha:= 0;
 koef:= 1;
 x0:= 300;
 y0:= 300;
 a:= 100;
 b:= 20;
 beta:= arctan(b/a);
 setcolor (15);
  repeat
   x1:= x0;
   y1:= y0;
   x2:= x0+round(a*cos(alpha));
   y2:= y0-round(a*sin(alpha));
   x3:= x0+round(sqrt(sqr(a)+sqr(b))*cos(alpha-beta));
   y3:= y0-round(sqrt(sqr(a)+sqr(b))*sin(alpha-beta));
   x4:= x0+round(b*cos(alpha-pi/2));
   y4:= y0-round(b*sin(alpha-pi/2));
   line (x1, y1, x2, y2);
   line (x2, y2, x3, y3);
   line (x3, y3, x4, y4);
   line (x4, y4, x1, y1);
    ch:= readkey;
    cleardevice;
      case ch of
      #75: begin
            koef:= 1;
            alpha:= alpha+0.1;
            if abs(alpha)>=pi then alpha :=pi;
            delay(10);
           end;
      #77: begin
            koef:= -1;
            alpha:= alpha+koef*0.1;
            if alpha<=0 then alpha :=0;
            delay(10);
           end;
      #27: break;
     end;
  until ch= #27;
closegraph;
end.
Вот именно то, что мне нужно Помогите теперь это вписать в игру.
С уважением,
Kopova =)
Kopova вне форума Ответить с цитированием
Старый 10.11.2009, 08:14   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ТАк для этого нужно знать что за игра, чем дышит, как построена...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.11.2009, 13:23   #7
Kopova
Пользователь
 
Аватар для Kopova
 
Регистрация: 26.10.2009
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
ТАк для этого нужно знать что за игра, чем дышит, как построена...
Первый пост темы, архив
С уважением,
Kopova =)
Kopova вне форума Ответить с цитированием
Старый 10.11.2009, 14:10   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Kopova
Не пойму вообще как твоя программа только работает...
В PVO нет вообще никаких координат? Зачем ты связался(лась) с спрайтами?
Почему в PVO не передавать координату машинки и от нее все отрисовывать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.11.2009, 11:39   #9
Kopova
Пользователь
 
Аватар для Kopova
 
Регистрация: 26.10.2009
Сообщений: 18
По умолчанию

О каких координатах идёт речь? PVO - название процедуры, в которой прорисована машинка.
Цитата:
Сообщение от Stilet Посмотреть сообщение
Почему в PVO не передавать координату машинки и от нее все отрисовывать?
Эту фразу вообще не понял
З.Ы.: Основа не моя, я только немного доработал и подстроил под себя.
С уважением,
Kopova =)
Kopova вне форума Ответить с цитированием
Старый 11.11.2009, 12:40   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Эту фразу вообще не понял
Я имел ввиду что PVO это процедура отрисовки
Я бы в эту процедуру передавал координаты машины. А в процедуре рисовать относительно этих координат...
Я не знаю как обьяснить...
Твоя программа насколько я понял действует так:
однажды нарисовав где то образ машинки фоторгафирует его в некий массив, а потом просто в неких координатах выводит эту фотографию.
Тебе же нужно другое - тебе нужно в процедуру PVO передать координаты машины и угол пушки, и пусть процедура эта в этих переданных координатах рисует все.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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