Мой подход. Ядро - Движок. - страница 11

 
Vasiliy Sokolov:

Хорошо, предположим под именем у тебя кроется цифра (дикость конечно, но предположим). Но у каждой кнопки есть надписть, текст, например "Отмена" или что-то типа этого. Как указать это свойство? Так:

Я собирался это рассмотреть дальше.

Очень просто. Делаем массив 

string Button_names[] = {"Отмена","Ок","Hello World!"...};

Делаем цикл по главному ядру и в нем расставляем индексы ячеек текстов.  

 
Реter Konow:

Имеется ввиду, что размер ядра должен соответствовать количеству свойств объекта. Если изменить количество свойств и не изменить размер Ядра, - будет выход за пределы массива.

То есть постоянно в процессе написания кода вы должны контролировать что бы количество свойств и размер ядра везде совпадало. 

...

Вы просто монстр какой то :) Сами себе создаете проблемы и сами их решаете. :)

Если вы бы вы отказались от этой "ереси" и приняли бы "религию" ООП. :) То вы бы нашли способ сделать все намного проще, гибче и с возможностью расширения функционала.  

 
Vitalii Ananev:

То есть постоянно в процессе написания кода вы должны контролировать что бы количество свойств и размер ядра везде совпадало. 


А в чем проблема контроллировать? Добавляем свойство, и увеличиваем размер рядов Ядра. Вот и все.

 

И кстати, у тебя даже этот код компилироваться не будет. Вот ты создаешь двухмерный массив 3x10:

int P_CORE[3][10] = {
//Основание кнопки.-----------------------------
//
//1)NAME   2)TYPE  3)ELEMENT    4)X    5)Y     6)X_SIZE  7)Y_SIZE       8)COLOR
//----------------------------------------------
{ 100001,  base,  button,    100, 100,    200,    50,    C'245,245,245'}, 
//---------------------------------------------- 
//Текст кнопки.---------------------------------
//
//NAME    TYPE   ELEMENT   X    Y     X_SIZE  Y_SIZE       COLOR 
//----------------------------------------------
{100002,  text,  button,  120, 120,     0,      0,       C'245,0,0'},
//---------------------------------------------- 
//Иконка кнопки.-------------------------------- 
//
//NAME    TYPE     ELEMENT   X    Y     X_SIZE  Y_SIZE       COLOR 
{100003,  icon,    button,  140, 140,     16,     16,           0},

Хотя определяемых свойств у тебя только восемь.

Затем ты делаешь перебор снова 10 свойств:

#define All_objects     30
#define All_properties  10
//Далее, строим G_CORE:
//--------------------------------------
int q = 0;
//--------------
for(int a1 = 0; a1 < All_objects; a1++)
  {
   for(int a2 = 0; a2 < All_properties; a2++)
    {
     G_CORE[a1][a2] = P_CORE[q][a2];
    }
     q++;
     if(q == 3)q = 0;    
  }

Это как вообще понимать?

 
Vasiliy Sokolov:

И кстати, у тебя даже этот код компилироваться не будет. Вот ты создаешь двухмерный массив 3x10:

Хотя определяемых свойств у тебя только восемь.

Затем ты делаешь перебор снова 10 свойств:

Это как вообще понимать?

Это просто пример. Не для компиляции. 

 
Реter Konow:

Это просто пример. Не для компиляции. 

О как. Т.е. ты нам пытаешься объяснить свой код, на впринципе не рабочих примерах.

 
Vasiliy Sokolov:

О как. Т.е. ты нам пытаешься объяснить свой код, на впринципе не рабочих примерах.

Я объясняю не код, а подход.

 
Реter Konow:

Не ядро, а движок. Ядро - это просто массив данных.

Общается через EventChartCustom();

Да, сорри. Все время путаю. Ядро и движок звучат равнозначно. Терминология на мой взгляд неудачная.
Петр, просьба нарисуй в любом графическом редакторе, пожалуйста, хоть какую-то блок-схему с ядром, движком, телом программы и стрелочки между ними с указанием способов взаимодействия (Где через глобальные переменные терминала, где через файлы, где через пользовательские прерывания, где через ресурсы, где через буфер индикатора и т.д.). Просто я визуал(думаю не я единственный), а не аудиал, и в этих джунглях слов я заблудился и у меня не сходятся пазлы.
 
Для тех кому на самом деле интересно, продолжу позже. Пока перерыв.
 
Nikolai Semko:
Да, сорри. Все время путаю. Ядро и движок звучат равнозначно. Терминология на мой взгляд неудачная.
Петр, просьба нарисуй в любом графическом редакторе, пожалуйста, хоть какую-то блок-схему с ядром, движком, телом программы и стрелочки между ними с указанием способов взаимодействия (Где через глобальные переменные терминала, где через файлы, где через пользовательские прерывания, где через ресурсы, где через буфер индикатора и т.д.). Просто я визуал(думаю не я единственный), а не аудиал, и в этих джунглях слов я заблудился и у меня не сходятся пазлы.

Ядро - массив. Движок - код.

Я нарисую.

Причина обращения: