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

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

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2013, 23:25   #31
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
ClMlD,
Против идеи ничего не имею, задумка хороша, да и для практики тоже гууд.


Ошибаетесь, глубоко. Законы не создаются для отдельных действий. Все глобальнее и подминает под себя кучу всего, иначе эти законы штамповали бы тысячами в день.

Вы играете не сами, за вас просчитывает ходы компьютер.
Имхо: Вам либо скучно, либо вы действительно уверены в том что могут посадить за покер бот, не хочу вас обижать или оскорблять но посоветую вам набраться информации по данной теме , ибо то что вы упорно пытаетесь доказать полный вздор

То что вы выделили , может последовать максимум бану и не более

Последний раз редактировалось ClMlD; 02.01.2013 в 23:28.
ClMlD вне форума Ответить с цитированием
Старый 02.01.2013, 23:31   #32
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

Arigato- Можно вам скинуть проект , что бы вы оценили и возможно посоветовали что то?
ClMlD вне форума Ответить с цитированием
Старый 02.01.2013, 23:45   #33
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Да, мне скучно. Скиньте и мне проект, подскажу чего-нибудь =)
Человек_Борща вне форума Ответить с цитированием
Старый 02.01.2013, 23:57   #34
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Да, мне скучно. Скиньте и мне проект, подскажу чего-нибудь =)
Вот такой настрой на много лучше ,отправил в лс , от вас жду самых жестких комментарий
ClMlD вне форума Ответить с цитированием
Старый 03.01.2013, 01:38   #35
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Нумс...

Unit2, метод RImg - эпичная трата оперативной памяти.
Код:
 ms1,ms2 : Tmemorystream;
А где они освобождаются?

В том-же модуле метод kart.
Я бы сделал нечто такое:
Код:
type
  TCardColorRec = packed record
  Color:DWORD;
  myArray:array[0..12] of TBitMap;
  end;
Зачем?
Всего 52 карты. 4 цвета, каждому соотв. буква:
Красный - b
черный - p
Зеленый - h
Синий - k
по 13 карт на цвет.

в Color записывается цвет пикселя соотв. карты а в myArray создаются битмапы и заносятся картинки соотв. этому цвету.

Зачем?

Далее пишется класс на основе списка TList, в конструкторе класс грузит изображения и распределяет на четыре категории по цветам ^^.
В десрукторе не забываем разрушить элементы массива.

Далее на всех картинках есть 100% точка с присущим картинке цветом пикселя(пикчи 15x30).
Зачем? Создается класс управл. потоками, можно в том же классе, что будет владеть колодами картинок. Каждому потоку передается изображение для изучения и колода карт(4 колоды - 4 потока). Далее первым делом поток берет из точки на картинке цвет и сравнивает с Color переданной ему колоды. Не равно? Закрываемся и не жрем ресурсы.

Равно? Начинаем сравнение. Получаем результат.
До кучи сравнение я бы тоже переделал. Грешно память сравнивать циклами, и не пользоваться системными функциями memcmp или CompareMem(не важно, первая из очень низких вершин).


Получение скрина, аналогично. На кой фиг вам ещё и HDD круги нарезать заставляете? Держите все в памяти! Только от мусора чистите.

В unit3 вообще смотреть страшно =)
Человек_Борща вне форума Ответить с цитированием
Старый 03.01.2013, 01:45   #36
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,855
По умолчанию

Цитата:
Сообщение от ClMlD Посмотреть сообщение
Arigato- Можно вам скинуть проект , что бы вы оценили и возможно посоветовали что то?
Скиньте, только мне не очень скучно, быстрого ответа не гарантирую.
Arigato вне форума Ответить с цитированием
Старый 03.01.2013, 05:39   #37
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Нумс...

Unit2, метод RImg - эпичная трата оперативной памяти.
Код:
 ms1,ms2 : Tmemorystream;
А где они освобождаются?

В том-же модуле метод kart.
Я бы сделал нечто такое:
Код:
type
  TCardColorRec = packed record
  Color:DWORD;
  myArray:array[0..12] of TBitMap;
  end;
Зачем?
Всего 52 карты. 4 цвета, каждому соотв. буква:
Красный - b
черный - p
Зеленый - h
Синий - k
по 13 карт на цвет.

в Color записывается цвет пикселя соотв. карты а в myArray создаются битмапы и заносятся картинки соотв. этому цвету.

Зачем?

Далее пишется класс на основе списка TList, в конструкторе класс грузит изображения и распределяет на четыре категории по цветам ^^.
В десрукторе не забываем разрушить элементы массива.

