Вверх ↑
Этот топик читают: Гость
Ответов: 4641
Рейтинг: 334
#1: 2009-04-05 16:49:52 ЛС | профиль | цитата
Че то я совсем туплю. Решил нарисовать на Хиасм такой простой алгоритм,

#pas
procedure TForm1.Button1Click(Sender: TObject);// Кнопка 1 переменная А
begin
if a = 1 then a:=0
else a:=1;
button1.Caption:=IntToStr(a);
if d = 1 then d:=0
else d:=1;
button4.Caption:=IntToStr(d);
if g = 1 then g:=0
else g:=1;
button7.Caption:=IntToStr(g);
if b = 1 then b:=0
else b:=1;
button2.Caption:=IntToStr(b);
if c = 1 then c:=0
else c:=1;
button3.Caption:=IntTOStr(c);
sum:=a+b+c+d+e+f+g+z+h;
if sum = 9 then label1.Caption:='Победа ';
if sum = 0 then Label1.Caption:='Победа ';
if sum = 9 then Timer1.Enabled:=True;
if sum = 0 then Timer1.Enabled:=True;
if sum = 9 then Button10.Enabled:=True;
if sum = 0 then Button10.Enabled:=True;
end;
procedure TForm1.Button2Click(Sender: TObject);// Кнопка 2 переменная B
begin
if a = 1 then a:=0
else a:=1;
button1.Caption:=IntToStr(a);
if b = 1 then b:=0
else b:=1;
button2.Caption:=IntToStr(b);
if c = 1 then c:=0
else c:=1;
button3.Caption:=IntToStr(c);
if z = 1 then z:=0
else z:=1;
button8.Caption:=IntToStr(z);
if e = 1 then e:=0
else e:=1;
button5.Caption:=IntTOStr(e);
sum:=a+b+c+d+e+f+g+z+h;
if sum = 9 then label1.Caption:='Победа ';
if sum = 0 then Label1.Caption:='Победа ';
if sum = 9 then Timer1.Enabled:=True;
if sum = 0 then Timer1.Enabled:=True;
if sum = 9 then Button10.Enabled:=True;
if sum = 0 then Button10.Enabled:=True;
end;
фффффффффф

но все как то громоздко. Вариаций масса, но все как то громоздко и разрастается огого.
может я что то не понимаю или продолжать рисовать?
------------ Дoбавленo:

или кто то подобное делал уже?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2009-04-05 17:25:29 ЛС | профиль | цитата
Ravilr, подозреваю, что проблема именно в
Ravilr писал(а):
может я что то не понимаю

тут половина кода это конструкции

#pas
if a = 1 then a:=0
else a:=1;
button1.Caption:=IntToStr(a);
которые можно делать в лоб
code_12584.txt

а можно и не в лоб
code_12586.txt

остального это тоже касается
карма: 27
0
файлы: 2code_12584.txt [532B] [187], code_12586.txt [247B] [182]
Ответов: 4641
Рейтинг: 334
#3: 2009-04-05 18:48:41 ЛС | профиль | цитата
не Dilma, толи подход к задаче у меня не тот, толи еще что то. Рисовал рисовал. И понял. Наверно IC будет правильнее использовать.
Если есть желание посмотри...набросал и бросил. Кажется так не правильно делать.
code_12588.txt
------------ Дoбавленo:

все таки охото нарисовать. по этому работаю над другим методом данной задачи. уже
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_12588.txt [11.4KB] [250]
Ответов: 1088
Рейтинг: 112
#4: 2009-04-05 19:11:04 ЛС | профиль | цитата
Глядя на код(не внимательно правда ;) ) у меня получилось вот это:
code_12589.txt
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_12589.txt [2.4KB] [173]
Ответов: 4641
Рейтинг: 334
#5: 2009-04-05 19:18:21 ЛС | профиль | цитата
Sniper36 писал(а):
Глядя на код

