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&крестики-нолики.
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 символов в одном ряду.
зы вопросы в одной теме т.к. у мне они нужны для одной программы.
1. перывй и второй прервут свои циклы, третий нет - так как стоит вне цикла. Если же поставит begin, то и третий прервет свой цикл
эм почему он стоит вне цикла?у меня же из всего 3- i,g,h и break в самом внутреннем из них...
Код:
Первый break прервет выполнение цыкла по h. Второй и третий никогда не выполнятся.
аа,спс
По поводй второго: т.н. искусственный интеллект в играх - достаточно большое и сложное направление. Здесь нельзя раз и навсегда составить алгоритм, который будет хорошо себя вести во всех возможных случаях.
Обычно используют один из нескольких подходов или их объединение:
1. Несколько условных операторов: вычисляется ряд признаков и в зависимости от результата программа идет по тому или иному пути.
2. Аналогично с конечным автоматом.
3. Разрабатывается метод оценки существующей позиции. На основе этого метода оценивается текущая позиция и осуществляется перебор по всем возможным ходам. В каждом случае также производится оценка позиции. Выбирается тот ход, для которого оценка оказалась наивысшей.
4. То же самое, но перебор осуществляется на некоторую глубину.
5. То же самое, но ходы быстро ухушающие оценку отбрасываются, что дает возможность остальные ходы просчитать на большую глубину. Т.е. глубина просчета непостоянна.
как ввести коэфицент полезности и на основе чего его высчитывать?В программе ещё должен быть предусмотрено просчитывание ходов на 2 сперед,там как я понимаю рекурсией и по такому же принципу...но сам принцип я не понял=(можно на пальцах как-нить?
Еще раз повторяю: общего принципа нет - нужно его придумывать самому.
так я сопсно и прошу придумать=\
Правильно ли я понял, что ты хочешь иметь программу, в которой твоими будут только копирайты?
Цитата: Rebbit
Чтоб было понятнее надо код нормально оформлять. Ато даже Волка запутал .
ага, не заметил я begin в if-е. спасибо, что поправил.
Цитата: andriano
Правильно ли я понял, что ты хочешь иметь программу, в которой твоими будут только копирайты?
неправельно,щас в ней пока 150 строк,осталось только сделать ход компа,его проверку на 2 хода вперед,ход игрока против компа и собственно починить саму проверку на выигрышь(пашет сильно не так как надо).Я прошу ход компа.
Если на бесконечной, то "только" ход компа - это гораздо больше, чем все остальное вместе взятое. Собственно, кто придумает этот алгоритм, - тот и есть настоящий автор программы.
на бесконечной,я понимаю что это будет основная часть программы.Мне хотяб алгаритм на пальцах объясните?
Одно дело, когда человек, который придумал нечто такое, чего никто никогда ранее не делал, и что может оказаться очень полезным окружающим, стремится довести это новое знание до окружающих.
И совсем другое, когда у человека никаких своих идей нет, но он, тем не менее, что-то хочет написать. И при этом требует, чтобы идеи ему поставляли окружающие.
Если ты хочешь, чтобы кто-то делал для тебя какую-то работу, то надо бы сперва огласить, сколько ты согласен за нее платить.
я не требую,я прошу.На один вопрос мне ответили,я благодарен.Если ты не хочешь помогать советом-никто тебя уговаривать не станет,не заходи в тему и всё.в чем проблема?
Вместо тебя вряд ли кто возьмётся придумывать :) Ты уж лучше своими силами :)
та я не особо и расчитываю)починю проверку есть ли 5 символов в ряд и начну че-нить писать потихоньку)
закройте плз тему,программа сделана-вопрос исчерпан.