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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2018, 16:54   #1
Roman_Jarckov23
Пользователь
 
Регистрация: 11.09.2018
Сообщений: 20
Вопрос Не правильно срабатывает программа!

Код:
program CLICKER_PIRATE;
uses GraphABC, Utils, Sounds, Events, System.Media;
var

  //SEASEASEASEASEASESAESAESAESEASEASEASEA
  x, y: integer;
  movespeed: real;
  bn: integer;
  ostr, sea, lb1, lb2, lb3, lb4, lb5, lb6, lb7, lb8: string;
  sea1: Picture;
  lb: array[0..7] of Picture;

procedure sea3();
begin
  LockDrawing;
  Window.Maximize;
  Window.CenterOnScreen;
  Window.IsFixedSize := True;
  Window.Clear;
  sea := 'data\res\sea.png';
  sea1 := Picture.Create(sea);
  sea1.Load(sea);
  x := 683;
  y := 384;
  bn := 2;
//ifififififififiifififififiifififififif 
    if pLvl <= 10 then
   begin
        lb1 := 'data\res\SEAGAME\lvl1boatup.png';
        lb2 := 'data\res\SEAGAME\lvl1boatleft.png';
        lb3 := 'data\res\SEAGAME\lvl1boatDown.png';
        lb4 := 'data\res\SEAGAME\lvl1boatright.png'; 
        lb[0] := Picture.Create(lb1);
        lb[1] := Picture.Create(lb2);
        lb[2] := Picture.Create(lb3);
        lb[3] := Picture.Create(lb4);
        lb[0].Load(lb1);
        lb[1].Load(lb2);
        lb[2].Load(lb3);
        lb[3].Load(lb4);
        movespeed := 0.55;
   end;  
  if (pLvl > 11) and (pLvl < 20) then
    begin
        lb1 := 'data\res\SEAGAME\lvl2boatup.png';
        lb2 := 'data\res\SEAGAME\lvl2boatleft.png';
        lb3 := 'data\res\SEAGAME\lvl2boatDown.png';
        lb4 := 'data\res\SEAGAME\lvl2boatright.png';
        lb[0] := Picture.Create(lb1);
        lb[1] := Picture.Create(lb2);
        lb[2] := Picture.Create(lb3);
        lb[3] := Picture.Create(lb4);
        lb[0].Load(lb1);
        lb[1].Load(lb2);
        lb[2].Load(lb3);
        lb[3].Load(lb4);
        movespeed := 1;
    end;
   
//ifififififififiifififififiifififififif   
  while true do     
  begin
    sea1.Draw(10, 0);
    lb[bn].Draw(x, y);
    creat();
    lb[bn].Draw(x, y);
    ReDraw;
  end;

В процедуре sea3 Выдаёт ошибку: CLICKER_PIRATE.pas(203) : Ошибка времени выполнения: Object reference not set to an instance of an object.
Должно быть так: Если уровень меньше 10, то корабль такой, если больше 11, но меньше 20, то отрисовывай такой корабль! Что делать?
Roman_Jarckov23 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер срабатывает раньше времени или вообще не срабатывает Terebonko JavaScript, Ajax 1 03.08.2017 11:48
программа не правильно работает skyline17 Паскаль, Turbo Pascal, PascalABC.NET 6 07.01.2015 18:23
Что не правильно? Программа на C++ находит минимум правильно, а максимум нет. В чем погрешность? rafael999 Помощь студентам 3 26.10.2013 11:21
MouseEnter не срабатывает правильно из-за границ картинок Uniskull WPF, UWP, WinRT, XAML 0 17.12.2012 21:31
Виртуальные функции фунция срабатывает не правильно кто поможет найти ошибку Progsenya Общие вопросы C/C++ 1 24.08.2010 01:22