программа собеседник... )
Значит у меня есть исходник... я нашел его в интернете...
но толком обяснить как это работает чета не могу... не все я там понимаю...
И вот прошу вас, уважаемые программеры ) помочь мне...
Просто обясните мне как это работает... добавьте подробные комменты к исходнику (можно и не подробные :) )... пожалуйста... очень нужно...
буду очень благодарен за помощь...
А вот и сам исходник...
http://worldofdelphi.narod.ru/ai.txt
Заранее бальшое спасибо!
тебе по строчкам?*)
Цитата: Padsh
тебе по строчкам?*)
да... если не трудно...
спасибо заранее
там проще некуда:создаешь БД,кидаешь в нее словосочетания,которыми и на которые должен отвечать комп,все.
можно сделать еще обучение компа...
Цитата: DarkKnight
исходник не смотрел.
там проще некуда:создаешь БД,кидаешь в нее словосочетания,которыми и на которые должен отвечать комп,все.
можно сделать еще обучение компа...
там проще некуда:создаешь БД,кидаешь в нее словосочетания,которыми и на которые должен отвечать комп,все.
можно сделать еще обучение компа...
Не... что именно делает данная программа я знаю... вообщем...
я хотел бы чтоб ктото... кароче чтоб откоментировать данный исходник...
каждую строчку... вот...
спасибо заранее
вообщето мне это надо для курсавой работы... нужно мне откоментировать почти каждую строку кода...
ктонить, помогите пожалуйста, мне очень нужно...
буду очень благодарен за помощь...
а когда курсовую сдавать?
Нет, так дело непойдет.Я вот что тебе скажу, у меня тоже был курсач, взял книгу за 399 р и прочитал, и все понял.Это лучший метод,а можешь сидеть и ждать помощи
Цитата: DarkKnight
ты лучше выложи здесь исходник )
а когда курсовую сдавать?
а когда курсовую сдавать?
так исходник немного выше... в начале темы... ссылка там.
а курсовик в понедельник здавать надо...
очень прошу помогите ктонить... буду вам очень благодарен...
please )
Ну помогите ктонить... please
[COLOR="Red"]будешь ещё создавать подобные сообщения - закрою тему.[/COLOR]
unit Unit1;
interface
uses
//описание инклудов
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
//типы,процедуры,компоненты...
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Memo1: TMemo;
GroupBox2: TGroupBox;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
type
TKeyWord = record
key,answer : string;
end;
//константа...
const AnswersCount = 310;
//переменные
var
GeneratedFraza : string='';
Answers : array [1..AnswersCount] of TKeyWord;
Dialog : array [1..20] of string;
Hi : array [1..7] of string;
Form1 : TForm1;
implementation
{$R *.dfm}
//функция поиска ответа
function FindAnswer(text : string) : boolean;
var
i,count : integer;
ans : array [0..10] of integer;
begin
count:=0;
for i:=1 to AnswersCount do
begin
if Answers.key=text then
begin
ans[count]:=i;
inc(count);
end;
end;
if count<>0 then
begin
randomize;
result:=true;
GeneratedFraza:='Кибер разум: '+Answers[ans[random(count)]].answer;
end else result:=false;
end;
//хз
procedure LetAnswer(text : string);
var
i, found : integer;
slovo : string;
probel : boolean;
begin
slovo :='';
probel:=false;
found:=0;
for i:=1 to length(text) do
begin
if text=' ' then probel:=true;
if not probel then
begin
slovo:=slovo+text;
if findanswer(lowercase(slovo)) then inc(found);
end else
begin
slovo:=''; probel:=false;
end;
end;
if found=0 then
form1.Memo1.Lines.Add('Кибер разум: '+dialog[random(20)+1]) else
form1.Memo1.Lines.Add(GeneratedFraza);
end;
//создается форма
procedure TForm1.FormCreate(Sender: TObject);
var
s : Tstringlist;
i, a : integer;
f : string;
done : boolean;
begin
if not fileexists(ExtractFilepath(Application.ExeName)+'Mozgi.brain') then
begin
Showmessage('Файл с мозгами "Mozgi.brain" не был найден, без него прога работать не будет.');
Close;
end;
s:=Tstringlist.Create;
s.LoadFromFile(ExtractFilepath(Application.ExeName)+'Mozgi.brain');
for i:=1 to AnswersCount do
begin
f:=lowercase(s.Strings[i-1]);
answers.key:='';
answers.answer:=s.ValueFromIndex[i-1];
done:=false;
for a:=1 to length(f) do
begin
if f[a]='=' then done:=true;
if not done then Answers.key:=Answers.key+f[a];
end;
end;
for i:=1 to 20 do dialog:=s.ValueFromIndex[i+AnswersCount];
for i:=1 to 7 do hi:=s.ValueFromIndex[i+AnswersCount+21];
randomize;
memo1.Lines.Add('Кибер разум: '+hi[1+random(7)]);
end;
//если чето вводят в эдит(вроде)
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_return) and (Edit1.Text<>'') then
begin
Memo1.Lines.Add('Юзер: '+Edit1.Text);
LetAnswer(lowercase(Edit1.Text));
Edit1.Text:='';
end;
end;
end.
но я имел ввиду немного другое... то что ты описал... знает даже моя бабушка... я имел ввиду подробное описание... что, где, куда записывается..., что происходит... в этом смысле...
но все равно спасибо тебе большое за попытку помочь )
Eksell,пожалста.Как я уже писал выше:напиши те коменты,которые можешь,а то все комментировать тоже неохота...!!!!