Далее на всех картинках есть 100% точка с присущим картинке цветом пикселя(пикчи 15x30).
Зачем? Создается класс управл. потоками, можно в том же классе, что будет владеть колодами картинок. Каждому потоку передается изображение для изучения и колода карт(4 колоды - 4 потока). Далее первым делом поток берет из точки на картинке цвет и сравнивает с Color переданной ему колоды. Не равно? Закрываемся и не жрем ресурсы.

Равно? Начинаем сравнение. Получаем результат.
До кучи сравнение я бы тоже переделал. Грешно память сравнивать циклами, и не пользоваться системными функциями memcmp или CompareMem(не важно, первая из очень низких вершин).


Получение скрина, аналогично. На кой фиг вам ещё и HDD круги нарезать заставляете? Держите все в памяти! Только от мусора чистите.

В unit3 вообще смотреть страшно =)
В первую очередь спасибо за то что уделили время, сам понимаю что программа очень много жрет ресурсов из за кривого кода ,но пишу как могу в вузах меня не учили . Буду подробно изучать ваши заметки и реализую их в свой проект. Одно огорчило то что сравнение тоже кривым оказалось я над ним столько парился , но ничего буду работать надеюсь все получиться

Еще просьба скажите что нибудь про логику на 4 круга и принятия решения , меня удивило то что вы ничего про него не сказали мне кажется он ужаснее Unit3 и как в моем случае заменить таймер или без него не как?

Последний раз редактировалось ClMlD; 03.01.2013 в 05:41.
ClMlD вне форума Ответить с цитированием
Старый 03.01.2013, 13:59   #38
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Это что-ли?
Код:
procedure TBot.Timer1Timer(Sender: TObject);
var
h,hod:string;
begin
h:='hod.bmp';
scrin(1616,650,10,10,);
 RImg(h);
 hod:=bot.RImgL.Caption;
 if hod = h then
 begin
  iHod;
 end;
end;
Смысл синего кода, даже великие умы в тупик поставит
Человек_Борща вне форума Ответить с цитированием
Старый 03.01.2013, 15:38   #39
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,855
По умолчанию

А в чем смысл повторяющихся процедур?

Код:
procedure Con1;
var
p:string;
begin
proc;
 p:=bot.RImgL.Caption;
 if p = 'proc/r0.bmp' then fold else
 if p = 'proc/r10.bmp' then fold else
 if p = 'proc/r20.bmp' then fold else
 if p = 'proc/r30.bmp' then fold else
 if p = 'proc/r40.bmp' then callcheck else
 if p = 'proc/r50.bmp' then callcheck else
 if p = 'proc/r60.bmp' then callcheck else
 if p = 'proc/r70.bmp' then rais else
 if p = 'proc/r80.bmp' then rais else
 if p = 'proc/r90.bmp' then rais else
 if p = 'proc/r100.bmp' then rais;
end;


procedure Con2;
var
p:string;
begin
proc;
 p:=bot.RImgL.Caption;
 if p = 'proc/r0.bmp' then fold else
 if p = 'proc/r10.bmp' then fold else
 if p = 'proc/r20.bmp' then fold else
 if p = 'proc/r30.bmp' then fold else
 if p = 'proc/r40.bmp' then callcheck else
 if p = 'proc/r50.bmp' then callcheck else
 if p = 'proc/r60.bmp' then callcheck else
 if p = 'proc/r70.bmp' then rais else
 if p = 'proc/r80.bmp' then rais else
 if p = 'proc/r90.bmp' then rais else
 if p = 'proc/r100.bmp' then rais;
end;
И далее еще несколько таких же.
Arigato вне форума Ответить с цитированием
Старый 03.01.2013, 18:08   #40
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Это что-ли?
Код:
procedure TBot.Timer1Timer(Sender: TObject);
var
h,hod:string;
begin
h:='hod.bmp';
scrin(1616,650,10,10,);
 RImg(h);
 hod:=bot.RImgL.Caption;
 if hod = h then
 begin
  iHod;
 end;
end;
Смысл синего кода, даже великие умы в тупик поставит
Для меня он имеет следующий смысл:
Присваиваю переменной значение Label он у меня в роли буфера
и сравниваю если h = hod значит кнопка в области скриншота есть значит ходим, =) что удивило вы меня прям вдохновляете я сам увидел свою ошибку можно было сделать так:
var
h:string;
begin
h:='hod.bmp';
scrin(1616,650,10,10,);
RImg(h);
if h = bot.RImgL.Caption then iHod;
end;

Верно ли я заметил?
ClMlD вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем заняться в свободное время? Alex Cones Свободное общение 22 06.05.2010 11:37