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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.01.2013, 20:50   #1
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию Алгоритм на 4 хода

Добрый час , помогите создать алгоритм действий:
Есть 4 круга, на каждом круге принимается решения в зависимости от круга
как это реализовать более правильно, то есть если круг = 1 тогда это, если круг = 2 тогда это, итд до 4. при этом создать цикл проверки что наступил момент принятия решения. Пробовал. While программа висит, с помощью компонента таймер все норм, но интуиция подсказывает что этот вариант не верен.Принятие решения должно быть перед проверкой 4 кругов.
Не прошу кода, прошу алгоритм реализация , хотя и от примера тоже не откажусь

Нагуглив понял что case не подходит так как не работает со строками
ClMlD вне форума Ответить с цитированием
Старый 01.01.2013, 20:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А каков критерий принятия решения?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.01.2013, 21:13   #3
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

Критерий(честно сказать не понял вопроса но попытаюсь объяснить) : примеру
Код:
var
hod,h:string;
h:='Hod.bmp';
While hod <> h do
scrin(x,y,h,w);// Скриншот облости
RimgL(k); // Процедура проверки изображдения
logic;
Bot.RImgL.Caption:=hod; // Если совпало по массиву тогда выдаем 
//значение Hod
if h = hod then logic;
// по идеи цикл стал равен Hod.bmp цикл закончен(если наступил нужный момент)
end;
Как мне кажется цикл должен выполнятся до тех пор пока не увидит нужный скрин
Но программа виснет. это не беда таймер справляется на отлично
но как дальше ?

Например:
Код:
procedure logic;
con:string;
begin
if con = '1' then процедура на кон1
if con = '2' then процедура на кон2
//Процедура кона будет вызывать другие процедуры
//опираясь на них будет принято решение
Что бы было понятнее эта функция на 4 хода в игре покер техас холдем

Наброски более чем уверен на работоспособны , они так ,для примера .

Последний раз редактировалось Stilet; 01.01.2013 в 22:36.
ClMlD вне форума Ответить с цитированием
Старый 01.01.2013, 23:02   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Без обид но что-то я совсем не понял... Видимо оливье с грибами пошло бродить не туда...
Как по мне то так:
Код:
Hod:=1;
while Hod<5 do begin
 WaitStep(); //Ждем хода
 if Hod=1 then Con1 else
 if Hod=2 then Con2 else
 if Hod=3 then Con3 else
 if Hod=4 then Con4
 ;
end;
Код:
procedure ConXX;
begin
 Чет там делаем
 inc(Hod);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.01.2013, 14:50   #5
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

Вроде как получилось но:
Что такое WaitStep ? я заменил на sleep
и у меня не выходит прервать этот цикл то есть переменая равна 1 выполнили нужную процедуру в этой же переменой я меняю значение переменой на 5 как бы нетраль будет , но цикл дальше шпарит и шпарит
тестил помощью showmessage ,сори с зацикливание цикла решил проблему просто добавил присвоение переменной внутри цикла не только с наруже

Последний раз редактировалось ClMlD; 02.01.2013 в 14:53.
ClMlD вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из k,l в m,n за 2 хода yzen Помощь студентам 8 21.10.2012 11:40
Задержка хода противника LiuLiuJons C++ Builder 8 19.04.2012 17:33
Алгоритм выбора лучшего хода tanyhaftv Помощь студентам 4 09.06.2011 17:55
Пузырьки:алгоритм лучшего хода SynEnergizer Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 05.12.2009 16:18
Как сделать имитацию хода даты и времени в программе? Bill Gates Общие вопросы Delphi 1 06.01.2008 15:21