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

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

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2009, 21:43   #1
Mclaren
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 65
По умолчанию Код игры Арканоид

Люди, нужно понять код игрушки (ну что обозначает отдельная процедурка) . Срочно! Если согласны отпишите... Пожалусто.
Mclaren вне форума Ответить с цитированием
Старый 20.05.2009, 22:17   #2
Mclaren
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 65
По умолчанию

Вот исходник
Вложения
Тип файла: rar Arkanoid.rar (221.2 Кб, 186 просмотров)
Mclaren вне форума Ответить с цитированием
Старый 20.05.2009, 23:50   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

что именно не понятно?
задай вопрос конкретный!
я же написал в той теме еще?

З.Ы.:процедур там не мало вообще то
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.05.2009, 02:08   #4
Mclaren
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 65
По умолчанию

Первое что за формат dxg? Второе как создавались уровни? За что отвечает константа sig='LAOS'? Классы: tvline, thline? И где описаны бонусы, ну как они работают, почему падают?
Mclaren вне форума Ответить с цитированием
Старый 21.05.2009, 08:03   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)там на форме компонент DXImageList1: TDXImageList все свои картинки он складывает в этот файл
2)разбери этот код(сейчас времени просто нет) в нем сохранение файла с уровнем
Код:
procedure TArkanoid.SaveLevel(filename:string);
var
  f:file;
  i,i1:dword;
begin
  DXTimer1.Enabled:=false;
  AssignFile(f,filename);
  Rewrite(f,1);
  filemode:=fmOpenWrite;
  BlockWrite(f,sig,sizeof(sig));
  for i:=0 to length(bricks)-1 do begin
    BlockWrite(f,bricks[i].life,sizeof(bricks[i].life));
    i1:=round(bricks[i].x);
    BlockWrite(f,i1,sizeof(i1));
    i1:=round(bricks[i].y);
    BlockWrite(f,i1,sizeof(i1));
    BlockWrite(f,bricks[i].visible,sizeof(bricks[i].visible));
  end;
  CloseFile(f);
  DXTimer1.Enabled:=true;
end;
3)sig - сокращение от signature = сигнатура
это дополнительная проверка того что файл(или блок данных) имеет нужный формат(помимо расширения)
4)видишь линии внутри блоков?
(между гранью и белым кубиком внутри блока)
это они как я понял
5)класс TBonus
здесь описанно их появление procedure TBrick.Hit(ball:TBall);
а конкретно:
Код:
if random(5)=0 then
    for i:=0 to length(bonuses)-1 do begin
      if not bonuses[i].Visible then begin
        bonuses[i].value:=random(maxbonusimages);
        bonuses[i].Image := Arkanoid.DXImageList1.Items.Find('bonus'+inttostr(bonuses[i].value));
        bonuses[i].Width := bonuses[i].Image.Width;
        bonuses[i].Height := bonuses[i].Image.Height;
        bonuses[i].Z := 1;
        bonuses[i].X := X;
        bonuses[i].Y := Y;
        bonuses[i].speed:=round(ball.speed);
        bonuses[i].Visible:=true;
      end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.05.2009, 18:22   #6
Mclaren
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 65
По умолчанию

Спосиб больш. Начинаю догонять.
Mclaren вне форума Ответить с цитированием
Старый 21.05.2009, 20:58   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

обращайся
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Арканоид Kostia Gamedev - cоздание игр: Unity, OpenGL, DirectX 11 03.04.2021 21:50
Арканоид Mclaren Помощь студентам 10 14.05.2009 15:06
АРКАНОИД!? Mclaren Помощь студентам 5 28.04.2009 14:18
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37
Помогите с компиляцией игры, код есть (Delphi 4) Дилетант Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 06.05.2007 20:57