Справочник функций

Ваш аккаунт

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

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Процедура Break&крестики-нолики.

35K
28 марта 2008 года
Sild
15 / / 28.03.2008
у меня 2 вопроса.1ый-может ли эта процедура закрывать внешние циклы,когда сама находится во вложеном.пример:
For i:=1 to 100 do
For g:=1 to 100 do begin
if i>40 and g<95 then
for h:=2 to 103 do
if massiv[h]=symbol then begin
break;
break;
break;
end;

будут ли это три прерывания завершать все цикли или второй и третий ничего не будут делать?

и второй вопрос...
игра крестики-нолики.
Как запрограмить камп на хоть какое-то разумное действие?надо как-то ставить рядом с противоположным символом для прерывания цепи,рядом со своим-для продления своей,но как осуществить не знаю.Так же вопрос-как сделать анализатор ходов компьютером на 2 вперед и в случае поражения одного из вариантов-менялся ход?
игра идет на бесконечном поле,победа-5 символов в одном ряду.
35K
28 марта 2008 года
Sild
15 / / 28.03.2008
зы вопросы в одной теме т.к. у мне они нужны для одной программы.
274
28 марта 2008 года
Lone Wolf
1.3K / / 26.11.2006
1. перывй и второй прервут свои циклы, третий нет - так как стоит вне цикла. Если же поставит begin, то и третий прервет свой цикл
35K
28 марта 2008 года
Sild
15 / / 28.03.2008
эм почему он стоит вне цикла?у меня же из всего 3- i,g,h и break в самом внутреннем из них...
276
28 марта 2008 года
Rebbit
1.1K / / 01.08.2005
Чтоб было понятнее надо код нормально оформлять. Ато даже Волка запутал
Код:
For i:=1 to 100 do
  For g:=1 to 100 do
  begin
    if i>40 and g<95 then
      for h:=2 to 103 do
        if massiv[h]=symbol then
        begin
          break;
          break;
          break;
        end;
[COLOR=red]  end;[/COLOR]
break Прерывает выполнение самого вложеного цыкла и передает управление в место после этого цикла.
Первый break прервет выполнение цыкла по h. Второй и третий никогда не выполнятся.
35K
28 марта 2008 года
Sild
15 / / 28.03.2008
аа,спс
1.9K
28 марта 2008 года
andriano
474 / / 10.01.2008
Ну, собственно, с первым разобрались - если выполнится первый break, то до второго и последующих дело уже не дойдет.
По поводй второго: т.н. искусственный интеллект в играх - достаточно большое и сложное направление. Здесь нельзя раз и навсегда составить алгоритм, который будет хорошо себя вести во всех возможных случаях.
Обычно используют один из нескольких подходов или их объединение:
1. Несколько условных операторов: вычисляется ряд признаков и в зависимости от результата программа идет по тому или иному пути.
2. Аналогично с конечным автоматом.
3. Разрабатывается метод оценки существующей позиции. На основе этого метода оценивается текущая позиция и осуществляется перебор по всем возможным ходам. В каждом случае также производится оценка позиции. Выбирается тот ход, для которого оценка оказалась наивысшей.
4. То же самое, но перебор осуществляется на некоторую глубину.
5. То же самое, но ходы быстро ухушающие оценку отбрасываются, что дает возможность остальные ходы просчитать на большую глубину. Т.е. глубина просчета непостоянна.
35K
28 марта 2008 года
Sild
15 / / 28.03.2008
как ввести коэфицент полезности и на основе чего его высчитывать?В программе ещё должен быть предусмотрено просчитывание ходов на 2 сперед,там как я понимаю рекурсией и по такому же принципу...но сам принцип я не понял=(можно на пальцах как-нить?
1.9K
28 марта 2008 года
andriano
474 / / 10.01.2008
Еще раз повторяю: общего принципа нет - нужно его придумывать самому.
35K
28 марта 2008 года
Sild
15 / / 28.03.2008
так я сопсно и прошу придумать=\
1.9K
28 марта 2008 года
andriano
474 / / 10.01.2008
Правильно ли я понял, что ты хочешь иметь программу, в которой твоими будут только копирайты?
274
28 марта 2008 года
Lone Wolf
1.3K / / 26.11.2006
Цитата: Rebbit
Чтоб было понятнее надо код нормально оформлять. Ато даже Волка запутал .


ага, не заметил я begin в if-е. спасибо, что поправил.

35K
29 марта 2008 года
Sild
15 / / 28.03.2008
Цитата: andriano
Правильно ли я понял, что ты хочешь иметь программу, в которой твоими будут только копирайты?



неправельно,щас в ней пока 150 строк,осталось только сделать ход компа,его проверку на 2 хода вперед,ход игрока против компа и собственно починить саму проверку на выигрышь(пашет сильно не так как надо).Я прошу ход компа.

1.9K
30 марта 2008 года
andriano
474 / / 10.01.2008
Крестики-нолики у тебя на бесконечной доске или 3х3?
Если на бесконечной, то "только" ход компа - это гораздо больше, чем все остальное вместе взятое. Собственно, кто придумает этот алгоритм, - тот и есть настоящий автор программы.
35K
30 марта 2008 года
Sild
15 / / 28.03.2008
если бы было 3*3 всё ограничивалось бы постановкой первого хода по центру=\
на бесконечной,я понимаю что это будет основная часть программы.Мне хотяб алгаритм на пальцах объясните?
1.9K
30 марта 2008 года
andriano
474 / / 10.01.2008
Я, честно говоря, не понимаю твоего подхода.
Одно дело, когда человек, который придумал нечто такое, чего никто никогда ранее не делал, и что может оказаться очень полезным окружающим, стремится довести это новое знание до окружающих.
И совсем другое, когда у человека никаких своих идей нет, но он, тем не менее, что-то хочет написать. И при этом требует, чтобы идеи ему поставляли окружающие.
Если ты хочешь, чтобы кто-то делал для тебя какую-то работу, то надо бы сперва огласить, сколько ты согласен за нее платить.
35K
31 марта 2008 года
Sild
15 / / 28.03.2008
умапалата=\я прошу идею.Давай будем брать по 100 рублей за совет помыть руки перед едой?
я не требую,я прошу.На один вопрос мне ответили,я благодарен.Если ты не хочешь помогать советом-никто тебя уговаривать не станет,не заходи в тему и всё.в чем проблема?
6
31 марта 2008 года
George
4.1K / / 05.01.2007
Вместо тебя вряд ли кто возьмётся придумывать :) Ты уж лучше своими силами :)
35K
31 марта 2008 года
Sild
15 / / 28.03.2008
та я не особо и расчитываю)починю проверку есть ли 5 символов в ряд и начну че-нить писать потихоньку)
35K
14 апреля 2008 года
Sild
15 / / 28.03.2008
закройте плз тему,программа сделана-вопрос исчерпан.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог