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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2019, 18:56   #121
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

утренняя веСриЯ
Вложения
Тип файла: rar 20.9 addpepople без adwoman работает.rar (757.8 Кб, 12 просмотров)
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 18.04.2019, 14:49   #122
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

увидел новый способ работы с дебагингом. не очень разобрался в группах addwatch, но в целом прекрасно зашло в голову!вот этот материал
https://habr.com/ru/post/178007/

Скоро создам видео на эту тему.
А пока что представлю другое видео. Там такие ошибки в проге разбираются, из за которых мне и пришлось искать новые способы дебагнинга.

https://youtu.be/1SiUvAWbcUg

напомню, то. что я представляю тут. видео и тексты, они тут на форуме мною для трех целей выставляются:

1.новички в дельфи и клеточном автомате решили сделать программу с нуля, а детального курса видео нет ( при этом надо иметь в виду, что это будут либо студенты, у которых выбора нет, либо очень мотивированные люди)
2. При этом на создание видео курса я трачу минимум времени
3. по пути обучаюсь, а это дневник обучания

Понятно, что цели кое в чём противоречат друг другу.
Но ПОКА ЧТО делать курс для массовой аудитории с нулевой маотивацией к изучению моделирования на основе клеточного автомата я не буду. Я не имею для этого ни знаний, ни мотивации. так что да, это пока что не курс по дельфи. Это курс по моделированию на клеточном автомате. да и это не совсем курс. Это то, что поможет работникам моей лаборатории войти в тему с нуля. Всё это делается для того, бы люди, пришедние в мою лабораторию, с нуля смогли работать с лабораторными программами, так как все они построены по схожему принципу на одном языке прогинга.

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

Если я уйду из науки позже, чем разберусь в программировании, возможно, из всех этих черновиков можно будет сделать чуть более читаемые черновики, уже почти курс. Но опять таки не для широкой аудитории. кому нафиг сдался клеточный автомат на дельфи?
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками

Последний раз редактировалось anaschu; 18.04.2019 в 15:06.
anaschu вне форума Ответить с цитированием
Старый 18.04.2019, 16:21   #123
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Цитата:
Сообщение от anaschu Посмотреть сообщение
Скоро создам видео на эту тему.
Скорость поиска ошибков намного увеличиться, конечно. Для моей рассеянности это подарочек в виде ножа под ребра. Хотя нет, нет. В Виде экзоскелета.

https://youtu.be/Gk0sZerpt4g


Раздербанил на функции смерть людей от голода, скопировав их из функции миграции людей. там отличия по трем параметрам, а логика вся та же самая.
Непонятно, как это засунуть в одну процедеру. Пока буду держать это в голове. Потому что на очереди ошибки более важные, эта доделка так себе. Но вот , что бы не забыть, да и вдруг кто то всё таки читает и интересуется. или хочет поугорать над моей тупизной:

Код:
procedure Tmodel.KillUntilPeople(x,y:integer);
 var qPeopleBegin,k:integer;
 sex:boolean;
 begin
    qPeopleBegin:=length(FField.FArea[x, y].Ffamily.APeople);
    if qPeopleBegin<1 then exit;  
    sex:=False; //     сначала убиваем женщин (ББПЕ и первобытный патриархатикус)!
    k:=0;
    model.ForKillUntilPeople(x,y,sex, k);
    sex:=true; //      убиваем мужчин
    model.ForKillUntilPeople(x,y,sex, k);     
    qPeopleBegin:=length(FField.FArea[x,y].Ffamily.APeople);
      
 end;


procedure Tmodel.MigrUntilPeople(x1,y1,x2,y2:integer);
 var qPeopleBegin,k:integer;
 sex:boolean;
 begin
    qPeopleBegin:=length(FField.FArea[x1, y1].Ffamily.APeople);
    if qPeopleBegin<1 then exit;       
    sex:=False; //     сначала мигрируем женщин
    k:=0;
    model.ForMigrUntilPeople(x1,y1,x2,y2,sex, k);
    sex:=true; //      мигрируем мужчин
    model.ForMigrUntilPeople(x1,y1,x2,y2,sex, k);     
    
 end;

Код:

procedure Tmodel.ForKillUntilPeople(x,y:integer;sex:boolean; var k:integer);
var endC,people, i:integer;
begin
  i:=k;
  people:=0;
  endC:= (round(length(FField.FArea[x, y].Ffamily.APeople)/8));
  repeat
      if not (sex=FField.FArea[x, y].Ffamily.APeople[i].Sex)  then
      begin
      Ffield.KillHuman(x,y,i);
      inc(people);
      end ;
    inc(i);  
    if i=0 then  i:= endC;       
    until people >  endC-1; 
    
end;


 
procedure Tmodel.ForMigrUntilPeople(x1,y1,x2,y2:integer;sex:boolean; var k:integer);
var endC,people, i:integer;
begin
  i:=k;
  people:=0;
  endC:= (round(length(FField.FArea[x1, y1].Ffamily.APeople)/8));
  repeat
      if not (sex=FField.FArea[x1, y1].Ffamily.APeople[i].Sex)  then
      begin
      Ffield.cutHuman(x1,y1,x2,y2,i);
      inc(people);
      end ;
    inc(i);  
    if i=0 then  i:= endC;       
    until people >  endC-1; 
    
end;
Последняя попытка найти ошибку. так и не понял я , в чём дело. Ну и ладно, она сильно на работоспособность программы не влияет на данный момент
https://youtu.be/t_iPGMg7soU
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками

Последний раз редактировалось anaschu; 18.04.2019 в 18:34.
anaschu вне форума Ответить с цитированием
Старый 19.04.2019, 13:03   #124
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

https://youtu.be/wDkKAtPqIL4
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 21.04.2019, 21:49   #125
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию Только вот понять, что там происходит война и гонения, пока что можно только через дебагинг

Опа. теперь у меня своя МайнКампф с блекджеком и дельфи.
Рассово чистые воины идут с одной клетки в другую и выгоняют всех не рассово чистых. вот такие вот обезьяноЛюди
Вложения
Тип файла: rar 32 война и гонения.rar (805.1 Кб, 12 просмотров)
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 21.04.2019, 22:42   #126
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

https://youtu.be/CKkSKwj9yvs
первые 4 минуты без звука
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 29.04.2019, 01:03   #127
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Ошибка. не могу понять, откуда при Create поля филд туда попадает значение 5 для ширины и длинны поля. Нигде в файле этих значений нет.
внутри19.1\Source\Umodel.pas


function TField.IsInside(X, Y: Integer): boolean;
begin
Result := (X >= 0) and (X < FWidth) and (Y >= 0) and (Y < FHeight);
end;
Вложения
Тип файла: rar 35.rar (947.6 Кб, 11 просмотров)
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 29.04.2019, 22:09   #128
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Можно обойтись конечно и без того, что бы выведывать, где эта пятерка. потому что реальная работа будет много больше поля 5 на 5
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 03.05.2019, 13:51   #129
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Разобрался, чем дело. Просто у меня в компоненте стринг грид были выставлены RowCount ColCount по пять. кроме того, создание формы было вынесено в приватную часть.
вот рабочая по одной клетке версия. проблема теперь в том, что не переходит в другую клетку

https://youtu.be/bzAc1la6xbs
Вложения
Тип файла: rar 19.1.rar (1,009.7 Кб, 11 просмотров)
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 03.05.2019, 16:19   #130
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Теперь переходит в другую клетку, но слишком большие числа людей слоняются туда сюда по клеткам...
Что бы начать разбираться с этой ошибкой, долго разбирался вот с такой скобкой внутри ctrl+alt+b ( список брей койнтов с условиями):
(( FField.FArea[i, j].Resource) >= Resource) and not ((((i = X)) and (j = Y))) and ( ((i=1) and (j=1)) and ((x=0) and (Y=0)))
Оказывается, эта проблема очень хорошо решена в Notepad++, наводишь курсор на фигурную скобку, она очень заметно высвечивается кроваво-красным цветом, сразу бросающимся в глаза (в AkelPad, встроенной в Тотал-Коммандер, высвечивается не столь заметным темно-красным, бордовым цветом). Вдобавок к этому можно нажать на Ctrl + B, и курсор сам перепыгнет к нужной скобке! А если нажать еще раз, перепыгнет обратно. Вот за это спасибо разработчикам NotePad++, облегчили жизнь.
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками

Последний раз редактировалось anaschu; 03.05.2019 в 16:22.
anaschu вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
построение клеточного автомата в Excel olgafirst Помощь студентам 0 02.04.2014 00:26
Математическая модель "Автосервис" pro100saniok Помощь студентам 4 24.05.2012 18:31
Меня раздражают наши "звезды", которые считают себя сливками общества... grenles Свободное общение 53 16.02.2011 11:16
Стоит ли покупать видеокурс О.Л.Соколова, Видеокурс О.Л.Соколова "Проф.хакер" arkad-167 Помощь студентам 1 27.02.2010 10:32
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49