неSniper36, тут такое дело. Вроде алгоритм простой с виду, но рисовать...замучился.
Есть например 4 кнопки. 1,2,3,4 (считать слево направо, сверху вниз.) При нажатии 1 меняют состояние в обратное 1, 2 и 3. При нажатии например 2, т меняют состояние 2, 1 и 4. вот.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 8926
Рейтинг: 823
#6: 2009-04-05 19:39:51 ЛС | профиль | цитата
Ravilr, : code_12590.txt
карма: 19

0
файлы: 1code_12590.txt [2.3KB] [186]
Ответов: 4641
Рейтинг: 334
#7: 2009-04-05 19:47:16 ЛС | профиль | цитата
Sniper36, Леонид, спасибо за примеры, но все не совсем то. Я уже придумал алгоритм. Как только закончу, выложу.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2009-04-05 20:05:28 ЛС | профиль | цитата
Ravilr, вообще-то тот кусок, который я дал под названием "не в лоб" тиражируется на нужное количество кнопок и дополняется всего одним элементом палитры... после чего получается в точности то, что приведено в code_12588.txt. Чуть чуть ведь подумать всего лишь надо....
------------ Дoбавленo:

статистика схемы:
All: 28, sdk: 28, MultiElements: 0, Core: 8, links: 0, points: 70

это подсказка
карма: 27
0
Ответов: 1088
Рейтинг: 112
#9: 2009-04-05 20:08:20 ЛС | профиль | цитата
Ravilr, что скажеш на это? ;)
code_12591.txt
статистика схемы:
All: 27, sdk: 21, MultiElements: 1, Core: 6, links: 0, points: 74

карма: 0
Время верстки: %cr_time% Текущее время: %time%
2
файлы: 1code_12591.txt [3KB] [179]
Голосовали:Administrator, Ravilr
Администрация
Ответов: 15295
Рейтинг: 1519
#10: 2009-04-05 20:17:21 ЛС | профиль | цитата
еще чуть не забыл - инициализации случайными начальными значениями при таком решении требует еще одного элемента или двух если при каждом запуске надо получать новую последовательность случайных чисел.
------------ Дoбавленo:

Sniper36, в твоей схеме с наскоку не каждый разберется Однако там можно сделать еще короче
карма: 27
0
Ответов: 1088
Рейтинг: 112
#11: 2009-04-05 20:22:44 ЛС | профиль | цитата
Dilma писал(а):
в твоей схеме с наскоку не каждый разберется Однако там можно сделать еще короче

Да знаю. Мне стараться лень было ;)
Просто хотел мысль донести.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Администрация
Ответов: 15295
Рейтинг: 1519
#12: 2009-04-05 20:33:26 ЛС | профиль | цитата
переделал и свою схему с учетом возможности использования динамики(все 9 кнопок, с рандомной инициализацией при старте)
All: 17, sdk: 8, MultiElements: 1, Core: 1, links: 0, points: 50

ну что будут варианты еще короче?
------------ Дoбавленo:

удалось еще короче сделать
All: 14, sdk: 10, MultiElements: 1, Core: 0, links: 0, points: 44

ну если кто-то придумает проще - Советника получит однозначно
карма: 27
0
Ответов: 4641
Рейтинг: 334
#13: 2009-04-05 20:41:10 ЛС | профиль | цитата
Все у Вас по модному как то! Я сделал по простому. Как я себе это вижу, глядя на делфи код.

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1logik.sha [29.2KB] [201]
Ответов: 1088
Рейтинг: 112
#14: 2009-04-05 20:42:05 ЛС | профиль | цитата
Dilma, а итог подводится?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Администрация
Ответов: 15295
Рейтинг: 1519
#15: 2009-04-05 20:53:45 ЛС | профиль | цитата
Ravilr писал(а):
Все у Вас по модному как то!

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

Sniper36 писал(а):
а итог подводится?

итог чего?
карма: 27
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)