Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++ Builder] помогите найти ошибку 
V
    Опции темы
anatox91
Дата 17.10.2010, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



есть программка, попытка написать простенькую игрушку для курсача(типа tower defense), в ней функция обработчика события таймера, в которой происходит перерисовка объектов, и в ней почему-то программа вылетает при попытке вызвать функцию-член класса basic_unit::gety(), которая всего-то навсего возвращает значение соответствующего поля класса... я абсолютно не понимаю что там может быть неправильно, может у кого-то получится взглянуть свежим взглядом и понять что там не так?

к сожалению пришлось загрузить архив на сторонний хостинг, т.к. тут ограничение на размер файла
тут была ссылка

Добавлено @ 21:10
вылетает в этой функции:
Код

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    //draw all units on it's positions
    for(int j=0; j < bf.units_count(); ++j) {
        TRect badRect;
        TRect frameRect;

        badRect = Rect(bf.unit(j)->getx(), bf.unit(j)->gety(),
            bf.unit(j)->getx() + bf.current_lvl_unit_image()->Width,
            bf.unit(j)->gety() + bf.current_lvl_unit_image()->Height);
        frameRect = Rect(0, 0, frame->Width, frame->Height);

        frame->Canvas->CopyRect(frameRect, bf.background()->Canvas, badRect);
        frame->Canvas->Draw(0, 0, bf.current_lvl_unit_image());
        PaintBox1->Canvas->Draw(bf.unit(j)->getx(), bf.unit(j)->gety(), frame);
        if(bf.unit(j)->getx() < 0) {
            bf.unit(j)->addx(1);
            bf.unit(j)->addy(0);
        } else {
            bf.unit(j)->addx(bf.get_trajectory(0, bf.unit(j)->pos()));
            bf.unit(j)->addy(bf.get_trajectory(1, bf.unit(j)->pos()));
            bf.unit(j)->inc_pos();
        }
    }

    if(bf.last_unit()->getx() > PaintBox1->Width) {
        bf.decr_lifes();
        Label5->Caption = IntToStr(bf.gold());
        Label6->Caption = IntToStr(bf.lifes());
        Label7->Caption = IntToStr(bf.score());
        Timer1->Enabled = false;
    }
}


на строчке:
Код

badRect = Rect(bf.unit(j)->getx(), bf.unit(j)->gety(),
            bf.unit(j)->getx() + bf.current_lvl_unit_image()->Width,
            bf.unit(j)->gety() + bf.current_lvl_unit_image()->Height);


Это сообщение отредактировал(а) anatox91 - 18.10.2010, 13:32


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
Platov
Дата 18.10.2010, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 23.7.2009

Репутация: 2
Всего: 2



Цитата(anatox91 @  17.10.2010,  21:07 Найти цитируемый пост)
//draw all units on it's positions
    for(int j=0; j < bf.units_count(); ++j) {

начинай цикл с 1 и самолёты полетят.
PM MAIL   Вверх
anatox91
Дата 18.10.2010, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



спасибо, я баран блин) сам поставил ограничение)) вот что значит свежий взгляд)


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1236 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.